Je fais quelques tests pour prévoir un passage sur z2m sous Jeezigbee. Je rencontre un stop assez rapide car mon serveur mqtt n’a pas d’authentification (pas d’user / pas de mot de passe).
Le plugin mqtt2 est bien configuré sans authentification :
Et ça fonctionne très bien pour ZwaveJS.
En revanche sous Jeezigbee ça me semble HS comme config ? :
voilà la log du démarrage du daemon :
> zigbee2mqtt@1.31.2 start
> node index.js
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
READ THIS CAREFULLY
Refusing to start because configuration is not valid, found the following errors:
- mqtt/password must be string
If you don't know how to solve this, read https://www.zigbee2mqtt.io/guide/configuration
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Voilà la configuration :
et si je comprend bien le fonctionnement ça génère les infos dans le configuration.yaml :
On voit ici que les champs user et passord son rempli mais incorrecte pour démarrer Z2M.
Pourtant il accepte bien ce cas : Configuration | Zigbee2MQTT
J’ai tenté de modifier le configuration.yaml et retirer les 2 champs user et password, mais la modif est écrasée à chaque fois au lancement du daemon.
Est-ce que ce cas à déjà été identifié ou j’ai loupé quelque chose. j’ai pas trouvé d’info dans la doc ou sur community encore. A part une personne qui semble avoir le même souci mais pas de nouvelle sur le post : Probleme d'installation z2m "" mqtt/password must be string""
Voilà les infos générales :
Version : 4.3.17
Source : default
Branche : V4-stable
Système : diy
version z2m : 2023-05-31 01:02:37
Bonjour à tous,
Je viens de faire un test dans le sens de l’analyse précédente.
J’ai modifié ces lignes dans le fichier z2m.class.php pour forcer le couple user / mdp à une valeur vide :
Etonnant de parametrer en broker distant avec une ip interne. Pourquoi ne pas utiliser l’ip reseau? (Ok en lisant la doc de mqtt2, cela doit permettre de contourner l’obligation d’user et mot de passe, c’est un bricolage vers les ennuies, amha)
Et il faut avoir un utilisateur et password si j’en crois Loic. Voir la doc des plugins, cela doit etre dedans. Perso je ne les utilises pas. Donc c’est anormal que cela fonctionne sous zwavejs actuellement. A moins que jeezigbee se base sur l’adresse 127.0.0.1 pour définir que le broker est local alors que zwavejs se baserait sur la config mqtt2?
Le paramétrage distant vers le Mosquito sur la machine est lié au fait qu’il était installé avant l’arrivée du plugin mqtt2.
En effet pour ne pas utiliser l’authentification c’est la méthode décrite pour que ça fonctionne.
Pour le reste, en par courant quelques fichiers du plugin, Je vois la chose différemment pour ma part.
Jeezigbee / z2m Var récupérer les Infos d’authentification dans le plugin mqtt2. Ce qui est très bien.
Pour le username, si vide il met bien « » dans la conf z2m.
Jusque là tout vas bien.
Parcontre pour le mot de passe, il récupère les info aussi de mqtt2 et la au lieu de mettre « », il met un tilde dans la conf z2m ce qui pose problème.
Bonjour et merci pour cette intervention Fabrice …
Je ne pense pas qu’on soit sur un sujet lié à notre fierté de pourvoir relancer un démon mqtt sans authentification…encore plus sans SSL…
l’idee était tout simplement de pouvoir le démarrer avec la conf basique qui aurait dû fonctionner même non sécurisée. et ce depanage aide bien, sur le moment.
Pour continuer sur les bonnes pratiques…
mdp fort, certificats, ssl activé sur Mqtts, j’imagine que tt le monde fait ça et sur tous les protocoles de nos belles domotiques …
(car toto en mdp et sans ssl… c’est tout autant discutable)
Pour clore ma pensée, Sécurisez (bien) votre domotique !