Esphome select component

Mon problème

Bonjour,

Je cherche à piloter 2 gpio d’un ESP en fonction de l’état d’un « select component » dans ESPhome. Dans l’idée je voudrais que :

si option1 : gpio 1 =0 et gpio 2 = 0
si option2 : gpio 1=0 et gpio 2 = 1
...

Je pensais utiliser la fonction on_value, mais je ne comprend pas comment elle s’utilise.

Pourriez vous m’aider sur le sujet svp?

Merci d’avance

Bonjour à tous,

En farfouillant un peu sur le site esphome, j’ai trouvé des infos mais je ne m’en sort pas… Je n’ai pas d’erreur apparent mais je n’arrive à compiler…

Pourriez vous m’aider svp ?

Voici mon code :

output:
  - platform: gpio
    pin: D1
    id: gpio1_output
  - platform: gpio
    pin: D2
    id: gpio2_output

select:
  - platform: template
    name: "Mode de Chauffage"
    options:
      - "Off"
      - "HG"
      - "Eco"
      - "Confort"
    id: mode_de_chauffage
    initial_option: "Confort"
    optimistic: true    
    set_action:
      - logger.log:
          format: "Chosen option: %s"
          args: ["x.c_str()"]
    on_value:
      then:
        - if:
            condition: 
              lambda: "return id(mode_de_chauffage).state == 'Off';"
            then:
              - output.turn_off: gpio1_output

A priori c’est la partie avec le lambda qui pose soucis. Quand je la commente, ça compile. Pourtant, ça ressemble beaucoup à ce qu’on trouve dans la doc…

on_...:
  then:
    - if:
        condition:
          lambda: 'return id(some_sensor).state < 30;'
        then:
          - logger.log: "The sensor value is below 30!"
          - light.turn_on: my_light
          - delay: 5s
        else:
          - logger.log: "The sensor value is above 30!"
    - light.turn_off: my_light

la il manque beaucoup de ligne de code
Quel type esp ?
comment tu code ?

sérieux , comment voulez vous qu’on vous aide avec un tiers des infos !

Merci pour le retour. Le reste du code étant les infos de connexions, ota et api, je ne vois pas bien en quoi c’est important ici…

Comme évoqué, l’erreur se situe dans le lambda, en inversant les ’ ’ et les " " ça à solutionner le problème et ça compile. Par contre, je n’arrive pas à enchainer plusieurs if et je ne vois pas de manière de faire un else if dans la doc esphome. Il n’est fait mention que de else…

Comment faire pour gérer les 4 critères ?