Mqtt local sans authentification user mot de passe

Bonjour à tous,

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 :
Capture d’écran 2023-06-09 à 21.16.25
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 :
Capture d’écran 2023-06-09 à 21.17.55

et si je comprend bien le fonctionnement ça génère les infos dans le configuration.yaml :
Capture d’écran 2023-06-09 à 21.18.38

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

Merci pour votre aide :slight_smile:

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 :

    //$configuration['mqtt']['user'] = $mqtt['user'];
    //$configuration['mqtt']['password'] = $mqtt['password'];
    $configuration['mqtt']['user'] = "";
    $configuration['mqtt']['password'] = "";

Après sauvegarde, le daémon démarre correctement et l’interface z2m est fonctionnelle et dispo.

Tu es sensé utiliser mqtt2 avec jeezigbee, c’est pour cela que les autres n’ont pas le problème, je présume.

Antoine

1 « J'aime »

Salut,

Cette réponse m’aurait bien simplifiée la vie :), mais j’utilise bien le plugin mqtt2(mqtt manager) :



On voit les 2 plugin abonnés, Zwave et Zigbee. Avec cette configuration, l’un fonctionne correctement, l’autre non.

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?

Antoine

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.

Bonsoir,
De mon côté, cela semble fonctionner avec

:

dans authentification.

Salut,
Ah pas mal cette astuce. Je vais tester à L’occasion mais entre temps j’ai mis de côté le plugin jeezigbee pour zigbeelinker.