OpenZwave 1.6 - Zwave2Mqtt - JMQTT

Bonjour à tous,

Récent propriétaire de la sonnette Aeotec Doorbell 6, je suis tombé sur ce post pour pouvoir la faire fonctionner. Tout n’a pas été simple, loin s’en faut, mais grâce à vos interventions je suis enfin parvenu à un résultat. Donc MERCI.

Je n’ai pas la prétention d’avoir une solution hyper aboutie, mais je me permets de partager un peu de mon expérience.

Tout d’abord mon architecture :

  • Serveur Jeedom MASTER sur docker Synology
  • Serveur Jeedom SLAVE sur Raspberry + Razberry (pour controller mes équipements ZWAVE 1.4)
  • Serveur zwave2mqtt sur docker Synology + clé Aeotec Gen5 (pour controller mes équipments ZWAVE 1.6)
  • Serveur mosquitto sur docker Synology (qui sert de broker entre zwave2mqtt et Jeedom Master)
  • Logiciel MQTT.fx sur Windows pour tester mon broker mqtt.

Les fonctions de la doorbell ne sont pas toutes compatibles avec OZW1.4, du coup je me suis rabattu sur la solution zwave2mqtt qui intègre OZW1.6.

Config zwave2mqtt :

image docker : https://registry.hub.docker.com/u/robertslando/zwave2mqtt/

Setting Zwave :


Il faut indiquer ici le port serie usb où se trouve le controlleur (clé zwave gen5)

Setting mqtt :


Il faut indiquer l’ip du broker mosquito et le port (par défaut 1883).

Setting gateway :

Control panel :


C’est ici que vous retrouvez la liste des modules. Vous pouvez les ajouter/supprimer depuis cette interface.


Vous pouvez donner un nom à votre module. Il sera utilisé dans les topics à la place de l’id du module (si vous avez coché l’option dans la config gateway).


Toutes les commandes sont ainsi listées. Vous pouvez activer les commandes d’action par exemple. A côté du nom se trouve le topic mqtt qui vous sera utile pour identifier la commande.

Config mosquito

image docker : https://registry.hub.docker.com/_/eclipse-mosquitto/
Franchement j’ai rien fait. J’ai lancé l’image docker la plus utilisée et j’ai rien eu à configurer, hormi de modifier le port par défaut (1883 en 34883).

Client mosquito

Pour vous familiariser avec mqtt, vous pouvez vérifier que les infos du controlleur zwave sont bien publiées depuis zwave2mqtt vers le broker mosquito grâce à un client mqtt.
Pour cela j’ai utilisé ce logiciel gratuit : mosquito.fx (https://mqttfx.jensd.de/)

image
Vous configurez d’abord la connexion vers le broker mosquito.


Si la connexion est ok, vous scannez tous les topics du broker.
Vous verrez apparaître tous les topics correspondant aux commandes de vos modules. Notez le prefix « Jeedom » configuré préalablement dans l’onglet gateway de zwave2mosquito, ainsi que le nom du module qui est utilisé à la place du module id.


Pour voir la valeur d’une commande, il suffit de souscrire (subscribe) au topic correspondant, et la valeur apparaîtra. Par exemple ici le topic de la commande qui permet de connaître l’état de la sonnette.

image
Valeur initiale, avant appui sur le bouton de la sonnette.

image
Après appui sur le bouton. Une nouveau message est apparu automatiquement pour ce topic.

Congif jeedom
La suite (config jeedom) dans un prochain post (je dois aller chercher mes gosses).

3 « J'aime »

Je suis sûr que depuis 9 jours tes gosses ont compris que tu ne viendrais plus
Super post, merci pour ce retex. Nous tarde la suite :slight_smile:

1 « J'aime »

Hello yukulehe

Je suis entrain de faire des tests sur zwave2mqtt (afin de basculer à terme mon Jeedom dessus via jMQTT)
J’ai installé et configuré Mosquitto Docker + ZWave2Mqtt Docker sur mon syno en suivant divers Tuto et posts.
Mon dongle Controler Zwave est bien vu dans ZWave2Mqtt, et un client MQTT me permet de me connecter au Broker Mosquitto
Quand je vais dans le Control Panel de ZWave2Mqtt, rien ne remonte. Tous les champs sont vides
Je me pose la question de la Lib OpenZwave 1.6. Faut-il l’installer ? si oui comment ? Docker possible ?

Merci

1 « J'aime »

Hello sbik,

La librarie OZW 1.6 est incluse dans l’image docker zwave2mqtt.
Tu indiques que ton controller zwave est bien vu mais je ne le vois pas apparaître dans ta capture d’écran. Tu dois certainement faire référence à la page Setting qui liste les ports series, comme ici :

Je suppose aussi que tu as fait un Heal network dans la page control Panel.

J’ai déjà ce genre de souci après un redémarrage de mon Synology. Le port série de mon stick USB change de port série. Après l’avoir reconfigurer dans le setting de zwave2mqtt, un simple redémarrage du container suffit.
Néanmoins, le problème peut être tout autre. Est-ce que ton controlleur est déjà associé à des modules ?

Yukulehe

Effectivement, ça fait un bail que je les ai abandonné maintenant, les services sociaux ont dû prendre le relais :grinning:

Désolé, pour le retard. Je voulais finaliser la bonne façon d’exploiter ma doorbell avant de poster, mais ça prend du temps avant d’avoir un système d’alarme from scratch.

Voici un exemple de config de Jeedom avec le plugin jmqtt.

image
On ajout un broker correspondant au serveur mosquito (le broker). Attention, il ne s’agit pas ici du serveur zwave2mqtt.


Vous donnez un petit nom. Notez que je n’ai pas coché la case « Ajout automatique des commandes ». Pour la simple raison qu’elles sont beaucoup trop nombreuses (j’ai fait le choix de ne sélectionner que celles dont j’ai besoin) et que j’utilise un autre équipement pour faire des regroupements de commandes.


Vous indiquez l’IP et le port broker.


Ici, vous trouverez la commande qui renvoie le status de la connexion avec le broker.

Ensuite, vous pouvez créer autant d’équipements que vous souhaitez. Dans mon cas, j’ai un équipement « Sonette » pour la fonction éponyme de la doorbell, et un équipement « Sirène » pour utiliser la doorbell comme sirène d’alerte (intrusion, incendie, innondation, etc.).

image

Exemple pour la sonette :


L’important c’est de bien indiquer le topic du broker. Vous pouvez utiliser des caractères de remplacements pour viser plusieurs topics.


Ensuite vous configurez une par une les commandes info que vous souhaitez en indiquant bien le nom du topic associé.
Pour les commandes action, c’est un peu plus tricky, mais ça fonctionne avec un « set » en faisant référence à la commande info associée.

image
Dans le dashboard, voici ce que ça donne.

Yukulehe

1 « J'aime »

Hello

Oui mon controleur zwave possède déjà des modules configurés (réalisé via le Plugin Zwave de Jeedom)
Pour info j’ai finalement réussi hier soir à voir remonter mes infos dans le docker.
En fait le port zwave2Mqtt par défaut que donne Synology n’est pas 8091 mais 32767 (ou un truc comme ça). Je l’ai forcé à 8091 et suite à cela tout s’est mis à fonctionner
Je pense que le problème venait de là.
Merci pour ton message tout de même

Tant mieux Sbik,

Si je comprends, t’as dû laisser l’option port automatique de redirection vers le port 8091 du container. Du coup, à chaque redemerrage du container, ce port peut changer.
Il faut donc le forcer comme tu l’as fait, et comme je l’ai fais ici :
image

Yukulehe

oui apparement c’est ça

@yukulehe
Hello Yukulehe
En suivant tes indications, j’ai enfin pu remonter en Zwave2Mqtt le status d’un prise Fibaro + pilotage On/Off. ==> Un grand merci pour la procédure pas à pas
C’est quand même pas super simple, mais c’est faisable
Maintenant la question que je me pose est : Est-ce que je franchi le pas plugin Zwave → jMQTT + Zwave2Mqtt + Broker sur toute ma domotique.
Si je le fais ça va être lonnnng…donc je souhaite être certain du bénéfice

J’ai donc besoin de ton avis.

  • Est-ce vraiment plus stable et plus performant qu’avec le Plugin Zwave ?
  • A combien as tu positionnes le QoS ? 1 ou 2 ==> Est-ce que 2 ralenti les échanges ?

Note : Avec le Plugin j’avais parfois des Etats qui ne correspondaient pas vraiment au vrai status du module Zwave, donc un QoS devrait permettre de garantir la véracité de l’info

Petite question également :

  • Dans jMQTT est-ce vraiment nécessaire de créer des commandes sous le Broker (ex: Etat de ma prise Fibaro 37/1/0 ? Sachant qu’il va falloir de toute façon les créer sous l’équipement.

Salut sbik,

Ravi d’avoir pu aider.

Hélas, je n’ai pas suffisamment de recul pour te donner un avis tranché sur les questions (pertinentes) que tu te poses. Je pense que tu es au même stade que moi.

Pour l’instant, je vois cette solution comme une solution de contournement pour pouvoir faire fonctionner nos modules qui ne sont pas compatibles pas avec le plug-in officiel jeedom. Car mine de rien, ces petits modules coûtent bonbon et ça fait ch… de ne pas pouvoir s’en servir.

Comme tu l’indiques, la solution mqtt est fastidieuse pour la création des commandes. Toutefois elle a l’avantage in fine de te permettre de bien comprendre et de maîtriser l’ensemble des possibilités du module.

Je ne peux imaginer que Jeedom ne sorte pas à terme un plug-in compatible OZW 1.6. Faut juste être patient.

Pour la stabilité, je n’ai pas assez de recul. Mais pour l’instant je n’ai pas eu à me plaindre. Un QOS à 1 me paraît suffisant en termes de fiabilité. Un QOS à 2 va forcément ralentir les échanges.

En bref, je déconseille de migrer tous les modules qui fonctionnent déjà très bien avec le plugin officiel. Ce dernier ayant été pleinement éprouver par la communauté. Zwave2mqtt est une solution complémentaire pour les autres modules.
Par contre, si t’es un warrior du code et que tu veux tout maîtriser tout de A à Z, la solution zwave2mqtt est faite pour toi.

Concernant ta question sur les commandes du broker, non ce n’est pas nécessaire. D’ailleurs, je ne sais pas trop à quoi ça sert de le faire dans le broker alors que ça fait davantage de sens de créer les commandes dans des équipements dédiés.

Yukulehe

Merci pour ton retour @yukulehe

@m4dm4rtig4n
A priori tu est passé aussi sur ZWave2Mqtt
Ton retour d’expérience semble positif, mais peux-tu confirmer si on gagne vraiment en stabilité et Performance (en comparaison du Plugin Zawave). Je ne me suis pas encore décidé à tout basuler donc les avis sont les bienvenus…

Je te le confirme :wink:
J’ai basculer la totalité de mes protocoles en mqtt personnellement.

et alors, ton avis final : est-ce bien plus stable et performant que via le Plugin Jeedom Zwave 1.5 ?
Combien de module as tu basculé ?
Qu’est-ce qui ta poussé à le faire ?

Openzwave 1.4 tu veut dire plutôt non ?
J’avais énormément de soucis avec la lib zwave de jeedom, certain module ne recevez pas les commandes par moment, ou j’avais de grosse latence…

Sinon mon avis final et que :

  • Bcp plus stable
  • Une vrai ihm de gestion zwave avec du début
  • Plus performant
  • Une version d’openzwave avec du support (1.4 n’est plus supporté)
  • Plus de dépendance avec jeedom

Bref que du positif !
J’ai migrer la totalité des mes protocoles sur MQTT depuis (zwave, d’océan, wifi, bluetooth,…).

J’ai également quitter jeedom pour basculer sur Home Assistant + Node-Red et MQTT m’a grandement aider pour la migration.

Bref voilà :wink:

PS : Quand aux personnes qui ce demande pk jeedom ne bascule par sur openzwave 1.6, c’est probablement parce que c’est pas si simple, perso j’ai dû reinclure la totalité de mes modules après le passage en openzwave 1.6 …
Et avec l’ouverture du protocole, une nouvelle lib devrait naître…

Oui 1.4 pardon
Merci pour ton retour d"experience

J’ai essayé aussi HA + NodeRed ==> NodeRed top pour les scenario, mais Lovelace c’est vraiment limité au niveau graphisme vs Design Jeedom.
J’ai par exemple dans jeedom une Enveloppe (qui change de couleur) quand le facteur passe. Sous Jeedom je peux la mettre où je souhaite dans ma page. Sous Lovelace, l’image est énorme. Pour la diminuer il faut faire un Stack-Horizontal et mettre 3 ou 4 cards dedans… j’ai cherché de partout dans les forum mais impossible de trouver une solution de resize. Bof bof…
Ensuite côté stabilité je pensais avoir trouvé un système sans faille ==> J’ai remonté mes infos Xiaomi Gateway dans la version HA 0.111 et j’ai ensuite fait la dernière mise à jour 0.112 et là… Xiami ne fonctionne plus… avant de trouver la raison j’ai du lire de nombreux forum
Par contre point positif, j’adore l"interface d’utilisation et l’Enorme communauté

Sous HA, en effet obligation de passer sous Zwave2Mqtt car comme on doit redemarrer HA a chaque modofication, le redemarrage avec Zawe intégré doit être très long. Avoir le Zwave dans un moteur Independant est un MUST donc

Su HA tu peut custom l’IHM via des plugins que tu va trouver sur HACS.

Après perso, les designs je m’en sert uniquement pour ma tablette et depuis mon passage à HA, j’utilise l’application HomeHabit.

Voici une vidéo que j’avais faite au début de l’affichage que j’ai sur tablette :

Je sais que ça n’a rien à voir avec Jeedom, je vais donc fermer ce post après ta réponse, mais peux-tu m’aider pour remonter une donnée de mon Mosquitto dans HA (Pour info, Zwave2Mqtt remonte bien l’etat de ma prise WallPlug Zwave dans Mosquitto)

J’ai ajouté à l’intégration HA le module MQTT
J’ai redémarré le server
J’ai ensuite ajouté dans le fichier configuration.yaml les lignes suivantes (en bas de ce post) + redémarre le server de nouveau
J’ai ensuite ajouté une Card (Button) et une card (entity) dans Lovelace et j’ai sélectionné dedans l’entité « Seche serviette »
J’ai bien OFF qui s’affiche mais si je pilote localement ma WallPlug, le status ne change pas dans la card Entity et si j’appuie sur le bouton dans la card Button LoveLace la prise ne change pas d’État

Pour info j’ai fait un test via MQTT du menu DevelopperTools et quand j’ajoute :jeedom/SDB_Parents/Seche_Serviette_SDB_Parents/37/1/0 dans ListenATopic, alors j’ai bien l’etat de la prise qui change à chaque appui sur le bouton de la prise.
Ai-je raté quelque chose ?
Merci

mqtt:
  broker: 192.168.0.100

sensor:
  - platform: mqtt
    state_topic: 'jeedom/SDB_Parents/Seche_Serviette_SDB_Parents/37/1/0'
    name: 'Seche Serviettes'

Regarde du côté des payload_on et payload_off.
Il faut que tu renseignes l’état qui signifie on et off.

Hello
Je continue ma bascule du plugin Zwave 1.4 à Zwave2MQTT 1.6 (Docker) + Mosquitto + jMQTT
Dans l’ensemble ça se passe pas trop mal, mais là je galère ce soir pour faire fonctionner un Oeil Fibaro FGBS-001. Il est correctement reconnu et configuré, mais la detection de mouvement ne fait pas changer la valeur « Sensor » (48-1-0), elle reste toujours à ‹ True ›. Par contre la valeur « Home Security » (113-1-7) quant à elle change bien de status lors d’une détection de mouvement (passe de ‹ Clear › → ‹ Motion Detected at Unknown Location ›).
Ce phénomène est directement visible dans le Control Panel de Zwave2Mqtt , ce n’est donc pas un probleme de configuration jMQTT.

Est-ce que l’un d’entre vous aurait un idée ?
Merci

Je viens de vérifier chez moi, j’utilise bien le 48/1/0 et ça fonctionne.

Peut-être voir la config de détection de mouvement dans l’oeil.