Forum Francophone Home Assistant

Delay variable Esphome

Bonjour,
je viens de me lancer dans la migration de Jeedom vers HA.
Je me bute déjà dans des soucis de logique.

Voilà, je recherche un moyen de faire varier le durée d’une tempo d’un Esphome via un curseur sous HA

Sous HA, j’ai fait un input.number:
consigne_volume_micro: # l’id unique
name: volume_micro # un nom
initial: 2.28 # un état initial
min: 1.5 # une valeur mini
max: 3.5 # une valeur max
step: 0.01 # la valeur d’un interval
unit_of_measurement: ml

Sous mon Esphome:
sensor:

  • platform: homeassistant
    id: micro
    entity_id: input_number.consigne_volume_micro
    • lambda: (id(micro)/0.4833))

switch:

  • platform: gpio
    name: « Relais micro »
    pin: GPIO12
    id: relay
    on_turn_on:
    • delay: id micro
      #- delay: return(()id(micro).state)/0.4833);
    • switch.turn_off: relay

Mais comment faire pour faire varier le temps de fonctionnement mais recherche n’ont rien donnée.
Savez-vous si mon idée est réalisable?
Je vous remercie pour votre patience.

Voici ma solution, elle n’est sans doute pas parfaite mais elle semble être fonctionnelle, le temps me le dira.
# Enable Home Assistant API
api:

ota:
sensor:

  • platform: homeassistant
    id: micro
    entity_id: input_number.consigne_volume_micro

  • platform: homeassistant
    id: macro
    entity_id: input_number.consigne_volume_macro

Example momentary switch entry

binary_sensor:

  • platform: gpio
    pin:
    number: GPIO0
    mode: INPUT_PULLUP
    inverted: True
    name: « Bouton_Injection_micro »
    on_press:

    • switch.toggle: relay
  • platform: gpio
    pin:
    number: GPIO9
    mode: INPUT_PULLUP
    inverted: True
    name: « Bouton_Injection_macro »
    on_press:

    • switch.toggle: relay2

switch:

  • platform: gpio
    name: « Relais micro »
    pin: GPIO12
    id: relay
    on_turn_on:

    • delay: !lambda « return id(micro).state * 483.3; »
    • switch.turn_off: relay
  • platform: gpio
    name: « Relais_macro »
    pin: GPIO5
    id: relay2
    on_turn_on:

    • delay: !lambda « return id(macro).state * 483.3; »
    • switch.turn_off: relay2
1 J'aime