Démon MQTT2 ne se lance pas (erreur connection refused)

Bonjour,

Je viens vers vous pour un petit soucis que je rencontre sur le démon MQTT2

  1. j’ai installé les dernieres versions BETA de MQTT2 & Docker & nouveau plugin zwave… je suis également en dernière version stable de jeedom (4.2.15) et sur Buster 32bits
    => là dessus je pense qu’on est bon
  2. j’ai installé mosquitto via le plugin (broker local docker)
    => install ok
  3. j’ai bien enlevé le port auto de l’ancien plugin zwave + désactivé le plugin

malgré tout, le démon ne se lance pas … mes configs réseau (interne & externe) sont ok
j’ai tenté de reboot le PI (peut etre que qq chose prenait déja le socket ?) mais pas mieux …

Voici les logs en début du démon MQTT2 :

[2022-05-12 07:17:26]INFO : Start mqtt2d
[2022-05-12 07:17:26]INFO : Log level on  : debug
[2022-05-12 07:17:26]INFO : Socket port : 55035
[2022-05-12 07:17:26]INFO : MQTT : mqtts://127.0.0.1:8883
[2022-05-12 07:17:26]INFO : Username : xxx
[2022-05-12 07:17:26]INFO : Password : xxx
[2022-05-12 07:17:26]INFO : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-05-12 07:17:26]INFO : Apikey : xxx
[2022-05-12 07:17:26]INFO : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-05-12 07:17:26]INFO : Cycle : 0.3
[2022-05-12 07:17:26]INFO : Client key : /var/www/html/plugins/mqtt2/data/ssl/client.key
[2022-05-12 07:17:26]INFO : Client crt : /var/www/html/plugins/mqtt2/data/ssl/client.crt
[2022-05-12 07:17:26]INFO : CA : /var/www/html/plugins/mqtt2/data/ssl/ca.crt
[2022-05-12 07:17:27]INFO : Connect to mqtt server
[2022-05-12 07:17:27]DEBUG : HTTP listen on 127.0.0.1 port : 55035 started
[2022-05-12 07:17:27]ERROR : Error on connection to mqtt server : Error: connect ECONNREFUSED 127.0.0.1:8883

Si vous avez une idée ? ou me dire ce qu’il manque pour pouvoir trouver l’origine ça serait top :slight_smile:
merci a vous !

Salut,

Ce n’est pas nécessaire: stopper le démon et la gestion auto suffit

Peut-être montrer les configs?
je garanti pas de pouvoir aider mais avec les configs, quelqu’un va bien trouver qlqch

Hello Mips !

Coté config je peux montrer les param mosquitto :

per_listener_settings true

listener 1883
persistence false
allow_anonymous true
password_file /mosquitto/passwords

listener 8883
persistence false
password_file /mosquitto/passwords
allow_anonymous true
cafile /mosquitto/ssl/ca.crt
certfile /mosquitto/ssl/mosquitto.crt
keyfile /mosquitto/ssl/mosquitto.key
require_certificate true

et les ports :

1883:1883
8883:8883

d’après ce que je vois en creusant encore, le container semble restart de temps en temps
pas de debug depuis docker, aucun log n’est crée :frowning:
par contre, même quand le container run impossible de lancer le démon MQTT2 (tjs les mêmes logs d’erreur en debug)

Salut,

Les logs du conteneur sont directement accessibles depuis l’équipement mqtt_mosquitto, bouton Logs Docker tout à droite :

Tu peux essayer de le réinstaller en cliquant sur le bouton Installer Mosquitto pour voir si c’est mieux ?

je viens juste de me rendre compte (abruti que je suis) pour les logs docker :smiley:
les voici…

2022-05-12T08:33:00.266542491Z 0: mosquitto version 2.0.14 starting
2022-05-12T08:33:00.266803949Z 0: Config loaded from /mosquitto/config/mosquitto.conf.
2022-05-12T08:33:00.267242594Z 0: Opening ipv4 listen socket on port 1883.
2022-05-12T08:33:00.267343375Z 0: Opening ipv6 listen socket on port 1883.
2022-05-12T08:33:00.267496552Z 0: Opening ipv4 listen socket on port 8883.
2022-05-12T08:33:00.267594364Z 0: Opening ipv6 listen socket on port 8883.
2022-05-12T08:33:00.270220140Z 0: Error: Unable to load CA certificates. Check cafile "/mosquitto/ssl/ca.crt".
2022-05-12T08:33:00.270374827Z 0: Error: Unable to load server certificate "/mosquitto/ssl/mosquitto.crt". Check certfile.
2022-05-12T08:33:00.270408264Z 0: OpenSSL Error[0]: error:02FFF002:system library:func(4095):No such file or directory
2022-05-12T08:33:00.270460868Z 0: OpenSSL Error[1]: error:20FFF080:BIO routines:CRYPTO_internal:no such file
2022-05-12T08:33:00.270492795Z 0: OpenSSL Error[2]: error:0BFFF002:x509 certificate routines:CRYPTO_internal:system lib
2022-05-12T08:33:00.270523420Z 0: OpenSSL Error[3]: error:02FFF002:system library:func(4095):No such file or directory
2022-05-12T08:33:00.270591233Z 0: OpenSSL Error[4]: error:20FFF002:BIO routines:CRYPTO_internal:system lib
2022-05-12T08:33:00.270629826Z 0: OpenSSL Error[5]: error:14FFF002:SSL routines:(UNKNOWN)SSL_internal:system lib

j’ai déja tenté une reinstall depuis mqtt2… je vais re tenter
j’ai reinstall : là dessus pas de soucis
j’ai copié les 3 fichiers certif… pas mieux pour le démon :frowning: et tjs les erreurs dans docker

Hello
Idem pour moi, tester sur une instal vierge sur PI3, juste le plug MQTT et docker les erreures sont identiques.

Toujours personne n’a vu ce soucis ?
J’ai suivi quelques étapes que j’ai trouvé sur un autre topic ici, en supprimant bien les images + les plugins + reinstall propre des plugins et relance des dépendances maintenant j’ai autre chose.
quand je lance le démon MQTT j’ai ces erreurs dans le containeur :

2022-05-20T07:25:06.108660944Z 0: New connection from 172.18.0.1:35436 on port 8883.
2022-05-20T07:25:06.212855066Z 0: OpenSSL Error[0]: error:14FFF086:SSL routines:(UNKNOWN)SSL_internal:certificate verify failed
2022-05-20T07:25:06.213111159Z 0: Client  disconnected: Protocol error.

=> bien sur, les droits ont été remis et le démon ne se lance pas :frowning:

J’ai lancé directement sur putty la commande que je vois en debug sur MQTT et voici l’erreur que je trouve (à savoir INFO : Lancement démon mqtt2 : sudo /usr/bin/node /var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js (…) avec le certificat, etc):


[2022-05-20 07:39:58][INFO] : Connect to mqtt server
events.js:377
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use 127.0.0.1:55035
    at Server.setupListenHandle [as _listen2] (net.js:1331:16)
    at listenInCluster (net.js:1379:12)
    at doListen (net.js:1516:7)
    at processTicksAndRejections (internal/process/task_queues.js:83:21)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1358:8)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '127.0.0.1',
  port: 55035
}

j’ai donc kill le PIR qui prenait ce port (c’était node)
j’ai lancé le commande via putty (ce qui est chiant parce que du coup ca veut dire que je laisse putty ouvert le temps du tests, ce qui n’est pas acceptable à long terme)
=> et bim, je peux utiliser zwavejs car le « driver failed to initialized » mais c’st une autre histoire!

donc en gros, le démon PEUT se lancer mais pas via le bouton mqtt :frowning:

Bonjour à tous,

J’avance encore et toujours sur le sujet. Je ne remets mes les infos que j’ai noté tout en haut, rien n’a changé sur l’os / toujours en dernieres versions des plugin (beta of course)
le démon MQTT demarre bien (au bout de 10 bonnes minutes apres reboot, mais ce n’est pas le drame)

ensuite, probleme de heap space lors du yarn build coté zwavejs… mais j’ai résolu en modifiant le contenu du json pour augmenter la taille de la mémoire et via putty, j’ai bien yarn build… donc ça, je considère OK même si full manuel :slight_smile:

maintenant, tous les démons sont OK (mqtt2, zwavejs) mais rien coté ZWaveJS :
en gros, le message « Le driver Z-Wave n’est pas initialisé, veuillez patienter. Si le message reste trop longtemps, veuillez vérifier la configuration du démon » reste en haut sans jamais que rien ne bouge (même apres des minutes et des minutes) résultat, la clé (zstick gen5) n’apparait jamais et donc aucun devices… j’ai reboot, plusieurs fois, unplug/plug ma clé (sur plusieurs ports : hub alimenté / directement les ports usb du pi 3)

rien dans le log de zwavejs a part un démarrage ok et le fait qu’il voit bien la clé (port ACM0 ok)

[90m2022-08-12 10:21:37.904e[39m e[32mINFOe[39m e[1mAPPe[22m: Version: 6.15.2.83c1b7a
e[90m2022-08-12 10:21:37.915e[39m e[32mINFOe[39m e[1mAPPe[22m: Application path:/var/www/html/plugins/zwavejs/resources/zwavejs2mqtt
______                       _     ___                  _   _
|___  /                      (_)   |__ \                | | | |
/ /_      ____ ___   _____ _ ___   ) |_ __ ___   __ _| |_| |_
/ /\ \ /\ / / _` \ \ / / _ \ / __| / /| '_ ` _ \ / _` | __| __|
/ /__\ V  V / (_| |\ V /  __/ \__ \/ /_| | | | | | (_| | |_| |_
/_____|\_/\_/ \__,_| \_/ \___| |___/____|_| |_| |_|\__, |\__|\__|
_/ |                      | |
|__/                       |_|
e[90m2022-08-12 10:21:38.035e[39m e[33mWARNe[39m e[1mSTOREe[22m: scenes.json not found
e[90m2022-08-12 10:21:38.229e[39m e[31mERRORe[39m e[1mAPPe[22m: Session secret is the default one. For security reasons you should change it by using SESSION_SECRET env var

donc je vois pas trop quoi faire pour faire « détecter » ma clé, et donc faire apparaitre automatiquement tous mes devices…

une idée ?
merci !

Hello,

J’ai maintenant le même souci que tu avais avec MQTT Manager.
Heureusement, je ne l’utilise qu’en maquette :

  • Jeedom 4.3.0
  • MQTT2 2022-09-18 01:17:12
  • Docker2 2022-06-07 01:17:18

Je ne m’y connecte pas souvent… Hier, j’ai fait les MAJ et depuis le démon MQTT ne veut plus démarrer… Connexion refusée.

salut kyoshi,

en gros, j’ai fais qq manips manuelle sur putty, et j’ai surtout enlever la connexion via creditals (ce qui posait le soucis de connections refused)
dur de voir si ça aura un impact sur la sécurité… mais bref…

et aussi, au début ca pouvait mettre jusqu’a 30mn à ce que le démon se lance (quand il décidait de se lancer)… depuis cette modif pour enlever les creditals, c’est immédiat…

Hello,

Ok… En espérant que ce soit géré pour la version stable.
S’il faut faire des tests, ce n’est pas un problème en maquette.
Mais sur le Jeedom de prod, non…

Bref, en espérant que ce soit pris en compte.

Bonjour,

Qu’est-ce qui devrait être pris en compte exactement ?

Perso j’ai plusieurs jeedom avec mqtt2 et donc mosquito installé soit en local soit en docker eu aucun soucis…

Vous n’avez fourni aucun log concernant votre problème, vous dites avoir le « même problème » mais franchement je ne sais même pas comment vous avez déterminé ça puisque les posts d’origines sont très anciens, que depuis le plug-in a déjà été modifié a de multiple reprise donc ce n’est pas relevant de comparer…

Conclusion : je pense qu’il est impossible que votre problème soit pris en compte pour le moment puisqu’il n’y a aucune info utile permettant de le faire

1 « J'aime »

Hello,

C’est vrai, j’ai fourni peu, voir pas d’infos.
Et encore oui, ce n’est le même problème, juste le même symptôme (connexion refusée au démarrage du démon). Les logs :

[2022-09-23 07:10:06][INFO] : Start mqtt2d
[2022-09-23 07:10:06][INFO] : Log level on  : debug
[2022-09-23 07:10:06][INFO] : Socket port : 55035
[2022-09-23 07:10:06][INFO] : MQTT : mqtts://127.0.0.1:8883
[2022-09-23 07:10:06][INFO] : Username : jeedom
[2022-09-23 07:10:06][INFO] : Password : xxxxxxxxx
[2022-09-23 07:10:06][INFO] : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-09-23 07:10:06][INFO] : Apikey : xxxxxxxxxxxxxxxxx
[2022-09-23 07:10:06][INFO] : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-09-23 07:10:06][INFO] : Cycle : 0.3
[2022-09-23 07:10:06][INFO] : Client key : /var/www/html/plugins/mqtt2/data/ssl/client.key
[2022-09-23 07:10:06][INFO] : Client crt : /var/www/html/plugins/mqtt2/data/ssl/client.crt
[2022-09-23 07:10:06][INFO] : CA : /var/www/html/plugins/mqtt2/data/ssl/ca.crt
[2022-09-23 07:10:07][INFO] : Connect to mqtt server
(node:10889) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
(Use `node --trace-deprecation ...` to show where the warning was created)
[2022-09-23 07:10:07][DEBUG] : HTTP listen on 127.0.0.1 port : 55035 started
[2022-09-23 07:10:07][ERROR] : Error on connection to mqtt server : Error: Connection refused: Not authorized

Après, je ne voulais polluer son topic. Un problème = un topic…

Et je n’en ai pas créé il est vrai pour plusieurs raisons :

  • Bien qu’il y avait des bonnes intentions pour aider @MonsieurFlal au départ, il est bien tout seul sur son topic depuis quelques mois…
  • Un peu blasé d’entendre les « Cela dépasse ma compétence, je ne peux pas t’aider » (du coup, je ne fais plus d’efforts)

Du coup, je me dis qu’au vu du peu de réponse dans ce topic, je vais attendre que la stable sorte et ne plus perdre de temps sur la beta. Parce que bon… La beta est un peu censée servir à la remontée de bugs des premiers testeurs (avant une sortie en stable) donc quand je vois comme @MonsieurFlal est tout seul… Ben, ça ne donne pas envie.

Après, je fais peut-être trop de raccourcis dans mes propos. Mon problème est peut-être tout bête. Il est vrai que je n’ai pas encore pris le temps de chercher de mon côté. J’ai juste cherché dans les problèmes qui semblaient équivalent au mien sur Community vite fait.

1 « J'aime »

Bonjour,

Je viens de me prendre quelques minutes pour chercher une solution.
Problème réglé pour ma part…

Oh vu du peu de réponse dans ce topic, je ne suis pas certain mais si ça intéresse quelqu’un, je pense qu’il y a un souci au niveau de la vérification des paquets nécessaires.

En effet, la réinstallation des paquets des dépendances n’a rien résolu mais la MAJ des paquets du système oui (action manuelle bien entendu).

Le nouveau log dont la seule action entre les deux tentatives de lancement est la finalisation de MAJ des paquets de l’OS :

[2022-09-24 10:20:05][INFO] : Start mqtt2d
[2022-09-24 10:20:05][INFO] : Log level on  : debug
[2022-09-24 10:20:05][INFO] : Socket port : 55035
[2022-09-24 10:20:05][INFO] : MQTT : mqtts://127.0.0.1:8883
[2022-09-24 10:20:05][INFO] : Username : jeedom
[2022-09-24 10:20:05][INFO] : Password : xxxxxxx
[2022-09-24 10:20:05][INFO] : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-09-24 10:20:05][INFO] : Apikey : xxxxxxx
[2022-09-24 10:20:05][INFO] : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-09-24 10:20:05][INFO] : Cycle : 0.3
[2022-09-24 10:20:05][INFO] : Client key : /var/www/html/plugins/mqtt2/data/ssl/client.key
[2022-09-24 10:20:05][INFO] : Client crt : /var/www/html/plugins/mqtt2/data/ssl/client.crt
[2022-09-24 10:20:05][INFO] : CA : /var/www/html/plugins/mqtt2/data/ssl/ca.crt
[2022-09-24 10:20:06][INFO] : Connect to mqtt server
(node:20855) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
(Use `node --trace-deprecation ...` to show where the warning was created)
[2022-09-24 10:20:06][DEBUG] : HTTP listen on 127.0.0.1 port : 55035 started
[2022-09-24 10:20:06][ERROR] : Error on connection to mqtt server : Erro**r: Connection refused: Not authorized**
[2022-09-24 10:29:11][INFO] : Start mqtt2d
[2022-09-24 10:29:11][INFO] : Log level on  : debug
[2022-09-24 10:29:11][INFO] : Socket port : 55035
[2022-09-24 10:29:11][INFO] : MQTT : mqtts://127.0.0.1:8883
[2022-09-24 10:29:11][INFO] : Username : jeedom
[2022-09-24 10:29:11][INFO] : Password : xxxxxx
[2022-09-24 10:29:11][INFO] : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-09-24 10:29:11][INFO] : Apikey : xxxxxxx
[2022-09-24 10:29:11][INFO] : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-09-24 10:29:11][INFO] : Cycle : 0.3
[2022-09-24 10:29:11][INFO] : Client key : /var/www/html/plugins/mqtt2/data/ssl/client.key
[2022-09-24 10:29:11][INFO] : Client crt : /var/www/html/plugins/mqtt2/data/ssl/client.crt
[2022-09-24 10:29:11][INFO] : CA : /var/www/html/plugins/mqtt2/data/ssl/ca.crt
[2022-09-24 10:29:11][INFO] : Connect to mqtt server
(node:18901) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
(Use `node --trace-deprecation ...` to show where the warning was created)
[2022-09-24 10:29:11][DEBUG] : HTTP listen on 127.0.0.1 port : 55035 started
**[2022-09-24 10:29:11][INFO] : Connection to mqtt server successfull**
**[2022-09-24 10:29:11][INFO] : Subscription to all topics**
**[2022-09-24 10:29:11][INFO] : Subscription to all topics succesfull**

Et dans la partie Santé, avant MAJ des paquets tout était green hormis le plugin en question :

J’ai fait le screen pour éviter t’entendre dire que ce n’est pas possible et blablabla…

Donc voilà, ce n’est pas parce que cela fonctionne chez certaines personnes que cela fonctionne chez tout le monde… D’où encore une fois l’intérêt (à mon sens du moins) d’une beta.

Personne n’a dit ca, même pas moi :wink:

Mais par contre, si ca fonctionne chez soi et qu’on n’a pas d’info, on ne peut donc pas reproduire et donc impossible à fixer, d’où ma conclusion que malheureusement votre problème (bien réel) ne pouvait pas (ou difficilement) être pris en compte.

Ici on a de la matière qui a permettre d’investiguer, merci pour le retour!

Si cela peut aider.

Pour résoudre mon problème avec le Démon NOK:

Avec l’erreur suivante:

[2023-04-29 21:40:06]ERROR : Callback error.Please check your network configuration page : {« reason »:"IP: 127.0.0.1 is not in the cert’s list: ",« host »:« 127.0.0.1 »,« cert »:{« subject »:…

J’ai modifié le fichier : /var/www/html/plugins/mqtt2/core/class/mqtt2.class.php

en remplaçant : 127.0.0.1 avec l’adresse dns de mon serveur jeedom.

Ligne 369

$cmd .= ’ --mqtt_server mqtts://monserveur.domaine.ext:8883’;

Ligne 378

$cmd .= ’ --callback ’ . network::getNetworkAccess(‹ internal ›, ‹ proto:monserveur.domaine.ext:port:comp ›) . ‹ /plugins/mqtt2/core/php/jeeMqtt2.php ›;

Ligne 443

$infos[‹ ip ›] = ‹ monserveur.domaine.ext ›;

Maintenant mon démon est OK

1 « J'aime »