Plugin MQTT Manager

Tu as installé le plugin docker manuellement (tant qu’il est en beta je peux pas faire d’installation automatique) ?

Le problème viendrais de là du coup !

PS: je vois que ne tournerai qu’en 64 bits il faut absolument une plateforme x86-64, rpi (3 ou 4), je crois que sur mon RPI de test j’étais en 32…
Je le passe justement en 64 avec le nouveau Firmware en legacy …

Je te dis quand l’installe OK si le problème venait effectivement de là, je ne veux pas mettre sur la version « prod » pou l’instant, avec le MQTT qui me remonte des infos vitales !

Pas de soucis je comprends merci pour les tests c’est cool car c’est vraiment une étape importante ca avant qu’on puisse passer à la partie zwave

OK…
PS: si je peux me permettre, as-tu des infos sur le plugin de la version RFXLan du RFXCom …

Pas eu de retour de Jeedom SAS désolé, je crois que pour le moment ils sont pas intéressé (surement car les vente de rfxcom sont proche de 0…)

Petit retour sur une première installation sur un VM Jeedom de test en v4.2.5.
J’ai configuré comme ceci vers mon broker mqtt existant.

Le démon ne passait pas en vert.
[2021-12-03 12:15:08][DEBUG] : Received message on topis : tasmota/discovery/ECFABC50081F/config => {"ip":"192.168.0.160","dn":"TasmotaEnder3D","fn":["Ender3D",null,null,null,null,null,null,null],"hn":"tasmota-50081F-2079","mac":"ECFABC50081F","md":"Sonoff Pow R2","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"10.0.0.3","t":"tasmota_50081F","ft":"%topic%/","tp":["cmnd","stat","tele"],"rl":[1,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0,"117":0},"lk":0,"lt_st":0,"sho":[0,0,0,0],"ver":1}
/var/www/html/plugins/mqtt2/resources/mqtt2d/jeedom/jeedom.js:153
if(response.statusCode != 200){
^
TypeError: Cannot read property 'statusCode' of undefined
at Request._callback (/var/www/html/plugins/mqtt2/resources/mqtt2d/jeedom/jeedom.js:153:17)
at self.callback (/var/www/html/plugins/mqtt2/resources/mqtt2d/node_modules/request/request.js:185:22)
at Request.emit (events.js:400:28)
at Request.onRequestError (/var/www/html/plugins/mqtt2/resources/mqtt2d/node_modules/request/request.js:877:8)
at ClientRequest.emit (events.js:400:28)
at TLSSocket.socketErrorListener (_http_client.js:475:9)
at TLSSocket.emit (events.js:400:28)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21)

En mettant dans mqtt2d/jeedom/jeedom.js lignes 146 et 155 :

    if(!response || response.statusCode != 200){

J’ai pu voir le message dans les log :

[2021-12-03 12:27:38]ERROR : Callback error.Please check your network configuration page : {"code":"DEPTH_ZERO_SELF_SIGNED_CERT"}

J’avais une mauvaise configuration réseau de l’accès interne. J’avais pas fait attention à ça.

Une fois corrigé, le démon est passé vert et tout fonctionne.

Bonjour
Quelqu’un peut il expliquer l’utilité du port socket interne ? La creation du broker en mode local n’entraine t-elle pas l’adresse de broker suivante « 127.0.0.1:1883 » ?
Sinon comment faire pour que le broker soit joignable à cette adresse ?
Je pose cette question car mon raspberry recupère actuellement toutes les commandes de mes équipements Thombox à cette adresse.
Merci pour votre aide

Bonjour,

Merci pour le retour j’ai integré tes modifications ca sera dans la beta de demain

1 « J'aime »

Le port interne c’est juste pour la communication entre jeedom et le demon qui est connecté sur le broker mqtt

Si tu lance l’installation local de mosquitto jeedom remplis tous les champs pour que ca marche tout de suite en automatique si tu as un brocker ailleurs alors il ne faut pas cliquer sur ce bouton et remplir les informations pour se connecter sur ton brocker.

Merci Loic.
je suis donc en core 4.2.5. J’ai configuré mon broker distant avec « mqtt://127.0.0.1:1883 » car déjà installé localement.
Apres plusieurs tentatives mon demon reste NOK.
Si je coche « Transmettre tous les evènements des commandes » j’ai en plus l’erreur
" cURL error : Failed to connect to 127.0.0.1 port 55035: Connection refused"
Une idée du problème ?
merci d’avance

Comment tu peux avoir un brocker distant en 127 ? C’est local dans ce cas pas distant.

Le démon est nok as tu regardé la log ? Que dit elle ?

Mon broker est installé depuis longtemps en local et je veux. le conserver. La seule option est donc de le déclarer en distant. Le log est vide.

Ok tu as renseigné les mot de passe de connexion ? Tu es bien en debug ? Sur le bon log (yen a 2) ?

Oui en debug et bien sur j’ai renseigné l’authentification.
mqtt2 : info lancement demon puis plus rien
mqttd2 : vide

Tu as essayé de mettre l’IP de Jeedom au lieu du 127 ? Surtout si ton mosquitto est en docker faut le faire

Oui j’ai essayé et je viens de renouveller l’essai sur ton conseil. mais sans changement
Mon broker qui fonctionne parfaitement pour mes équipements thombox n’est pas installé en docker.

1 « J'aime »

La je vois j’ai testé avec un brocker sur mon Synology et ça marche bien. Mais la sans log je sais pas et je vois même pas comment c’est possible de pas avoir de log… Tu as des erreurs dans http.error ?

Ah oui erreurs dans http
Je joins le fichier log
http.txt (27,6 Ko)

Plus simple , J’ai vidé le log et redemarré le demon et voici le log :

internal/fs/utils.js:581
    throw new ERR_INVALID_ARG_TYPE(propName, ['string', 'Buffer', 'URL'], path);
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined
    at Object.open (fs.js:428:10)
    at Object.writeFile (fs.js:1363:6)
    at Object.Jeedom.write_pid (/var/www/html/plugins/mqtt2/resources/mqtt2d/jeedom/jeedom.js:70:6)
    at Object.<anonymous> (/var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js:41:8)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'ERR_INVALID_ARG_TYPE'
}