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
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)…
mqtt explorer , je ne parviens pas à grand chose mais en parcourant les différents sujets similaires
j’ai ça
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
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
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 …
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
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
Alors pour répondre
Sur une Smart en 4.3.22
mqtt manager
Docker management
MQTT Discovery
Non; ch’suis pas un boulet …
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
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