Je me suis mis à la domotique depuis quelques mois et je trouve ça aussi passionnant que utile.
J’ai attaqué avec des petits projets assez simple comme de l’automatisation de diffusion d’audio sur mon enceinte ou bien du contrôle de ma TV Android via une télécommande virtuelle basé sur des commandes ADB.
J’ai récemment attaqué un nouveau projet un peu plus complexe : monter un système d’alarme à l’intérieur de ma maison. J’ai fait le choix de prendre des capteurs sans fils c’est beaucoup plus simple à installer. J’ai choisi le protocole Zwave en constatant qu’il était réputé en domotique et surtout qu’il était compatible avec Home Assistant.
J’ai donc commandé un contrôleur usb zwave plus (zwave.me), des capteurs de porte/fenêtre et détecteur de mouvement zwave de neocoolcam (toujours en attente de réception) et vous l’aurez deviné en lisant le titre du topic : la fameuse sirène 6 zwave plus de chez aeotec. Son design, ces 30 différents sons et ces 105 dB m’avait convaincu.
Ayant reçu mon contrôleur USB zwave et ma sirène en premier, j’ai voulu tester son volume max et les différents sons qu’elle possédait mais en faite je ne parviens pas à la commander… La sirène a bien été incluse dans mon réseau zwave, je reçois bien des entités provenant de la sirene du genre binary sensor mais pas moyen de la commander. J’ai essayé de l’inclure avec l’intégration zwave classique de HA puis je l’ai exclu et ré incluse avec OpenZWave pour voir si j’avais plus de fonctionnalité mais même pas.
Un système d’alarme sans sirène d’alarme c’est pas très dissuasif… Si l’un d’entre a une idée je suis preneur.
Sur internet, j’ai vu pas mal de gars ont essayé de la faire fonctionner avec OpenZwave sur HA mais ils avaient l’air de dire qu’il fallait attendre qu’il y plus de développement sur OpenZwave et que la version bêta actuel n’était pas suffisante.
Salut Pépite,
Oui j’avais vu cette conversation. Le truc c’est que je ne comprend pas bien le fonctionnement d’un serveur MQTT je pars de 0… Mais bon j’ai quand même essayé en installant un broker mosquitto sur HA (sans trop comprendre le fonctionnement de ce protocole) j’ai tenté la fameuse commande indiqué mais ça n’a rien donné…
Déjà je ne sais même pas ce que signifie le chemin « OpenZwave/1/command/setvalue » il sort d’où ?
Et le ValueIDKey je ne comprend pas non plus…
MQTT fait le lien entre un appareil et HA. Il fonctionne avec ce qui s’appellent des TOPICS, qui représentent le chemin pour envoyer/recevoir une commande en passant par HA.
OpenZwave/1/command/setvalue est le topic de la siren pour envoyer une commande à la sirène
'{"ValueIDKey":281475167436852,"Value":3}'
ValueIDKey est la valeur de l’entité que tu veux piloter, sonnerie…
Value : la valeur du paramètre de l’entité
Si sonnerie : le value sera « quelle sonnerie » (ringtone) Vive le vent…petit papa noel…
Pour les trouver :
passe par mqtt explorer, que tu relies au mqtt de ton ha (avec ip, utilisateur, mot de passe certainement)
puis dans mqtt explorer :
→ trouve le « NodeId » de ta sirène
→ OpenZwave → 1 → -> instance → 3 → commandclass → 121
→ explore les valeurs
Regarde
Et
Je ne peux pas t’en dire beaucoup plus
je n’utilise pas mqqt, ni openzwave et n’ai pas non plus de Siren Aeotec
Un grand merci pour ton soutien @pepite.
C’est bon je suis parvenu à commander la sirène !
En faite, ce qui m’a posé des difficultés c’est de trouver les ValueIDKey des commandes. Je ne comprenais pas ce qu’était MQTT Explorer, mais en cherchant sur internet, je suis tombé sur le logiciel « MQTT Explorer » pour PC je l’ai donc téléchargé et je me suis connecté à mon broker MQTT hébergé sur hassio.
Ensuite il faut se rendre sur OpenZWave/1/node/3/instance/1/commandclass/121/value et c’est la que se cache les ValueIDKey. J’en ai récupéré 3 pour mes besoins à savoir les 3 commandes suivantes :
Jouer un son,
Modifier le volume,
Choix de la sonnerie par défaut.
Ensuite, il ne reste qu’à utiliser l’une des ValeurIDKey dans une publication MQTT pour lancer une commande vers la sirène.
Par exemple :
Chez moi, cette commande permet de jouer le son n°1 configuré sur la sirène 6.
Une fois toutes les commandes testées, j’ai créé des scripts à l’aide du service mqtt.publish pour les commandes dont j’ai besoin. Et enfin, j’ai créé une carte un plus conviviale pour envoyer des commandes manuelles à la sirène :
Exemple de script pour jouer un son sur la sirène :
alias: Jouer le son n°13 de la sirène
sequence:
- service: mqtt.publish
data:
topic: OpenZWave/1/command/setvalue/
payload: '{"ValueIDKey":281475033219092,"Value":13}'
mode: single
icon: 'mdi:speaker-wireless'
Exemple de script pour modifier le volume de la sirène:
alias: Ajuster le volume de la sirène à 40%
sequence:
- service: mqtt.publish
data:
topic: OpenZWave/1/command/setvalue/
payload: '{"ValueIDKey":562950014124049,"Value":40}'
mode: single
icon: 'mdi:speaker-wireless'
Pour déclencher l’un de ces scripts depuis l’interface Lovelace, il suffit de créer un bouton et d’associer l’action du bouton au script voulu. Je ne suis pas parvenu à copier le code de mon interface de commande de la sirène. Ça ne marche pas le copier/coller… Mais bon avec l’éditeur de l’interface c’est assez simple à mettre en œuvre !
Pour ma part, je ne peux pas te confirmer cela car moi j’ai utilisé les add’ons « OpenZwave » et « Mosquitto Broker » pour faire fonctionner une partie des fonctionnalités de la sirène.
Du coup, je suis en train de migrer mon réseau Zwave vers l’add on ZWAVEJSTOMQTT et l’intégration Z-wave JS. J’ai pas mal avancé et là il me reste que la sirène à faire fonctionner…
Déjà, est-ce que tu utilises un add on ou une integration mosquitto broker pour faire fonctionner ton switch MQTT ou bien c’est ZWAVEJS2MQTT qui fournit le nécessaire ?
Le code switch MQTT que tu as partagé fais quoi exactement au niveau de la sirène ?
As tu développé un switch MQTT pour modifier le volume de la sirène ?
C’est bon j’ai terminé ma migration vers Z-wave JS to MQTT.
Pour tous ceux qui souhaite savoir si la siren 6 AEOTEC est pilotable par HA, je vous confirme que oui !
J’utilise désormais les deux add’ons suivants :
Z-wave JS to MQTT
Mosquitto broker
Avec les deux intégrations suivantes:
Z-Wave JS.
MQTT.
Pour commander la Siren 6, il faut entrer la config de son mosquitto broker dans l’interface de Z-wave JS to MQTT. Pour cela aller dans Setting > et désactiver « disable MQTT gateway ». Puis dans mqtt, entrer la configuration de votre broker MQTT et sauvegarder (/!\ le bouton « Save » n’est visible que sur version ordinateur de l’interface).
Je vous partage mes scripts de commande de la Siren 6 :
/!\ le début du topic (à savoir : prefix/Location/Name/) est à adapter en fonction de votre configuration Z-wave JS to MQTT.
« prefix » c’est le prefix configué dans mqtt de Z-wave JS to MQTT
« Location » c’est la localisation que vous aurez entré à votre Siren 6 dans « control panel » de Z-wave JS to MQTT.
« Name » c’est le nom que vous aurez entré à votre Siren 6 dans « control panel » de Z-wave JS to MQTT.
- Modifier le volume de la sirène à 10%:
alias: Volume 10% de la sirène
sequence:
- service: mqtt.publish
data:
topic: prefix/Location/Name/121/1/defaultVolume/set
payload: '{"value":10} '
mode: single
icon: mdi:volume-low
Le volume est modifiable de 0 à 100%.
- Jouer le son n°17 de la siren 6:
alias: Son n°17 de la sirène
sequence:
- service: mqtt.publish
data:
topic: prefix/Location/Name/121/1/toneId/set
payload: '{"value":17} '
mode: single
icon: mdi:speaker-wireless
La siren 6 possède 30 sons différents. Dans mon cas j’utilise exclusivement le n°17 (alarme).
- Stopper la siren 6 :
alias: Stopper la sirène
sequence:
- service: mqtt.publish
data:
topic: prefix/Location/Name/121/1/toneId/set
payload: '{"value":0} '
mode: single
icon: mdi:speaker-off
Ces 3 fonctionnalités sont suffisantes dans mon cas !
Bonne journée à tous.
En regardant un peu la doc de l’addon Z-wave JS et son intégration je ne pense que se soit possible. L’addon Z-wave JS ne gère pas les interactions avec un serveur MQTT contrairement à l’addon Z-wave JS to MQTT.
Et c’est justement avec des publications MQTT que je parviens à commander la sirène.
De ce que j’en comprend, avec Z-wave JS tu peux seulement faire de la réception d’entités provenant de capteur Z-wave, modifier leur configuration. Mais pas déclencher des commandes…