Forum Francophone Home Assistant

Control d'humidité d'un bac à fleur

Bonjours vous tous, je suis Eddy de Gatineau au Québec et je suis débutant
Mon environnement:
Pi 4 4go
Ha à jours
espHome pour programmer un esp32
un relay
ads1115 dont je fait varier la tention d’entré par un potentiometre

et quand ce sera fonctionnel je remplacerai le potentiometre par 
    un capteur d'humidité fabriqué maison(2 clous en acier inox avec 
    une résistance de 10k)

j’essaie de contrôler l’humidité d’un bac a fleur et c’est toute une histoire d’y réussir…
bref j’ai programmé un esp32 avec ce qui suit
espHome:

#***************************************************************************
#************************ cela fonctionne bien ****************************
#***************************************************************************
output:
- platform: gpio
pin: 5
id: ‹ generic_out ›
switch:
- platform: output
name: « Relay bac_1 »
output: ‹ generic_out ›

i2c:
  sda: 21
  scl: 22
  scan: True
  id: bus_a
    
ads1115:
  - address: 0x48
sensor:
  - platform: ads1115
    multiplexer: 'A0_GND'
    gain: 6.144
    name: "ADS1115 Channel A0-GND"
    id: bac_h1

#***************************************************************************
#********** le dialogue s’effectue bien entre lovelace et le esp32 ********
#***************************************************************************

et voilà le problème de ma tentative d’automatisation
j’ai essayé toute sorte de chose et rien n’y fait

#***************************************************************************
#******************* Aroser-b1 ********************************************
#***************************************************************************
- id: ‹ 1621844711846 ›
alias: Aroser-b1
description: ‹  ›
trigger:
- platform: numeric_state
entity_id: sensor.ads1115_channel_a0_gnd
#**********************************************************************
#* en dessous de 2 je veux activer le relay_bac_1 *****************
#**********************************************************************

    below: '2'
  condition:
  - condition: device
    type: is_off
    device_id: f3a06bb50ffad9a97d0e517980670f73
    entity_id: switch.relay_bac_1
    domain: switch
  action:
  - type: turn_on
    device_id: f3a06bb50ffad9a97d0e517980670f73
    entity_id: switch.relay_bac_1
    domain: switch
  mode: single
#***************************************************************************
#******************* Aroser-b1 (Dupliquer)********************************
#***************************************************************************

- id: '1621844836923'
  alias: Aroser-b1 (Dupliquer)
  description: ''
  trigger:
  - type: value
    platform: device
    device_id: f3a06bb50ffad9a97d0e517980670f73
    entity_id: sensor.ads1115_channel_a0_gnd
    domain: sensor

#**********************************************************************
#* au dessus de 3 je veux déactiver le relay_bac_1 **********************
#**********************************************************************

    above: 3
  condition:
  - condition: device
    type: is_on
    device_id: f3a06bb50ffad9a97d0e517980670f73
    entity_id: switch.relay_bac_1
    domain: switch
  action:
  - type: turn_off
    device_id: f3a06bb50ffad9a97d0e517980670f73
    entity_id: switch.relay_bac_1
    domain: switch
  mode: single

#***************************************************************************
#* je n’arrive pas à comprendre pourquoi c’est ci compliqué …
#* en c++, en python ou avec Visual foxpro je ferais en un clin d’oeuil
#***************************************************************************

Bonjour
Je pense que tu devrais mettre
Triggers state
sensor.ads1115_channel_a0_gnd
Après action
Choix 1
sensor.ads1115_channel_a0_gnd==2
Appeler le service turn Switch on
Switch arroser 1
Choix 2
sensor.ads1115_channel_a0_gnd== 3
Appeler le service Switch turn off
Switch arroser 1

description: ''
mode: single
trigger:
  - platform: state
    entity_id: sensor.ads1115_channel_a0_gnd
condition: []
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: sensor.ads1115_channel_a0_gnd
            state: '2'
        sequence:
          - service: switch.turn_on
            target:
              entity_id: switch.relay_bac_1
      - conditions:
          - condition: state
            entity_id: sensor.ads1115_channel_a0_gnd
            state: '3'
        sequence:
          - service: switch.turn_off
            target:
              entity_id: switch.relay_bac_1
    default: []

sensor.ads1115_channel_a0_gnd<2

parce qu’en bas de 30% je veux humidifier le bac

on peu faire cela

merci pour cette rapidité éclair

Oui je pense que c’est possible, sinon ce sera un Template dans la condition.
essaye dans l’outil de développement.
ou below peut avec des sensor de température ca se fait donc , no souci .

  action:
  - choose:
    - conditions:
      - condition: numeric_state
        entity_id: sensor.ads1115_channel_a0_gnd
        below: '2'

peut pas mettre ‹ 2 ›
ca prend un float

As tu essayé dans l’outil de développement {{states.('sensor.ads1115_channel_a0_gnd)}}
As tu vue que ce n’est plus l’état que j’interroge mais le numérique state

Après si j’ai bien compris t’as un esp pourquoi ne pas gérer le tout dans l’esp
Regarde par là c’est un peu la même idée


Stefan

sorry je n’arrive pas à mettre en place ta solution

merci de ton aide mes ca ne fonctionne pas

description: ''
mode: single
trigger:
  - platform: numeric_state
    entity_id: sensor.ads1115_channel_a0_gnd
condition: []
action:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.ads1115_channel_a0_gnd
            below: 2
        sequence:
          - service: switch.turn_on
            target:
              entity_id: switch.relay_bac_1
      - conditions:
          - condition: numeric_state
            entity_id: sensor.ads1115_channel_a0_gnd
            above: 3
        sequence:
          - service: switch.turn_off
            target:
              entity_id: switch.relay_bac_1
    default: []

j’ai essayé ‹ 2 › ou 2 de meme pour 3
rien y fait

Essayé de mettre ton texté en preformaté </>

attention aux majuscule en haut ADS115
dans ton prog ads115
pareil pour relais en haut Relais
dans ton prog relais
stefan
je pense que c’est juste de la syntaxe donc attention majuscule et pas d’espace des tiret bas _

description: ''
mode: single
trigger:
  - platform: numeric_state
    entity_id: sensor.ADS1115_Channel A0-GND
condition: []
action:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.ADS1115_Channel A0-GND
            below: '2'
        sequence:
          - service: switch.turn_on
            target:
              entity_id: switch.Relay_bac_1
      - conditions:
          - condition: numeric_state
            entity_id: ADS1115_Channel A0-GND
            above: '3'
        sequence:
          - service: switch.turn_off
            target:
              entity_id: switch.Relay_bac_1
    default: []

après avoir changé dans ton esp les espaces par des tirets bas .
et bien sure recharger le tout

effectivement j’ai réinstallé HA, reconfiguré le tout et là sans comprendre pourquoi … plus d’espace plus de lettre majuscule…

la ca fonctionne bien

1 J'aime