Bouton fonctionnel, après quelques heures de recherches et essais ! 
Je met le template et les scripts pour besoin du prochain ci-dessous.
Nouvelle question : ce pilotage fonctionne très bien en full HA. Cependant, j’ai un interrupteur qui permet le forçage manuel.
Cet interrupteur est branché sur le switch S1 du DUAL3R de Sonoff.
Ce switch lorsqu’il est activé bascule la grande vitesse dans son autre position.
Actuellement, j’ai donc créé des automations pour détecter ce basculement sur la grande vitesse pour désactiver/réactiver la petite vitesse (pour ne pas me retrouver avec la Grande vitesse et la Petite vitesse activées en même temps).
Comme je ne modifie pas la valeur de vmc_percentage, alors je sais aussi revenir dans la position précédente via mon automations.
Par contre, comme ces automations ne changent pas vmc_percentage (afin de revenir à la bonne position lorsque l’interrupteur est désactivé), alors la tuile garde l’image Petite vitesse si j’ai forcé la Grande vitesse via l’interrupteur.
J’ai pensé créer une nouvelle entité vmc_forcage qui prendrai la valeur 1 lors de l’activation de l’interrupteur. Ainsi je pourrai ajouter un libellé « Forçage VMC » sur la tuile pour afficher une discordance entre mon template et l’état réel de la Vmc.
Est-ce la bonne voie ou je me complique la vie à coupler des automations et des scripts ?
- Ajouter le template dans le fichier configuration .yaml :
fan:
- platform: template
fans:
vmc:
friendly_name: "VMC"
unique_id: e244c3b5-0db9-4737-8486-4bf30540c288
value_template: "{{ states('input_boolean.vmc_state') }}"
percentage_template: "{{ states('input_number.vmc_percentage') }}"
turn_on:
- service: script.vmc_1
- service: input_boolean.turn_on
target:
entity_id: input_boolean.vmc_state
turn_off:
- service: script.vmc_0
- service: input_boolean.turn_off
target:
entity_id: input_boolean.vmc_state
set_percentage:
- service: script.vmc_set_speed
data:
percentage: "{{ percentage }}"
speed_count: 2
- Créer les entités suivantes :
input_boolean.vmc_state
input_number.vmc_percentage
- Créer les scripts (on / off / réglage vitesse). De mon côté, je les ai créé via l’UI.
vmc_0:
alias: Vmc_0
sequence:
- type: turn_off
device_id: 9762bee1f344319ee1dce7af86f499b5
entity_id: 4c2abe3dbb98ce8ca98dd5c05d6cfa18
domain: fan
- type: turn_off
device_id: 9762bee1f344319ee1dce7af86f499b5
entity_id: f3f0c108c22d0197b8778e0a712d349f
domain: fan
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.vmc_state
- action: input_number.set_value
metadata: {}
data:
value: 0
target:
entity_id: input_number.vmc_percentage
description: ''
vmc_1:
alias: vmc_1
sequence:
- type: turn_on
device_id: 9762bee1f344319ee1dce7af86f499b5
entity_id: f3f0c108c22d0197b8778e0a712d349f
domain: fan
- type: turn_off
device_id: 9762bee1f344319ee1dce7af86f499b5
entity_id: 4c2abe3dbb98ce8ca98dd5c05d6cfa18
domain: fan
- action: input_number.set_value
metadata: {}
data:
value: 50
target:
entity_id: input_number.vmc_percentage
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.vmc_state
description: ''
vmc_2:
alias: vmc_2
sequence:
- type: turn_off
device_id: 9762bee1f344319ee1dce7af86f499b5
entity_id: f3f0c108c22d0197b8778e0a712d349f
domain: fan
- type: turn_on
device_id: 9762bee1f344319ee1dce7af86f499b5
entity_id: 4c2abe3dbb98ce8ca98dd5c05d6cfa18
domain: fan
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.vmc_state
- action: input_number.set_value
metadata: {}
data:
value: 100
target:
entity_id: input_number.vmc_percentage
description: ''
vmc_set_speed:
alias: vmc_set_speed
sequence:
- action: input_number.set_value
metadata: {}
data:
value: '{{ percentage }}'
target:
entity_id: input_number.vmc_percentage
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 100
- choose:
- conditions:
- condition: state
entity_id: input_number.vmc_percentage
state: '50.0'
sequence:
- action: script.vmc_1
metadata: {}
data: {}
- conditions:
- condition: state
entity_id: input_number.vmc_percentage
state: '100.0'
sequence:
- action: script.vmc_2
metadata: {}
data: {}
- conditions:
- condition: state
entity_id: input_number.vmc_percentage
state: '0.0'
sequence:
- action: script.vmc_0
metadata: {}
data: {}
description: ''