Volet roulant, code pour paramétrage du temps

Bonjours,
Dans ESPhome est il possible de créer un « number » ou une variable pour les « duration » et de l’utiliser dans le paramétrage du volet roulant depuis le Dashboard ?
remplacer « seconds : 12 » par une variable ?

cover:
  - platform: time_based
    device_class: shutter
    name: "Volet_1"
    id: Volet_1

    open_action:
      - switch.turn_on: SORTIE0
    open_duration: 
      seconds: 12
    close_action:
      - switch.turn_on: SORTIE1
    close_duration: 
      seconds: 12
    stop_action:
      - switch.turn_off: SORTIE0
      - switch.turn_off: SORTIE1

Salut,
Tu as jeté un oeil à la doc Configuration Types — ESPHome ? Et lu la partie substitution par exemple ?

Je viens de regarder mais pas tout compris.
si je crée un mumber :

number:
  - platform: template
    max_value: 30
    name: 'Op_duration'
    optimistic: true
    min_value: 5
    step: 1

après comment je fais pour le substitution ?

substitutions:    
  Op_sec: 'Op_duration'

et pour l’utiliser ?

cover:
  - platform: time_based
    device_class: shutter
    name: "Volet_1"
    id: Volet_1

    open_action:
      - switch.turn_on: SORTIE0
    open_duration: 
      seconds: $Op_sec

c’est pas si simple :disappointed_relieved:
image

C’est pas exactement comme ça que je voyais le truc… Mais plutot

substitutions:    
  Op_sec: '12'

et

cover:
  - platform: time_based
    device_class: shutter
    name: "Volet_1"
    id: Volet_1

    open_action:
      - switch.turn_on: SORTIE0
    open_duration: 
      seconds: $Op_sec

La question que je me pose c’est : as-tu vraiment besoin de faire varier ce nombre (dans ton exemple c’est 12, dans ton number un range de 5 à 30) ?
On est bien d’accord qu’en dehors de la phase de mise au point ce nombre qui détermine le temps de montée/descente ne varie plus ?
Indirectement, avec ton idée, il faut voir si au redémarrage electrique, la valeur est conservée (perso j’ai un gros doute)

Oui c’est ça, mais le jour ou je vais installer mes volets ils sont tous différents, je voudrais faire les réglages depuis mon PC sans retoucher le code.

Bof …
Dans ce cas, tu recompiles et tu flashes avec une nouvelle valeur par volet
As-tu vu ça aussi ?

Oui c’est sur que je me complique peut être la vie pour des valeurs que je n’utilise qu’ne fois.

Avec la substitution, tu peux rendre le code générique :

  • une valeur pour la montée,
  • une valeur pour la descente,
  • une valeur pour le petit nom de ton volet,

Et le reste du code est rigoureusement le même partout.
Copie/colle du bloc, remplacement des valeurs spécifiques en haut du fichier, flash et point barre

1 « J'aime »

Merci, je vais me pencher sur le sujet.

je continue à tester, mais toujours pas trouvé la solution pour passer ma variable dans cover :

number:
  - platform: template
    name: "open_duration_V1"
    max_value: 30
    min_value: 5
    initial_value: 15
    step: 1
    optimistic: True

puis dans cover

    open_action:
      - switch.turn_on: SORTIE0
    open_duration: lambda: lambda x: x["open_duration_V1"]

ou

      - switch.turn_on: SORTIE0
    open_duration: {{ open_duration_V2 | default(15) }}    

au final j’ai toujours ;

Invalid key "{'open_duration_V2 | default(15)': None}" (not hashable)
  in "/config/esphome/wroom.yaml", line 158, column 21