Tuto : Intégrer sa MG dans Jeedom

Je dirais que tu as deux docker saic gateway qui veulent tourner en même temps.

As-tu testé avex mqttexplorer si le container publiait?

Antoine

bonjour,
et je galère dans mon coin depuis des jours (soirées)… :hot_face:
mqtt explorer , je ne parviens pas à grand chose mais en parcourant les différents sujets similaires
j’ai ça
image

peut être qu’il serait bien que j’ouvre un nouveau sujet au lieu de polluer le tuto

Bonjour,
Il y a un problème lors de la création du docker.
Avez-vous essayer de créer le docker avec l’adresse IP de votre Jeedom en 192.168.x.x au lieu de 127.0.0.1 ?

Bonjour,

Je me suis encore acharné hier soir
Oui j’ai mis mon ip jeedom
je vais ouvrir un nouveau sujet avec une foule de questions
merci à toi

Bonjour,

Est-ce que vous vous identifiez avec un numéro de portable sur l’application MG ?
Si oui, il y a eu une mise à jour du projet SAIC-MQTT-Gateway, qui nécessite l’ajout d’une ligne dans le code docker.
Essayer en ajoutant la dernière ligne, et le numéro de téléphone sans le 0 au début.

      - SAIC_USER=6XXXXXXXX
      - SAIC_PASSWORD=MON_MOT_DE_PASSE
      - SAIC_PHONE_COUNTRY_CODE=33

Sinon pouvez-vous poster le log du docker en cliquant sur le bouton ici

7b4d62e0a17f3bbaa25de3b35b21df410ad6bbb7_2_592x500

Bonjour,
Merci pour votre retour
J’ai tout désinstallé , les 2 plugin Docker management et Mqtt discovery
Je viens de réinstaller uniquement Docker management

Sans rentrer dans le début du tuto , rien qu’en appuyant sur


j’ai un vieux docker que je peux supprimer autant de fois que je veux , a la 1 ere synchro il réapparait
je pense qu’il y a déjà un problème a ce niveau là

ne me demandez pas pourquoi je lui ai donné ce nom « saic-mqtt-gateway » , certainement un méchant copié collé

pour répondre a votre demande initiale :


2024-02-08T19:33:54.994524353Z Traceback (most recent call last):
2024-02-08T19:33:54.994693363Z   File "/usr/src/app/./mqtt_gateway.py", line 766, in 
2024-02-08T19:33:54.995961443Z     asyncio.run(mqtt_gateway.run(), debug=debug_log_enabled())
2024-02-08T19:33:54.996374469Z   File "/usr/local/lib/python3.12/asyncio/runners.py", line 194, in run
2024-02-08T19:33:54.996781494Z     return runner.run(main)
2024-02-08T19:33:54.997140517Z            ^^^^^^^^^^^^^^^^
2024-02-08T19:33:54.997217521Z   File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
2024-02-08T19:33:54.997581544Z     return self._loop.run_until_complete(task)
2024-02-08T19:33:54.997884563Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-08T19:33:54.997942567Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 684, in run_until_complete
2024-02-08T19:33:54.999088639Z     return future.result()
2024-02-08T19:33:54.999474663Z            ^^^^^^^^^^^^^^^
2024-02-08T19:33:54.999553668Z   File "/usr/src/app/./mqtt_gateway.py", line 317, in run
2024-02-08T19:33:55.000084701Z     await self.publisher.connect()
2024-02-08T19:33:55.000426722Z   File "/usr/src/app/mqtt_publisher.py", line 83, in connect
2024-02-08T19:33:55.000731742Z     await self.client.connect(host=self.host, port=self.port, version=gmqtt.constants.MQTTv311, ssl=ssl_context)
2024-02-08T19:33:55.001012759Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/client.py", line 225, in connect
2024-02-08T19:33:55.001663800Z     self._connection = await self._create_connection(
2024-02-08T19:33:55.001975819Z                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-08T19:33:55.002028823Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/client.py", line 241, in _create_connection
2024-02-08T19:33:55.002374844Z     connection = await MQTTConnection.create_connection(host, port, ssl, clean_session, keepalive, logger=self._logger)
2024-02-08T19:33:55.002904878Z                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-08T19:33:55.003000884Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/mqtt/connection.py", line 27, in create_connection
2024-02-08T19:33:55.003510916Z     transport, protocol = await loop.create_connection(MQTTProtocol, host, port, ssl=ssl)
2024-02-08T19:33:55.004002946Z                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-08T19:33:55.004136955Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1119, in create_connection
2024-02-08T19:33:55.005722054Z     raise exceptions[0]
2024-02-08T19:33:55.006070076Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1101, in create_connection
2024-02-08T19:33:55.007559169Z     sock = await self._connect_sock(
2024-02-08T19:33:55.007678177Z            ^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-08T19:33:55.007719179Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1004, in _connect_sock
2024-02-08T19:33:55.009274276Z     await self.sock_connect(sock, address)
2024-02-08T19:33:55.009383283Z   File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 647, in sock_connect
2024-02-08T19:33:55.010731368Z     return await fut
2024-02-08T19:33:55.010855376Z            ^^^^^^^^^
2024-02-08T19:33:55.013283528Z   File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 687, in _sock_connect_cb
2024-02-08T19:33:55.013413536Z     raise OSError(err, f'Connect call failed {address}')
2024-02-08T19:33:55.013439537Z ConnectionRefusedError: [Errno 111] Connect call failed ('127.0.0.1', 1883)
2024-02-08T19:33:55.166696135Z 2024-02-08 19:33:55,166 [ ERROR  ] Task was destroyed but it is pending!
2024-02-08T19:33:55.166817143Z task: > - asyncio
2024-02-08T19:33:55.167123162Z sys:1: RuntimeWarning: coroutine 'Client._resend_qos_messages' was never awaited

Soyez patient … :woozy_face:

ce log c’est le container saic?

la config est incorrecte à priori, pas logique qu’il essaie de se connecter en localhost (donc sur lui-même) sur mqtt, cela devrait être l’ip de jeedom

« localhost » du container <> « localhost » de jeedom; même si le container tourne sur jeedom.

Bonjour,
J’ai laissé un peu de coté mon problème
Je m’attaque a trop balèze pour moi , je suis complètement paumé
Il me manque cruellement les bases car je ne comprends pas ton message :thinking:

Pour simplifier, docker permet d’exécuter une application (en principe une seule) dans un container et donc cette application sera dans un environnement isolé du reste, c’est son espace propre.
Il faut voir le container comme une mini machine.

Cette machine à son propre réseau, sa propre adresse ip etc.

Donc lorsque dans cette machine, dans ce container, on utilise le mot clé « localhost » ou l’ip « 127.0.0.1 » (qui est toujours l’ip locale de la machine) c’est bien par rapport et limité au container. Le système et l’application que l’on exécute dans le container n’ont pas « conscience » d’être dans un container, pour eux c’est une machine normal.

Donc 127.0.0.1 dans le container pointe sur le container.

Sur la machine hôte hébergeant le container il y a aussi une ip 127.0.0.1 mais qui elle point sur elle même (jeedom ici).

Le broker mqtt est installé sur jeedom, la machine hôte.

Donc saic qui est exécuté dans un container doit utiliser l’ip réelle locale de jeedom (192.168…) pour se connecter au broker qui s’y trouve et pas 127.0.0.1

J’espère que c’est plus clair; si pas je pense qu’il faudrait un petit schéma.

Partage ton fichier de configuration en enlevant les informations critiques. Dinne nous aussi up machine et ip mosquitto.

Bonjour,
Super , merci pour l’aide
Merci @Mips pour la synthèse , mais ça reste du lourd quand on n’est pas de la partie
La connexion entre mes 2-3 neurones n’a pas encore été effectuée
Soyez patients tous les 2 :woozy_face:

Alors pour répondre
Sur une Smart en 4.3.22
mqtt manager

Docker management

MQTT Discovery


Je me suis déconnecté de l’appli MG du tel au cas ou …

Non; ch’suis pas un boulet … :pill:

Salut

Depuis mqttexplorer, aucun topic saic? Car il n’apparait dans le plugin de Mips.
La version de saic2mqtt es bien à jour? Car avec le changement d’app/api, selon les pays pas le même timing, cela peut jouer. Si tu es à jour niveau app, il faut avoir la dernière.

Comme SAIC_USER, tu peux aussi tester avec le numéro de tel, avec ou sans 0 au début.

Dans mqtt discovery tu as l’adresse local, 127.0.0.1. Probablement ok ainsi, mais je testerais aussi avec l’IP 192.168.1.23

Antoine

où je peux le savoir ?
et rien ne remonte sur mqtt explorer

Aucune idée en passant depuis le plugin docker, je ne l’utilise pas.

Antoine

Bonjour, j’ai pas de détection dans MQTT discovery . rien n’est découvert apparement. donc je sais pas ce que je rate… je suis un peu perdu. je maitrise pas bien MQTT
voici ma config : avec 192.168.x.x = IP local de JEEDOM

Log du container : est-ce que je dois mettre l’IP réel de JEEDOM aussi dans MQTT discovery ?
j’ai essayé mais ça ne semblait rien changer. ça me mets quand connect call failed 127.0.0.1
j’ai essayé de reinstaller dépendances, etc…, mais sans succès

2024-02-20T10:36:59.219676142Z Traceback (most recent call last):
2024-02-20T10:36:59.219824605Z   File "/usr/src/app/./mqtt_gateway.py", line 855, in 
2024-02-20T10:36:59.221631828Z     asyncio.run(mqtt_gateway.run(), debug=debug_log_enabled())
2024-02-20T10:36:59.221852627Z   File "/usr/local/lib/python3.12/asyncio/runners.py", line 194, in run
2024-02-20T10:36:59.222751572Z     return runner.run(main)
2024-02-20T10:36:59.222905576Z            ^^^^^^^^^^^^^^^^
2024-02-20T10:36:59.223003579Z   File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
2024-02-20T10:36:59.223844481Z     return self._loop.run_until_complete(task)
2024-02-20T10:36:59.224249035Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:36:59.224354330Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 684, in run_until_complete
2024-02-20T10:36:59.225767499Z     return future.result()
2024-02-20T10:36:59.225895253Z            ^^^^^^^^^^^^^^^
2024-02-20T10:36:59.225957089Z   File "/usr/src/app/./mqtt_gateway.py", line 395, in run
2024-02-20T10:36:59.227297047Z     await self.publisher.connect()
2024-02-20T10:36:59.227485761Z   File "/usr/src/app/mqtt_publisher.py", line 83, in connect
2024-02-20T10:36:59.229755291Z     await self.client.connect(host=self.host, port=self.port, version=gmqtt.constants.MQTTv311, ssl=ssl_context)
2024-02-20T10:36:59.230160137Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/client.py", line 225, in connect
2024-02-20T10:36:59.231023205Z     self._connection = await self._create_connection(
2024-02-20T10:36:59.231204044Z                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:36:59.231364758Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/client.py", line 241, in _create_connection
2024-02-20T10:36:59.232272453Z     connection = await MQTTConnection.create_connection(host, port, ssl, clean_session, keepalive, logger=self._logger)
2024-02-20T10:36:59.232851721Z                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:36:59.233009518Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/mqtt/connection.py", line 27, in create_connection
2024-02-20T10:36:59.233575369Z     transport, protocol = await loop.create_connection(MQTTProtocol, host, port, ssl=ssl)
2024-02-20T10:36:59.234000340Z                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:36:59.234202180Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1119, in create_connection
2024-02-20T10:36:59.236148824Z     raise exceptions[0]
2024-02-20T10:36:59.236372831Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1101, in create_connection
2024-02-20T10:36:59.238561566Z     sock = await self._connect_sock(
2024-02-20T10:36:59.238674737Z            ^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:36:59.238706529Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1004, in _connect_sock
2024-02-20T10:36:59.240557504Z     await self.sock_connect(sock, address)
2024-02-20T10:36:59.240722301Z   File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 647, in sock_connect
2024-02-20T10:36:59.242273433Z     return await fut
2024-02-20T10:36:59.242396812Z            ^^^^^^^^^
2024-02-20T10:36:59.242559858Z   File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 687, in _sock_connect_cb
2024-02-20T10:36:59.244223869Z     raise OSError(err, f'Connect call failed {address}')
2024-02-20T10:36:59.244538004Z ConnectionRefusedError: [Errno 111] Connect call failed ('127.0.0.1', 1883)
2024-02-20T10:36:59.395544397Z 2024-02-20 10:36:59,394 [ ERROR  ] Task was destroyed but it is pending!
2024-02-20T10:36:59.395653775Z task: > - asyncio
2024-02-20T10:36:59.396273878Z sys:1: RuntimeWarning: coroutine 'Client._resend_qos_messages' was never awaited
2024-02-20T10:37:04.663495789Z Traceback (most recent call last):
2024-02-20T10:37:04.663628793Z   File "/usr/src/app/./mqtt_gateway.py", line 855, in 
2024-02-20T10:37:04.666361212Z     asyncio.run(mqtt_gateway.run(), debug=debug_log_enabled())
2024-02-20T10:37:04.666491591Z   File "/usr/local/lib/python3.12/asyncio/runners.py", line 194, in run
2024-02-20T10:37:04.667484747Z     return runner.run(main)
2024-02-20T10:37:04.673577854Z            ^^^^^^^^^^^^^^^^
2024-02-20T10:37:04.673709400Z   File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
2024-02-20T10:37:04.673771819Z     return self._loop.run_until_complete(task)
2024-02-20T10:37:04.673853780Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:37:04.673893156Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 684, in run_until_complete
2024-02-20T10:37:04.673931365Z     return future.result()
2024-02-20T10:37:04.673952658Z            ^^^^^^^^^^^^^^^
2024-02-20T10:37:04.673971617Z   File "/usr/src/app/./mqtt_gateway.py", line 395, in run
2024-02-20T10:37:04.676242604Z     await self.publisher.connect()
2024-02-20T10:37:04.676822748Z   File "/usr/src/app/mqtt_publisher.py", line 83, in connect
2024-02-20T10:37:04.677444600Z     await self.client.connect(host=self.host, port=self.port, version=gmqtt.constants.MQTTv311, ssl=ssl_context)
2024-02-20T10:37:04.677984201Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/client.py", line 225, in connect
2024-02-20T10:37:04.679294117Z     self._connection = await self._create_connection(
2024-02-20T10:37:04.679425662Z                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:37:04.680178769Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/client.py", line 241, in _create_connection
2024-02-20T10:37:04.680745787Z     connection = await MQTTConnection.create_connection(host, port, ssl, clean_session, keepalive, logger=self._logger)
2024-02-20T10:37:04.681342264Z                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:37:04.681859697Z   File "/usr/local/lib/python3.12/site-packages/gmqtt/mqtt/connection.py", line 27, in create_connection
2024-02-20T10:37:04.682404256Z     transport, protocol = await loop.create_connection(MQTTProtocol, host, port, ssl=ssl)
2024-02-20T10:37:04.682898063Z                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:37:04.683019400Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1119, in create_connection
2024-02-20T10:37:04.685754152Z     raise exceptions[0]
2024-02-20T10:37:04.686506967Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1101, in create_connection
2024-02-20T10:37:04.689134675Z     sock = await self._connect_sock(
2024-02-20T10:37:04.689837322Z            ^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-20T10:37:04.690008535Z   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1004, in _connect_sock
2024-02-20T10:37:04.693481811Z     await self.sock_connect(sock, address)
2024-02-20T10:37:04.693601398Z   File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 647, in sock_connect
2024-02-20T10:37:04.694825269Z     return await fut
2024-02-20T10:37:04.694964690Z            ^^^^^^^^^
2024-02-20T10:37:04.695179364Z   File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 687, in _sock_connect_cb
2024-02-20T10:37:04.697313264Z     raise OSError(err, f'Connect call failed {address}')
2024-02-20T10:37:04.697653066Z ConnectionRefusedError: [Errno 111] Connect call failed ('127.0.0.1', 1883)
2024-02-20T10:37:04.895996400Z 2024-02-20 10:37:04,894 [ ERROR  ] Task was destroyed but it is pending!
2024-02-20T10:37:04.896181905Z task: > - asyncio
2024-02-20T10:37:04.897028057Z sys:1: RuntimeWarning: coroutine 'Client._resend_qos_messages' was never awaited

Une question => un sujet

j’ai pas compris ? c’est la meme question / le meme problème que les précédents messages.
j’ai suivi le tuto, mais ça ne marche pas pour moi, et je n’arrive pas à déterminer

Salut, j’ai mis un post il y a quelques jours car j’avais un soucis avec docker management (qui n’est toujours pas réglé…) tu es sur quelle machine? Est-ce que tu as essayé de lancer le conteneur a partir de ton ordi sans passer par jeedom? Peut-être qu’on a le même problème :thinking:

Le mieux me semble de faire une installation propre de la gateway saic. On peut vérifier avec mqttexplorer si elle est fonctionnelle.
Une fois fait, on peut passer a mqtt discovery.

Antoine

hello, j’utilise la JEEDOM LUNA. tout est au même endroit