Domoticz & MQTT

Discuter de tout et de rien, c'est ici
Répondre
dugolf2
Messages : 3
Enregistré le : 10 oct. 2020, 07:58

Domoticz & MQTT

Message par dugolf2 »

Bonjour,

Je ne savais ou poster ce message alors "de tout et de rien" ...

Configuration domotique de test :
- Raspberry modèleB (une vielle mais avec dernier OS Raspbian buster)

- Broker MQTT mosquito

- Domoticz 2020-2 connecté en client MQTT à mosquitto
- Un switch virtuel déclaré "idx = 1"

- Zwave2MQTT V4.0.4 connecté en client MQTT à mosquitto:
- nodejs V11.15.0 en armv6l
- openzwave V1.6.1392
- Dongle ZWave Aeotec ZW090

- Contrôleur zwave neo coolcam
- appli mobile mCamview z+
- prise NAS-WR01ZE (vue par Zwave2Mqtt id 3 On/Off Power Switch)

Comment faire le lien afin de voir l'état de ma prise zwave dans domoticz ?
- Je n'ai pas tout compris,
- Comme les messages MQTT ont des formats différents en Domoticz et Zwave2Mqtt, il doit bien falloir un traducteur quelque part ...

Merci d'avance pour vos commentaires :D ...
P.S. Pas question de mettre Domoticz en contrôleur primaire Zwave bien sur !!!!

dugolf2
Messages : 3
Enregistré le : 10 oct. 2020, 07:58

Re: Domoticz & MQTT

Message par dugolf2 »

J'ai continué à chercher et voilà la solution que j'ai trouvée:
========================
- Configuration de ZWave2Mqtt
========================
-- Prefix : zwave2mqtt
-- Gateway : use node name
=============================
- Installation de node-red (dernière version)
=============================
- Création d'un Flow Domoticz-Out vers Zwave2Mqtt-In afin de commander le switch depuis domotics
-- mqtt-in -> function -> mqtt-out
--- mqtt-in
---- server : Mosquitto (localhost, port 1883)
---- Topic : domoticz/out
--- function
---- var m = JSON.parse(msg.payload);
---- if ( m.idx == 1) {
---- msg.topic = "zwave2mqtt/Maison/Switchzwave/37/1/0/set"
---- if (m.nvalue) {
---- msg.payload = 1
---- } else {
---- msg.payload = 0
---- }
---- return msg;
---- }
---- return null;
--- mqtt-out
---- server : Mosquitto (localhost, port 1883)
---- Topic : ne rien mettre -> c'est la valeur mise dans function qui sera transmise

- Création d'un Flow Zwave2Mqtt-Out vers Domoticz-In afin de répercuter les changements d'état du switch Zwave sur Domoticz
-- mqtt-in -> function - mqtt-out
--- mqtt-in
---- server : Mosquitto (localhost, port 1883)
---- Topic : zwave2mqtt/#
--- function
---- var m = JSON.parse(msg.payload);
---- if (msg.topic == "zwave2mqtt/Maison/Switchzwave/37/1/0") {
---- if (m.value === true) {
---- msg.payload = "{ \"idx\" : 1, \"nvalue\" : 1 }"
---- } else {
---- msg.payload = "{ \"idx\" : 1, \"nvalue\" : 0 }"
---- }
---- return msg;
---- }
---- return null;
--- mqtt-out
---- server : Mosquitto (localhost, port 1883)
---- Topic : ne rien mettre -> c'est la valeur mise dans function qui sera transmise

Voilà, c'est bi-directionnel
- Un changement du switch zwave est répercuté sur domoticz
- Un click sur domoticz change l'état du switch zwave
- Pas de bouclage
Et le controleur zwave et son appli mobile continu de fontionner même sans Domoticz

Répondre