CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e9a56caf879 eclipse-mosquitto:latest "/docker-entrypoint.…" 5 hours ago Up 2 hours eclipse-mosquitto
0087650424a3 containrrr/watchtower:armhf-latest "/watchtower --clean…" 3 weeks ago Up 2 hours 8080/tcp watchtower
7959384793d9 gladysassistant/gladys:v4-arm "docker-entrypoint.s…" 4 weeks ago Up 2 hours gladys
Et la console de Tasmota dit:
01:02:54 MQT: Attempting connection...
01:02:54 MQT: Connect failed to 192.168.1.55:1883, rc -2. Retry in 10 sec
01:02:55 QPC: Reset
01:03:07 MQT: Attempting connection...
01:03:07 MQT: Connect failed to 192.168.1.55:1883, rc -2. Retry in 20 sec
01:03:28 MQT: Attempting connection...
01:03:28 MQT: Connect failed to 192.168.1.55
1612550948: mosquitto version 2.0.7 starting
1612550948: Config loaded from /mosquitto/config/mosquitto.conf.
1612550948: Starting in local only mode. Connections will only be possible from clients running on this machine.
1612550948: Create a configuration file which defines a listener to allow remote access.
1612550948: Opening ipv4 listen socket on port 1883.
1612550948: Opening ipv6 listen socket on port 1883.
1612550948: mosquitto version 2.0.7 running
1612561344: mosquitto version 2.0.7 terminating
1612561486: mosquitto version 2.0.7 starting
1612561486: Config loaded from /mosquitto/config/mosquitto.conf.
1612561486: Starting in local only mode. Connections will only be possible from clients running on this machine.
1612561486: Create a configuration file which defines a listener to allow remote access.
1612561486: Opening ipv4 listen socket on port 1883.
1612561486: Opening ipv6 listen socket on port 1883.
1612561486: mosquitto version 2.0.7 running
1612562801: mosquitto version 2.0.7 terminating
1612562937: mosquitto version 2.0.7 starting
1612562937: Config loaded from /mosquitto/config/mosquitto.conf.
1612562937: Starting in local only mode. Connections will only be possible from clients running on this machine.
1612562937: Create a configuration file which defines a listener to allow remote access.
1612562937: Opening ipv4 listen socket on port 1883.
1612562937: Opening ipv6 listen socket on port 1883.
1612562937: mosquitto version 2.0.7 running
Pas super intéressant, non?
Sauf si cela vient du ‘local only mode’…
Le log de Gladys au moment de l’exécution du Apt upgrade:
npm ERR! errno 1
npm ERR! gladys-server@ start:prod: `cross-env NODE_ENV=production node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the gladys-server@ start:prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-02-05T21_42_24_248Z-debug.log
> gladys-server@ start:prod /src/server
> cross-env NODE_ENV=production node index.js
Initialising OpenZWave 1.6.1051 binary addon for Node.JS.
OpenZWave Security API is ENABLED
ZWave device db : /usr/local/etc/openzwave
User settings path : /src/server/services/zwave/node_modules/openzwave-shared/build/Release/../../
Option Overrides : --Logging false --ConsoleOutput false --SaveConfiguration true
2021-02-05T22:45:08+0100 <info> service.startAll.js:30 () Service example was manually stopped, so it is ignored at startup
2021-02-05T22:45:08+0100 <info> service.startAll.js:30 () Service philips-hue was manually stopped, so it is ignored at startup
2021-02-05T22:45:08+0100 <info> service.startAll.js:30 () Service xiaomi was manually stopped, so it is ignored at startup
2021-02-05T22:45:08+0100 <info> service.startAll.js:30 () Service zwave was manually stopped, so it is ignored at startup
2021-02-05T22:45:08+0100 <info> service.startAll.js:30 () Service ewelink was manually stopped, so it is ignored at startup
2021-02-05T22:45:08+0100 <info> service.startAll.js:30 () Service tp-link was manually stopped, so it is ignored at startup
2021-02-05T22:45:08+0100 <info> index.js:13 (Object.start) Starting usb service
2021-02-05T22:45:09+0100 <info> connect.js:38 (MqttClient.<anonymous>) Connected to MQTT server mqtt://localhost
2021-02-05T22:45:09+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic gladys/master/#
2021-02-05T22:45:09+0100 <info> index.js:20 (Object.start) Starting Open Weather service
2021-02-05T22:45:09+0100 <info> index.js:19 (Object.start) Starting telegram service
2021-02-05T22:45:09+0100 <info> index.js:15 (Object.start) Starting Bluetooth service
2021-02-05T22:45:10+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic stat/+/+
2021-02-05T22:45:10+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic tele/+/+
2021-02-05T22:45:10+0100 <info> index.js:63 (Server.<anonymous>) Server listening on port 80
2021-02-05T22:54:48+0100 <info> unsubscribe.js:10 (MqttHandler.unsubscribe) Unsubscribing to MQTT topic stat/+/+
2021-02-05T22:54:48+0100 <info> unsubscribe.js:10 (MqttHandler.unsubscribe) Unsubscribing to MQTT topic tele/+/+
2021-02-05T22:54:50+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic stat/+/+
2021-02-05T22:54:50+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic tele/+/+
2021-02-05T22:59:56+0100 <info> unsubscribe.js:10 (MqttHandler.unsubscribe) Unsubscribing to MQTT topic tele/+/+
2021-02-05T22:59:56+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic tele/+/+
2021-02-05T23:00:58+0100 <info> unsubscribe.js:10 (MqttHandler.unsubscribe) Unsubscribing to MQTT topic stat/+/+
2021-02-05T23:00:58+0100 <info> unsubscribe.js:10 (MqttHandler.unsubscribe) Unsubscribing to MQTT topic tele/+/+
2021-02-05T23:01:05+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic stat/+/+
2021-02-05T23:01:05+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic tele/+/+
2021-02-05T23:02:00+0100 <info> unsubscribe.js:10 (MqttHandler.unsubscribe) Unsubscribing to MQTT topic tele/+/+
2021-02-05T23:02:00+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic tele/+/+
2021-02-05T23:06:41+0100 <warn> connect.js:60 (MqttClient.<anonymous>) Disconnected from MQTT server
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! gladys-server@ start:prod: `cross-env NODE_ENV=production node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the gladys-server@ start:prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-02-05T22_06_41_570Z-debug.log
> gladys-server@ start:prod /src/server
> cross-env NODE_ENV=production node index.js
Initialising OpenZWave 1.6.1051 binary addon for Node.JS.
OpenZWave Security API is ENABLED
ZWave device db : /usr/local/etc/openzwave
User settings path : /src/server/services/zwave/node_modules/openzwave-shared/build/Release/../../
Option Overrides : --Logging false --ConsoleOutput false --SaveConfiguration true
2021-02-05T23:09:18+0100 <info> service.startAll.js:30 () Service example was manually stopped, so it is ignored at startup
2021-02-05T23:09:18+0100 <info> service.startAll.js:30 () Service xiaomi was manually stopped, so it is ignored at startup
2021-02-05T23:09:18+0100 <info> service.startAll.js:30 () Service zwave was manually stopped, so it is ignored at startup
2021-02-05T23:09:18+0100 <info> service.startAll.js:30 () Service ewelink was manually stopped, so it is ignored at startup
2021-02-05T23:09:18+0100 <info> service.startAll.js:30 () Service tp-link was manually stopped, so it is ignored at startup
2021-02-05T23:09:18+0100 <info> service.startAll.js:30 () Service philips-hue was manually stopped, so it is ignored at startup
2021-02-05T23:09:18+0100 <info> index.js:13 (Object.start) Starting usb service
2021-02-05T23:09:19+0100 <info> index.js:19 (Object.start) Starting telegram service
2021-02-05T23:09:19+0100 <info> connect.js:38 (MqttClient.<anonymous>) Connected to MQTT server mqtt://localhost
2021-02-05T23:09:19+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic gladys/master/#
2021-02-05T23:09:19+0100 <info> index.js:20 (Object.start) Starting Open Weather service
2021-02-05T23:09:19+0100 <info> index.js:15 (Object.start) Starting Bluetooth service
2021-02-05T23:09:20+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic stat/+/+
2021-02-05T23:09:20+0100 <info> subscribe.js:12 (MqttHandler.subscribe) Subscribing to MQTT topic tele/+/+
2021-02-05T23:09:20+0100 <info> index.js:63 (Server.<anonymous>) Server listening on port 80
Bon, j’ai trouvé une solution mais il y a quelque chose de pas normal.
J’ai installé le broker mosquitto externe (hors docker) et désactivé celui de Gladys.
Tout refonctionne (les périphériques mqtt ne fonctionnaient plus non plus) !
Mais il serait intéressant de savoir si c’est de ma faute ou si ça risque d’arriver à d’autres !
Je peux fournir tous les logs que vous désirez, si vous voulez investiguer
Bah c’est clairement ça, tout ce qui se connecte depuis une autre machine est refusé.
A mon avis c’est une nouvelle option par défaut.
EDIT:
Après un peu de lecture et d’expérimentation de mon côté , j’ai réussi à reproduire.
Il y’a peu une nouvelle option a vue le jour. Bon en fait elle existait déjà mais le comportement par défaut a changer.
Par défaut les conteneurs mosquitto n’écoute que sur localhost.
Pour modifier ce comportement il faut ajouter ça dans la conf mosquitto
Alors…
La commande me renvoie systématiquement un “Permission non accordée”. Je l’ai donc ajouté manuellement.
Mais en plus, je n’arrive plus à désactiver le mosquitto installé
Toujours est-il que ça fonctionne, mais je ne sais pas comment (c’est la philosophie de Gladys, non ? )
Bon, finalement, j’ai réussi à désactiver mon “second” broker et exécuter la commande proposée.
Voici ce que le log issu de docker dit :
1612709888: mosquitto version 2.0.7 starting
1612709888: Config loaded from /mosquitto/config/mosquitto.conf.
1612709888: Opening ipv4 listen socket on port 1883.
1612709888: Opening ipv6 listen socket on port 1883.
1612709888: mosquitto version 2.0.7 running
1612710037: mosquitto version 2.0.7 terminating
1612710038: mosquitto version 2.0.7 starting
1612710038: Config loaded from /mosquitto/config/mosquitto.conf.
1612710038: Opening ipv4 listen socket on port 1883.
1612710038: Opening ipv6 listen socket on port 1883.
1612710038: mosquitto version 2.0.7 running
1612710090: mosquitto version 2.0.7 terminating
1612710157: mosquitto version 2.0.7 starting
1612710157: Config loaded from /mosquitto/config/mosquitto.conf.
1612710157: Opening ipv4 listen socket on port 1883.
1612710157: Opening ipv6 listen socket on port 1883.
1612710157: mosquitto version 2.0.7 running
Super !
Mais en fait, ça ne fonctionne pas. Malgré plusieurs reboot, aucun accès à mes périphériques mqtt
Et pourtant :
Est-ce qu’à terme, cela pose un problème que j’utilise eclipse-mosquitto en tant que service hors de Docker ou je peux sans souci laisser ça comme ça?
Est-ce possible que j’aie une latence qui n’existait pas avant ou suis-je parano?
Bonjour à tous, j’ai les mêmes symptômes: aucune config ou paramètre supplémentaire sur une installation qui marchait bien et plus de comm mqtt sur les radiateurs sonoff. Je suis en Gladys 4.0.8 sur une rasp installée via l’image Gladys Assistant.
Suivant les conseils ci-dessus.
Je me suis connecté en ssh sur la rasp
En utilisant vi, j’ai ajouté “listener 1883” au fichier /var/lib/gladysassistant/mosquitto/mosquitto.conf
J’ai ensuite redémarré ma rasp
Dans Gladys Assistant, j’ai dû reconfigurer mon service mqtt.
Pour information, le problème a été réglé avec Gladys v4.1.0.
@AlexTrovato a codé une routine qui met à jour automatiquement le fichier de conf + bloque la version du container a mosquitto 2.0 pour éviter tout problème à l’avenir.
Juste pour info, après avoir recommencé une énième fois, je suis arrivé à remettre le bon mosquitto en route et je vais vous expliquer comment…
Le mot de passe du serveur via Docker avait été remis à zéro, dans doute que aux nombreuses manipulations !
A aucun moment je n’ai été vérifié ce qu’il y avait derrière les petits points du mot de passe et ça avait été remplacé par ******.
Donc en effet, ça ne pouvait pas marcher…
Je suis un génie…
Enfin…
En fait…
Non.
Le front reçoit le vrai mot de passe uniquement si MQTT embarqué est utilisé (sinon c’est un faux mot de passe *********). Et la possibilité de l’afficher est également disponible uniquement pour un broker embarqué.
Le mot de passe est généré aléatoirement à partir du moment où on passe en mode “broker embarqué”, mais il est possible de le modifier depuis la page de configuration, ce qui le modifie également sur mosquitto.
J’ai pris le choix de cacher le mot de passe s’il n’est pas géré par Gladys (connexion à un serveur externe).
J’ai peut-être loupé un truc, mais s’il faut fixer, mon PC est tout chaud !
Je me doute que normalement il n’y a pas de bug, mais là ça y ressemble fortement Si il n’a pas mis “****” dans le champs et que ça se retrouve dans le mot de passe, c’est que forcément le frontend a du se mélanger les pinceaux à un moment. Peut-être lors d’un clique supplémentaire sur “connexion” plus tard dans l’UI ?
Après c’est peut-être un bug legacy qui a été fixé dans une release récente, mais bon il faut en être sur parce que ça craint comme bug
Je ne me prendrais pas trop la tête avec ça car, pour rappel, j’ai installé éclipse mosquitto en dehors de Docker, activé et désactivé les deux plusieurs fois, modifié le .conf manuellement…
Un conflit à un moment donné n’est pas impossible…
Maintenant, dans un monde parfait, ça n’aurait jamais dû arriver (Mais qu’est-ce qu’on se ferait Ch… )