Besoin d'aide pour accéder à mon broker mqtt depuis Jeedom installé dans un containeur

Bonjour à tous,

Je viens d’installer Jeedom dans un containeur en suivant le tuto de Didier3L : Merci à lui!
L’ensemble se trouve sur Debian 11 lui-même dans une VM.

J’ai ensuite réinstallé une sauvegarde de mon Jeedom ; seulement, j’ai un soucis avec le plugin Jmqtt : il lui est impossible d’accéder à mon broker mqtt qui se trouve installé sur Debian. Apparemment, il n’est pas accessible.
Je dois préciser que la configuration de Mosquitto est correcte puisque plusieurs des addons de Home Assistant s’y connecte.

Depuis la console de Portainer, si je « ping » l’ip où se trouve Debian voilà ce que j’obtiens :

Autre chose, je ne peux pas non plus accéder à Jeedom en SSH : peut-être y a-t-il un lien…

D’avance merci pour l’aide que vous pourriez m’apporter.

1 « J'aime »

Hello,

Debian 11 n’est pas supporté (à date) par Jeedom.
Si tous tes plugins tournent tant mieux, mais tu cherches les problèmes !

Tu n’auras pas accès en SSH à l’intéreur d’un container, ce n’est pas une VM.

Je ne comprends pas l’intérêt de ce test, peux-tu m’éclairer ?

La dessus je peux t’aider, mais il va me falloir me fournir un peu plus d’info et des traces :

  • versions (Jeedom et jMQTT),
  • est-ce que la connexion était OK avant que tu ne migres en Docker (j’imagine que si tu as restauré une backup, c’est que tu as changé de système, quel était ce système ?),
  • captures d’écran de la config,
  • tous les logs jMQTT* en debug (daemon et équipements brokers),
  • toute autre information que tu jugera utile pour que je puisse t’aider…

Bad

1 « J'aime »

Pour débuter, il faut savoir que je ne suis pas un expert…
L’idée d’installer Jeedom sous docker c’est qu’il soit dans un environnement debian buster. (je suis effectivement au courant que Jeedom doit être installer sous Debian 10).
image
C’est une capture d’écran du tuto de @Didier3L. Après, il est possible que j’ai mal compris…

Tu n’auras pas accès en SSH à l’intéreur d’un container, ce n’est pas une VM.

D’accord.

Je ne comprends pas l’intérêt de ce test, peux-tu m’éclairer ?

Etant donné que je ne sais pas pourquoi Jeedom n’arrive pas à accéder à mon Broker Mqtt, j’ai fait un test pour voir si Jeedom peut communiquer avec son hôte. (peut-être aussi à tort…). (Mon Broker se trouve sur Debian.)

  • versions (Jeedom et jMQTT),
  • est-ce que la connexion était OK avant que tu ne migres en Docker (j’imagine que si tu as restauré une backup, c’est que tu as changé de système, quel était ce système ?),
  • captures d’écran de la config,
  • tous les logs jMQTT* en debug (daemon et équipements brokers),
  • toute autre information que tu jugera utile pour que je puisse t’aider…
  • Jeedom 4.3.10 et version de jmqtt : 2022-10-16 01:01:21
  • Avant Jeedom tournait sur Debian 10 (et tout était ok). Seulement, étant donné que je fais coexister Jeedom et Home Assistant ET que Home Assistant doit désormais tourner sous Debian 11, je fais évoluer mon système.
  • Que veux-tu voir dans ma config?
0499|[2022-11-09 20:09:00,212]DEBUG JMsg.Snd        SockOut               send() : Sent TO Jeedom: [{'cmd': 'hb'}]```


>0411|[2022-11-09 21:09:45][ERROR] : Accès non autorisé depuis 127.0.0.1, avec la clé API commençant par P84TOdlM...


root@debian-11:~# docker network inspect a7b10350acff

[
    {
        "Name": "mymacvlan",
        "Id": "a7b10350acffddc05515d52008fcbcd2382673ad09852fe30998efc9bd912da6",
        "Created": "2022-11-05T19:00:16.930480749+01:00",
        "Scope": "local",
        "Driver": "macvlan",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.1.0/24",
                    "IPRange": "192.168.1.240/29",
                    "Gateway": "192.168.1.1",
                    "AuxiliaryAddresses": {
                        "host_bridge": "192.168.1.241"
                    }
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "56eab6157c0b23f784caa63e1be99a33e192990bda0ae2670341203a24a852a4": {
                "Name": "jeedom-v41",
                "EndpointID": "801fcc743d7fd9cc678d2b0b16d87f56cabc33b9cead1de32d017e80427728ef",
                "MacAddress": "a0:ca:ab:cd:ef:03",
                "IPv4Address": "192.168.1.243/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "parent": "ens160"
        },
        "Labels": {}
    }
]
root@debian-11:~# docker container inspect 56eab6157c0b
[
    {
        "Id": "56eab6157c0b23f784caa63e1be99a33e192990bda0ae2670341203a24a852a4",
        "Created": "2022-11-09T17:40:56.069625324Z",
        "Path": "sh",
        "Args": [
            "/root/init.sh"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 18204,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2022-11-09T17:40:57.383280307Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:864e62ce0d9fb38947deb0b0d260a1a8f9767d82adf29da0f6ec8e5e0799ad75",
        "ResolvConfPath": "/var/lib/docker/containers/56eab6157c0b23f784caa63e1be99a33e192990bda0ae2670341203a24a852a4/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/56eab6157c0b23f784caa63e1be99a33e192990bda0ae2670341203a24a852a4/hostname",
        "HostsPath": "/var/lib/docker/containers/56eab6157c0b23f784caa63e1be99a33e192990bda0ae2670341203a24a852a4/hosts",
        "LogPath": "",
        "Name": "/jeedom-v41",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": [
            "262b753f9c6bf46ca64bd8b96eb6363e400c889968b3f2a50533c488532ee659"
        ],
        "HostConfig": {
            "Binds": [
                "/opt/jeedom-v4/html:/var/www/html",
                "/opt/jeedom-v4/db:/var/lib/mysql"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "journald",
                "Config": {
                    "tag": "{{.Name}}"
                }
            },
            "NetworkMode": "mymacvlan",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": [],
            "CapAdd": [
                "AUDIT_WRITE",
                "CHOWN",
                "DAC_OVERRIDE",
                "FOWNER",
                "FSETID",
                "KILL",
                "MKNOD",
                "NET_BIND_SERVICE",
                "NET_RAW",
                "SETFCAP",
                "SETGID",
                "SETPCAP",
                "SETUID",
                "SYS_ADMIN",
                "SYS_CHROOT",
                "SYS_PTRACE"
            ],
            "CapDrop": [
                "AUDIT_CONTROL",
                "BLOCK_SUSPEND",
                "DAC_READ_SEARCH",
                "IPC_LOCK",
                "IPC_OWNER",
                "LEASE",
                "LINUX_IMMUTABLE",
                "MAC_ADMIN",
                "MAC_OVERRIDE",
                "NET_ADMIN",
                "NET_BROADCAST",
                "SYSLOG",
                "SYS_BOOT",
                "SYS_MODULE",
                "SYS_NICE",
                "SYS_PACCT",
                "SYS_RAWIO",
                "SYS_RESOURCE",
                "SYS_TIME",
                "SYS_TTY_CONFIG",
                "WAKE_ALARM"
            ],
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "host",
            "Privileged": false,
            "PublishAllPorts": true,
            "ReadonlyRootfs": false,
            "SecurityOpt": [
                "label=disable"
            ],
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/2960918f56c37c73a01000fc43e270e6d8db6cf01c23a927fbe65bced72afc23-init/diff:/var/lib/docker/overlay2/c50b361437ef40e4556ca60583dc2f0c20dd5face21e96eaf5a61722f08c74bf/diff:/var/lib/docker/overlay2/28b7c6137fe449d1eb10fc09926e6a127a769cb802706b5b04225bcf18e997b0/diff:/var/lib/docker/overlay2/1479bfd8ae0682035b12d661d64a004ee1adc55a55c072318ec4be608d168199/diff:/var/lib/docker/overlay2/154168711bbfdefb3b2363eafe31748a002983b91ecb7b63b9d22632d5d860fe/diff:/var/lib/docker/overlay2/527de6c7c28eef0811ae7ac7defebe9fff388c8a89f66c94533026c03fa3a6e0/diff:/var/lib/docker/overlay2/c1527f23c4a30fa61c3f78c4f3e1562e655974700bcd267be7731e8492274805/diff:/var/lib/docker/overlay2/1354f0dc7aa2ec37bd1102a2e8c1acc43bd324b07847d95119f0d48e231f6afe/diff:/var/lib/docker/overlay2/46ae01ef1c5f5d5f03765d88bb72a54aeb2b39a098e16c07b6dcf9ab0e7c833e/diff:/var/lib/docker/overlay2/4a7c63cbc8cd2c776347fcb402195d810f85fb68108bf66d835d3155a7272fbd/diff:/var/lib/docker/overlay2/757c17b8e86c6b30f902bb4cca0708d55a1855b6d96f8f041d4472eb9f21eded/diff",
                "MergedDir": "/var/lib/docker/overlay2/2960918f56c37c73a01000fc43e270e6d8db6cf01c23a927fbe65bced72afc23/merged",
                "UpperDir": "/var/lib/docker/overlay2/2960918f56c37c73a01000fc43e270e6d8db6cf01c23a927fbe65bced72afc23/diff",
                "WorkDir": "/var/lib/docker/overlay2/2960918f56c37c73a01000fc43e270e6d8db6cf01c23a927fbe65bced72afc23/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/opt/jeedom-v4/html",
                "Destination": "/var/www/html",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/opt/jeedom-v4/db",
                "Destination": "/var/lib/mysql",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "jeedom",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": true,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "TZ=Europe/Paris",
                "PUID=1000",
                "PGID=1000",
                "SYSTEMD_IGNORE_CHROOT=yes",
                "SHELL_ROOT_PASSWORD=volley55",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "sh",
                "/root/init.sh"
            ],
            "Image": "jeedom-v4_jeedom:latest",
            "Volumes": {
                "/var/lib/mysql": {},
                "/var/www/html": {}
            },
            "WorkingDir": "",
            "Entrypoint": null,
            "MacAddress": "a0:ca:ab:cd:ef:03",
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "f5897ce6bf52c31ba8ef476ac1106ee9fdedb19cf723bce68d13515c4a4bf573",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "jeedom-v4",
                "com.docker.compose.project.config_files": "docker-compose.yaml",
                "com.docker.compose.project.working_dir": "/opt/jeedom-v4",
                "com.docker.compose.service": "jeedom",
                "com.docker.compose.version": "1.29.2",
                "version": "1.0"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "9e9e215f4bec7fd963b4d861b0f1024d631e3ed206327f2fbcee2e4ecc08563a",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/9e9e215f4bec",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "mymacvlan": {
                    "IPAMConfig": {
                        "IPv4Address": "192.168.1.243"
                    },
                    "Links": null,
                    "Aliases": [
                        "jeedom",
                        "56eab6157c0b"
                    ],
                    "NetworkID": "a7b10350acffddc05515d52008fcbcd2382673ad09852fe30998efc9bd912da6",
                    "EndpointID": "801fcc743d7fd9cc678d2b0b16d87f56cabc33b9cead1de32d017e80427728ef",
                    "Gateway": "192.168.1.1",
                    "IPAddress": "192.168.1.243",
                    "IPPrefixLen": 24,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "a0:ca:ab:cd:ef:03",
                    "DriverOpts": null
                }
            }
        }
    }
]

Voilà voilà.

Merci pour ces éléments.

Je pense qu’il y a un souci avec l’url de callback du démon jMQTT comme le montre ce log :

Peux-tu cocher la case « URL de Callback » dans la page de configuration du plugin, valider et redémarrer le démon stp ?

Ca doit ressembler à ça (la c’est en béta, mais le champ doit ressembler à la même chose) :

J’avais déjà essayé : ça reste inaccessible.

image
Est-ce normal ça?

1 « J'aime »

Ok, alors laisse l’url de callback par défaut (désactivé) pour le moment.

Je ne sais pas trop, j’aurais tendance à dire que oui vu que tu as accès à Jeedom.

[1] En ce qui concerne l’IP et les credentials, es-tu sur qu’ils sont bon ?

[2] As-tu essayé avec un autre « Identifiant/ClientId » ?

[3] Pourrais tu aussi me donner de plus longs logs du démon en débug ?

[4] Est-ce que tu as déjà réussi a faire fonctionner jMQTT (avant le passage en docker) avec ton broker ? Je vois dans ton sujet de juin 2020 qui tu as déjà eu le même problème :

Je me demande si tes problèmes n’ont pas à voir avec l’utilisation d’un network en macvlan plutôt que simplement en bridge ou host.

Je n’en ai qu’un seul.

[3] Pourrais tu aussi me donner de plus longs logs du démon en débug ?

image
Il ne s’y passe pas grand chose.

[4] Est-ce que tu as déjà réussi a faire fonctionner jMQTT (avant le passage en docker) avec ton broker ? Je vois dans ton sujet de juin 2020 qui tu as déjà eu le même problème :

Je ne me souviens plus trop mais je pense que j’avais dû résoudre le problème.
En tout cas, la semaine dernière, quand Jeedom n’était sous Docker, tout fonctionnait.

Je me demande si tes problèmes n’ont pas à voir avec l’utilisation d’un network en macvlan plutôt que simplement en bridge ou host .

Possible. D’où ma question de tout à l’heure car dans la configuration de mon réseau macvlan, il y a ça :

Mais je t’avoue que je ne maîtrise pas vraiment.

C’est à dire? As-tu suivi la demande de Bad?

Antoine

C’est à dire? Créer un couple id/mdp? Non, je n’ai pas fait ça.
Par contre, j’ai bien vérifié mon id/mdp.
C’est d’ailleurs la première chose que j’ai faite…

Salut
Je pense que ces conflits d’identifiants moquitto sont recurrent dans les conf mqqt2 et jmqtt car il n’est pas prévu pour l’instant de gestion utilisateur par l’un ou l’autre.

Perso j’ai les 2 et ringmqtt et je n’ai jamais eu de pb. Car j’ai d’emblé créé manuellement des utilisateurs dans la conf de mosquitto. Un pour chaque plugin de jeedom et un pour ringmqtt. J’en parle ici et il y a un lien vers un tuto mosquitto

a ta place je créerai donc 2 users distinct pour les 2 plugins, redemarrer mosquitto ensuite renseigner les champ user/pwd dans les plugins

Je parle du champ « Identifiant/ClientId » dans jMQTT, pas « authentification »

Peux-tu essayer de mettre jMQTT plutôt que jeedom dans le champ « Identifiant/ClientId » ?

Pardon, je n’avais pas compris.
J’essaye ça tout à l’heure.

arf autant pour moi😉 j’avais interprété aussi user/mdp

Cela ne change rien.

Après, le contraire aurait été étonnant, non? C’est une installation toute fraîche.

image

Ceci ne vous choque pas? Jeedom qui ne peut pas communiquer avec son hôte ? Il y a peut-être un lien, non?

Au cas où cela puisse faire avancer le Schmilblink, je ne peux pas non plus me connecter à distance à Jeedom (avec un nom de domaine qui pointe vers http://192.168.1.243 et la partie « accès externe » de Jeedom configurée).
image



0439|[2022-11-10 18:06:47,411]DEBUG JMsg.Snd        SockOut           _loopSnd() : Sending 1 msgs
0440|[2022-11-10 18:06:47,506]DEBUG JMsg.Snd        SockOut               send() : Sent TO Jeedom: [{'cmd': 'hb'}]
0441|[2022-11-10 18:07:04,265]DEBUG Main            MainThread            h_hb() : Jeedom sent a Heartbeat.
0442|[2022-11-10 18:07:04,266]INFO Main            MainThread     h_newClient() : Client already exists for Broker 427. Restarting it.
0443|[2022-11-10 18:07:04,266]DEBUG Client427       MainThread            stop() : jMqttClient ended
0444|[2022-11-10 18:07:06,108]ERROR Client427       MainThread           start() : jMqttClient.start() Exception
0445|Traceback (most recent call last):
0446|File "/var/www/html/plugins/jMQTT/resources/jmqttd/jMqttClient.py", line 235, in start
0447|self.mqttclient.connect(self.mqtthostname, self.mqttport, 30)
0448|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 914, in connect
0449|return self.reconnect()
0450|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 1044, in reconnect
0451|sock = self._create_socket_connection()
0452|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 3685, in _create_socket_connection
0453|return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
0454|File "/usr/lib/python3.7/socket.py", line 727, in create_connection
0455|raise err
0456|File "/usr/lib/python3.7/socket.py", line 716, in create_connection
0457|sock.connect(sa)
0458|OSError: [Errno 113] No route to host
0459|[2022-11-10 18:07:32,565]DEBUG JMsg.Snd        SockOut           _loopSnd() : Sending 1 msgs
0460|[2022-11-10 18:07:32,591]DEBUG JMsg.Snd        SockOut               send() : Sent TO Jeedom: [{'cmd': 'hb'}]
0461|[2022-11-10 18:08:05,040]INFO Main            MainThread     h_newClient() : Client already exists for Broker 427. Restarting it.
0462|[2022-11-10 18:08:05,040]DEBUG Client427       MainThread            stop() : jMqttClient ended
0463|[2022-11-10 18:08:07,549]ERROR Client427       MainThread           start() : jMqttClient.start() Exception
0464|Traceback (most recent call last):
0465|File "/var/www/html/plugins/jMQTT/resources/jmqttd/jMqttClient.py", line 235, in start
0466|self.mqttclient.connect(self.mqtthostname, self.mqttport, 30)
0467|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 914, in connect
0468|return self.reconnect()
0469|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 1044, in reconnect
0470|sock = self._create_socket_connection()
0471|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 3685, in _create_socket_connection
0472|return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
0473|File "/usr/lib/python3.7/socket.py", line 727, in create_connection
0474|raise err
0475|File "/usr/lib/python3.7/socket.py", line 716, in create_connection
0476|sock.connect(sa)
0477|OSError: [Errno 113] No route to host
0478|[2022-11-10 18:08:17,683]DEBUG JMsg.Snd        SockOut           _loopSnd() : Sending 1 msgs
0479|[2022-11-10 18:08:17,758]DEBUG JMsg.Snd        SockOut               send() : Sent TO Jeedom: [{'cmd': 'hb'}]
0480|[2022-11-10 18:09:02,908]DEBUG JMsg.Snd        SockOut           _loopSnd() : Sending 1 msgs
0481|[2022-11-10 18:09:03,389]DEBUG JMsg.Snd        SockOut               send() : Sent TO Jeedom: [{'cmd': 'hb'}]
0482|[2022-11-10 18:09:04,301]DEBUG Main            MainThread            h_hb() : Jeedom sent a Heartbeat.
0483|[2022-11-10 18:09:04,302]INFO Main            MainThread     h_newClient() : Client already exists for Broker 427. Restarting it.
0484|[2022-11-10 18:09:04,309]DEBUG Client427       MainThread            stop() : jMqttClient ended
0485|[2022-11-10 18:09:05,919]ERROR Client427       MainThread           start() : jMqttClient.start() Exception
0486|Traceback (most recent call last):
0487|File "/var/www/html/plugins/jMQTT/resources/jmqttd/jMqttClient.py", line 235, in start
0488|self.mqttclient.connect(self.mqtthostname, self.mqttport, 30)
0489|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 914, in connect
0490|return self.reconnect()
0491|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 1044, in reconnect
0492|sock = self._create_socket_connection()
0493|File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/paho/mqtt/client.py", line 3685, in _create_socket_connection
0494|return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
0495|File "/usr/lib/python3.7/socket.py", line 727, in create_connection
0496|raise err
0497|File "/usr/lib/python3.7/socket.py", line 716, in create_connection
0498|sock.connect(sa)
0499|OSError: [Errno 113] No route to host

Est-ce que cela pourrait t’aider davantage?

Absolument !
Il est maintenant évident que jMQTT n’arrive pas à joindre le Broker :

0458|OSError: [Errno 113] No route to host

C’est donc un problème de communication entre le container Jeedom et celui du Broker, pas jMQTT.

Je pense qu’il y a un problème de config dans la partie network de Docker

En effet, c’est choquant qu’il y ait un problème de connectivité à ce niveau là.
Serait-il possible d’avoir un schema de ce que vous souhaitez faire, qui fait le routage, quels sont les plans d’adressage et les roles/configurations de chacun des équipements ?

En tout cas, ça dépasse mes compétences en Docker, je ne maitrise pas les macvlan, j’utilise uniquement des network host et bridge.

Alors le broker n’est pas dans un containeur mais installé sur Debian : je ne sais pas ça change quelque chose.

Une description de mon installation?

Oui, au moins de ce qu’il y a entre la box internet, le Broker et Jeedom.

Sur un microserveur (HP N54L), j’ai 2 VM dont Debian 11.
Sur Debian est installé le broker avec lequel communique Home Assistant Supervisé (installé sous Docker) et Jeedom (sous Docker aussi)… en théorie.

Si quelqu’un s’y connait en réseau macvlan, voici mon réseau sur Debian :

Et les lignes de code pour créer le containeur network ( qui ne fonctionne pas correctement) :

docker network create \
-d macvlan \
--subnet=192.168.1.0/24 \
--ip-range=192.168.1.240/29 \
--gateway=192.168.1.1 \
--aux-address="host_bridge=192.168.1.241" \
-o parent=ens160 \
mymacvlan
1 « J'aime »