Config Shelly sous docker syno

Bonjour

Je suis avec un jeedom sur docker avec mon syno.

L’adresse ip pour accéder est donc 192.168.123.123:9080

Ici je veux configurer des shelly et jeedom ne les trouve pas dans le.plugin jmqttt , Je suppose que le probleme vient du fait que je dois donner l adresse du mosquito qui est normalement l adresse de jeedom suivie de :portdemosquito. Mais donc ici je ne sais pas trop quoi indiquer. Auriez vous des pistes ? Est il possible de modifier l’adresse de mon jeedom pour éviter ces ;9080 ?

Merci !

1 « J'aime »

Bonjour,

Le 9080 n’est pas l’adresse ip mais le port de jeedom.
Vous devez le spécifier car il n’est pas standard (par défaut pour http cela sera 80 si rien n’est précisé)
Donc remplacez cette valeur par le port du service mosquito.

Mais il faudrait donner plus d’info sur votre installation, sur la config docker etc.

Probablement que le port pour mosquito n’est pas ouvert sur le container.

En passant, en mode docker vous ne devriez pas installer mosquito dans le même container que jeedom.

Bonjour,

Merci de votre retour. Je joindrai ce soir ou ce midi quelques captures d’écran de mon syno et de la configuration du docker. Je vous avoue que j’avais suivi sans tout comprendre un tuto pour installer Jeedom mais mon NAS étant relativement vieux, je n’avais que la solution du docker.

Merci !

Re,

Voici donc les infos reprises sur mon Syno.

Pour Mosquitto, il s’est installé seul avec Jmqtt mais probablement que je dois manquer une manipulation ? J’ai tenté avec le plugin Mqtt qui me donne un peu plus d’infos mais sans + de succès; J’ai donc remplacé mon port 9080 par le 1883 sans que cela ne fonctionne.

Pour installer Mosquitto dans un autre conteneurs, je regarde mais y en a plein :-/ Pouvez-vous m’aiguiller svp ?

Merci !!!

Je ne connais pas docker, donc relativiser ce que je dis.

Il y a le port de jeedom. C’est lui qui va permettre d’ouvrir la page d’accueil de jeedom.
Par exemple, si son port est 9080, tu vas ouvrir la page d’accueil avec une url du type

http://192.168.1.23:9080

Par défaut, le port de jeedom est 80 et dans ce cas, on peut indifféremment appeler la page d’accueil par ces deux url :

http://192.168.1.23:80
ou sans préciser le port
http://192.168.1.23

Les ports servent à distinguer ce que l’on veut atteindre par l’adresse IP
Là, ton serveur abrite à la fois jeedom et mosquito. C’est par le port que ton serveur sait s’il s’agit d’une adresse à destination de jeedom ou à destination de mosquito. Mosquito et jeedom ne peuvent donc pas avoir le même port s’ils sont sur la même machine.
Par défaut, le port de mosquito est effectivement 1883

Bon, là tu es en docker, alors ce n’est peut être pas pareil, mais chez moi, si par ssh je vais sur le pi qui héberge jeedom et mosquitto,
dans
/etc/mosquitto/conf.d
j’ai un fichier jMQTT.conf qui contient entre autres :

# jMQTT Mosquitto configuration file
listener 1883

Du coup, on voit que je suis en port 1883

Si tu trouves ce fichier, tu en a le coeur net pour connaitre le port pour mosquito.

Dans jMQTT, le port doit être rentré ici. Si tu as 1883 (port pas défaut), pas besoin de le rentrer.

:slight_smile:

je vais regarder via Putty ce que ça va donner. Via Mqtt j’ai effectivement ces infos pour la configuration. Je ne les retrouve pas sur Jmqtt que j’utilise par contre. J’avais lu (peut-être mal) de laisser par défaut ces infos. Je vais donc modifier. L’ip du nom de domaine du broker c’est l’ip de Jeedom sans le port 9080 ? et le port du Broker 1883 ? Je vais tenter ces combinaisons.

Pour la douxième fois au moins, Merciiii :slight_smile:

Pour continuer,
Je conseil vivement d’utiliser un logiciel comme MQTT explorer qui permet de bien voir ce qui se passe du point de vue MQTT.

On voit que d’une façon générale, une connexion MQTT se défini par

Une adresse ip (là où est écrit « Host »)
Un port
Un nom d’utilisateur et son mot de passe.

Si tu as tout ça, tu peux te connecter au serveur MQTT.
Tu as et tu es sûr de ces paramètres ?

Via MQTT explorer, tu cliques sur connect et tu verras si la connexion se fait. Si oui, au oins, tu es sûr que ton serveur fonctionne et de tes paramètres.

Après, dans mqtt explorer, tu pourras écouter ton shelly. Tu pourras par exemple voir le message qu’il envoie lorsque tu appuies sur le bouton poussoir. Interressant aussi pour v"rifier les topics.
Tu pourras aussi tester de lui envoyer le message MQTT qui va bien pour le mettre en On ou en Off.
Je m’en sers beaucoup pour débuger.

Pas du tout :wink: Je vais également tester cela dès que possible !!! Ce sera effectivement très utile pour voir ce que me diront mes Shelly et adapter les commandes :slight_smile: Promis sur base de tous ces conseils, et lorsque ce sera bien configuré, je vais essayer de configurer tout seul mon bouton poussoir filaire !

Toujours pareil , je ne connais pas docker, mais à mon avis, l’ip est l’ip de ce qui héberge mosquitto et donc si j’ai bein compris chez toi, c’est la même que l’ip de ce qui héberge jeedom. Là on parle bien de ce qui héberge et donc l’ip sans rapjouter de port donc un truc style
192.168.1.26 (sans les http:// et sans le port) et non http://192.168.1.26:9080

Chez moi, cela donne avec jMQTT pour la config du brocker
image

Si jeedom est sur le même serveur que mosquito, ce qui est mis par défaut (localhost) est bon. Toujours pareil, je ne connais pas docker)
La deuxième ligne n’est pas à remplir si tu as le port par défaut
La 3° peut être laissé par défaut
La 4° et 5° sont bien sûr à remplir.

Ok, merci pour les précisions. Dans Mqtt ce devait être bon alors !? Mais je n’avais pas réussi à importer un équipement et je m’étais donc focalisé sur Jmqtt qui proposait le bouton « inclusion ».

Le tuto suivi me disait d’autres infos. Les nom d’utilisateur et mot de passe devaient être vides ! Après c’est peut-être un autre cas …

Je vais me documenter et regarder à cela !!! Merci pour toutes ces infos (encore) très précieuses !!

J’ai testé ce que tu disais : peut on laisser vide le nom / mdp et visiblement oui !
Cela veut dire que par défaut, ils ont configuré mosquito en « j’écoute tout le monde ». Pas top !
Cela veut dire que quelqu’un sur le réseau peut envoyer un ordre par un logiciel type MQTT explorer sans avoir besoin de connaitre de mot de passe.
Précédemment, j’avais installé moi-même mon serveur MQTT et je n’avais pas ce problème.
Je vais ouvrir un fil pour en parler.

et donc ce login et mot de passe devraient être remis dans les Shelly ? Ils sont indépendants de Jeedom ?

Effectivement, c’est un risque supplémentaire. Surtout que dans mon cas, c’est pour ouvrir une porte :wink:

Pour en avoir le coeur net, j’ai été voir le fichier de configuration et effectivement, ils ont gardé la configuration par défaut qui autorise n’importe qui de se connecter :
image
Perso, je vais changer cela dans ma configuration.

Pour la config de tes shellys, visiblement, tu peux les configurer sans mettre d’utilisateur /mdp mais je te conseille de les mettre quand même car même si tel que c’est ils en servent à rien, si tu décide d’avoir quelque chose de plus sécure en modifiant la config de mosquito, tu n’auras pas à retourner dans l’interface de tes shellys.

J’ai fais l’essai avec MQTT explorer, et mettre un utilisateur/mdp ou pas ne change rien. Quand le serveur MQTT est configuré en allow_anonymous à true, le fait d’en mettre ou pas ne change rien.

je t’aurai au moins appris qqch :slight_smile:

Ton implication dans l’aide des petits nouveaux sera un peu récompensée :slight_smile:

Voilà, j’ai ouvert cette discussion :

Une petite remarque en passant attention à l’identité utilisateur utiliser pour se connecter à Mosquitto elle doit être unique …
il ne faut pas utiliser d’utilisateur ‹ jeedom › dans la config des shelly …

Bonne continuation

Bonjour,

Merci pour la précision ! J’y veillerai lorsqu’ils seront reconnus; pas eu le temps de beaucoup regarder hier et pour le temps passé, ça ne fonctionnait pas. J’ai lu que parfois 2 Mosquittos pouvaient poser problème et comme j’ai installé Mqtt et Jmqtt, je voulais en supprimer un … mais impossible …

merci !

Pour préciser :
A ce niveau,
image

tes shellys peuvent tous (c’est même souhaitable par plus simple dans jeedom) avoir le même identifiant / mot de passe :

Oui, c’est le ClientID qui doit être unique (ou généré à la volée) pour chaque équipement.

Merci ! Je regarde à cela dès que j’ai quelques heures !

Pensez-vous que le fait que j’ai installé Jmqtt et Mqtt peut poser problème avec les 2 Mosquitto ou le fait d’installer Mosquitto dans un Docker séparé résoudra ce problème (s’il existe …)

Pour rappel, pour l’instant je ne sais pas supprimer de plugin …

merci