J’ai remarqué également que mon périphérique : Switch_SDB_Haut n’était pas visible dans la section : Aperçu , comme tous mes autres perifs ZigBee.
J’ai aussi acheté un autre Interrupteur de marque Aqua bien detecté etc … mais meme problème … Il y a surement un mode special pour les interrupteurs / switchs que je ne connais pas
Si vous avez de bonnes idées merci d’avance.
Et meilleurs veux 2025 à ceux qui lirons ce « sujet »
Bon, voici un BluePrint qui devrait fonctionner comme ceci (pour le debug):
1 appui : VMC on pour 10 secondes
2 appuis : VMC on pour 30 secondes
appui long : Stop VMC
Actuellement, cela fonctionne comme cela:
Si j’appuie 2 fois je part pour 30 secondes mais si je fais un appui long pendent la période de 30 sec ça ne s’arrête pas.
Si la VMC est déjà démarré par un autre moyen et que je fais un appui long: la VMC s’arrète bien.
Si j’appui 1 fois et que dans la periode de 10 secondes je fais un double appui, je ne relance pas le decompte pour 30 secondes. Il faut attendre la fin des 10 sec pour qu’une autre action soit entreprise.
En bref avec le code suivant, on arrive bien à faire faire des actions suivant les 3 combinaisons possibles (simple , double , long) mais il faut que l’action démarrée se termine pour pouvoir en lancer une autre.
blueprint:
name: "Contrôle VMC avec bouton SDB via MQTT"
description: "Contrôle de la VMC selon les différents types d'appuis sur le bouton de la salle de bain"
domain: automation
input:
button_friendly_name:
name: Nom du bouton dans Zigbee2MQTT
description: Entrez le friendly name du bouton dans Zigbee2MQTT
default: Bouton_SDB_Haut
vmc_switch:
name: Interrupteur VMC
description: Sélectionnez l'interrupteur qui contrôle la VMC
selector:
entity:
domain: switch
default: switch.disjoncteur_vmc_maison
trigger:
- platform: mqtt
topic: "zigbee2mqtt/Bouton_SDB_Haut/action"
action:
- variables:
action: "{{ trigger.payload }}"
- choose:
- conditions:
- condition: template
value_template: "{{ action == 'single' }}"
sequence:
- service: logbook.log
data:
name: "VMC SDB"
message: "Tentative d'allumage de la VMC pour 10 secondes (appui simple)"
- service: switch.turn_on
target:
entity_id: !input vmc_switch
- delay: "00:00:10"
- service: switch.turn_off
target:
entity_id: !input vmc_switch
- service: logbook.log
data:
name: "VMC SDB"
message: "VMC éteinte après 10 secondes (appui simple)"
- conditions:
- condition: template
value_template: "{{ action == 'double' }}"
sequence:
- service: logbook.log
data:
name: "VMC SDB"
message: "Tentative d'allumage de la VMC pour 30 secondes (double appui)"
- service: switch.turn_on
target:
entity_id: !input vmc_switch
- delay: "00:00:30"
- service: switch.turn_off
target:
entity_id: !input vmc_switch
- service: logbook.log
data:
name: "VMC SDB"
message: "VMC éteinte après 30 secondes (double appui)"
- conditions:
- condition: template
value_template: "{{ action == 'long' }}"
sequence:
- service: logbook.log
data:
name: "VMC SDB"
message: "Tentative d'extinction de la VMC (appui long)"
- service: switch.turn_off
target:
entity_id: !input vmc_switch
- service: logbook.log
data:
name: "VMC SDB"
message: "VMC éteinte après un appui long"
- service: persistent_notification.create
data:
message: "Action détectée: {{ action }}"
Comment faire en sorte de (par exemple) : Lancer la VMC 30 sec (double appui) et l’arréter avant la fin (appui long) ?