Esphome w zewnętrznej sieci -> mqtt + bridge - błąd komunikacji

Dzień dobry forumowicze.

Podchodzę chyba już ze 3 raz do podłączenia urządzenia esp8266 przez mqtt do swojego HA.

Po kolei. Stworzyłem konto na beebotte, podpiąłem esp8266 i stworzyłem bridge w mosquitto.
Patrząc na mqtt explorer:

Bridge:

image

Konfiguracja Esphome:

Integracja MQTT:

Czy ktoś ma jakiś pomysł na naprawę tego?
Z góry dziękuję serdecznie za każde podpowiedzi.

@kuba_x Przede wszystkim następnym razem - bez obrazków z kodami, konfiguracjami i itd bo tracimy czas na przepisywanie a jak wiadomo tego czasu nie mamy i stracisz nie chcemy.

W konfiguracji brigde identyfikator - connection - musi być unikatowy, niepowtarzalny, jeden dla całego systemu beebotte dlatego dopisz na koncu totalnie randomowy string. Podobnie jest dla brigde do serwerów Supli - SUPLA => Supla-mqtt-client => MQTT => Home Assistant - #14 przez macek

Dzień dobry @macek, dziękuję i oczywiście w przyszłości poprawie swoje posty.

Dodałem zgodnie z Twoją podpowiedzią randomowy string, wygląda to tak (usunąłem usera na potrzebe wklejenia zawartości bridge.conf):

connection bridge-khjhgdfgcbvjhhh623364gfrt
address mqtt.beebotte.com:1883
log_type all
cleansession true
remote_clientid beebotte
topic homeassistant/# in
topic homeassistant/# out
remote_username 
#remote_password ' '

Nic się nie zmieniło, encja dalej jest martwa.

Dziękuję @szopen , poprawione.

To jest konfiguracja bridge z Mosquitto do mqtt.beebotte.com:1883. Jeżeli polaczenie zostało nawiązanie poprawnie to podłączając się do Mosquitto musisz widzieć wiadomości z beebotte dotyczące Twojego ESPHome, możesz to potwierdzić?

Sprawdziłem logi w Mosquitto.
Brak informacji o urządzeniu ESPHome.

Poniżej log ze startu Mosquitto:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/mosquitto.sh
[15:19:22] INFO: Setting up user mosha
[15:19:23] INFO: SSL is not enabled
cont-init: info: /etc/cont-init.d/mosquitto.sh exited 0
cont-init: info: running /etc/cont-init.d/nginx.sh
cont-init: info: /etc/cont-init.d/nginx.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun mosquitto (no readiness notification)
services-up: info: copying legacy longrun nginx (no readiness notification)
s6-rc: info: service legacy-services successfully started
[15:19:25] INFO: Starting NGINX for authentication handling...
[15:19:26] INFO: Starting mosquitto MQTT broker...
1707661166: Loading config file /share/mosquitto/bridge.conf
1707661166: Loading config file /share/mosquitto/mosquitto.conf
2024-02-11 15:19:26: Warning: Mosquitto should not be run as root/administrator.
2024-02-11 15:19:26: mosquitto version 2.0.18 starting
2024-02-11 15:19:26: Config loaded from /etc/mosquitto/mosquitto.conf.
2024-02-11 15:19:26: Loading plugin: /usr/share/mosquitto/go-auth.so
2024-02-11 15:19:26:  ├── Username/password checking enabled.
2024-02-11 15:19:26:  ├── TLS-PSK checking enabled.
2024-02-11 15:19:26:  └── Extended authentication not enabled.
2024-02-11 15:19:26: Opening ipv4 listen socket on port 1883.
2024-02-11 15:19:26: Opening ipv6 listen socket on port 1883.
2024-02-11 15:19:26: Opening websockets listen socket on port 1884.
2024-02-11 15:19:26: Bridge local.beebotte doing local SUBSCRIBE on topic homeassistant/#
2024-02-11 15:19:26: Connecting bridge bridge-khjhgdfgcbvjhhh623364gfrt (mqtt.beebotte.com:1883)
2024-02-11 15:19:26: Bridge beebotte sending CONNECT
2024-02-11 15:19:26: mosquitto version 2.0.18 running
2024-02-11 15:19:26: New connection from 127.0.0.1:50222 on port 1883.
2024-02-11 15:19:26: Client <unknown> disconnected due to protocol error.
2024-02-11 15:19:26: New connection from 172.30.32.1:44499 on port 1883.

i ciąg dalszy już po starcie:

2024-02-11 15:20:32: Bridge local.beebotte doing local SUBSCRIBE on topic homeassistant/#
2024-02-11 15:20:32: Connecting bridge bridge-khjhgdfgcbvjhhh623364gfrt (mqtt.beebotte.com:1883)
2024-02-11 15:20:32: Bridge beebotte sending CONNECT
2024-02-11 15:20:33: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:33: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:33: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:33: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:20:33: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:20:33: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:20:39: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Vici_wallplug', ... (86 bytes))
2024-02-11 15:20:39: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Vici_wallplug', ... (86 bytes))
2024-02-11 15:20:39: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Vici_wallplug', ... (86 bytes))
2024-02-11 15:20:43: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:43: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:43: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:43: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:20:43: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:20:43: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:20:53: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:53: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:53: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:20:53: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:20:53: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:20:53: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:03: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:03: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:03: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:03: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:03: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:03: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:13: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:13: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:13: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:13: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:13: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:13: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:23: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:23: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:23: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:23: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:23: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:23: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:27: Received PINGREQ from 1TrXodH2xzTXLuxvTukxRe
2024-02-11 15:21:27: Sending PINGRESP to 1TrXodH2xzTXLuxvTukxRe
2024-02-11 15:21:30: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/TV_wallplug', ... (87 bytes))
2024-02-11 15:21:30: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/TV_wallplug', ... (87 bytes))
2024-02-11 15:21:30: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/TV_wallplug', ... (87 bytes))
2024-02-11 15:21:31: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Vici_wallplug', ... (86 bytes))
2024-02-11 15:21:31: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Vici_wallplug', ... (86 bytes))
2024-02-11 15:21:31: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Vici_wallplug', ... (86 bytes))
2024-02-11 15:21:31: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Okap_wallplug', ... (83 bytes))
2024-02-11 15:21:31: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Okap_wallplug', ... (83 bytes))
2024-02-11 15:21:31: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Okap_wallplug', ... (83 bytes))
2024-02-11 15:21:31: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/pralka_wallplug', ... (88 bytes))
2024-02-11 15:21:31: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/pralka_wallplug', ... (88 bytes))
2024-02-11 15:21:31: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/pralka_wallplug', ... (88 bytes))
2024-02-11 15:21:33: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:33: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:33: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:33: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:33: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:33: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:38: New connection from 172.30.32.2:42732 on port 1883.
2024-02-11 15:21:38: Client <unknown> closed its connection.
2024-02-11 15:21:43: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:43: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:43: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:43: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:43: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:43: Sending PUBLISH to mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1066 bytes))
2024-02-11 15:21:48: Bridge local.beebotte doing local SUBSCRIBE on topic homeassistant/#
2024-02-11 15:21:48: Connecting bridge bridge-khjhgdfgcbvjhhh623364gfrt (mqtt.beebotte.com:1883)
2024-02-11 15:21:48: Bridge beebotte sending CONNECT
2024-02-11 15:21:53: Received PUBLISH from mqttjs_1560d55d (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))
2024-02-11 15:21:53: Sending PUBLISH to 1TrXodH2xzTXLuxvTukxRe (d0, q0, r0, m0, 'zigbee2mqtt/Trrmostat_Vici', ... (1067 bytes))

Wyczyściłem też wszystkie wiadomośći w MQTT Explorerze i zrestetowałem Mosquitto żeby sprawdzić połączenie - żadna wiadomość nie została przesłana do beebotte.

Pogrzebałem trochę w necie bo mi to spokoju nie daje. Natknąłem się na stronę steves-internet-guide gdzie autor tak przedstawił działającą konfigurację do bridga z beebotte:

port 1883
log_type all
connection bridge-01
address mqtt.beebotte.com
try_private false
cleansession true
topic house/# out 0 
topic house/# in 0 
remote_clientid broker1
remote_username 5I6IJSjYNFtfcvNhEZXAAZXOpWWGZt6WfgAY
#remote_password ' '
#################################

Dodałem w swojej konfiguracji
try_private false
i okazało się, że coś ruszyło. Mianowicie, jest komunikacja z HA w stronę beebotte. Czyli, publikuję wiadomość testową o temacie homeasssistant i pojawia się ta wiadomość w mqttexplorerze.

Niestety - i tu mój problem, w drugą stronę nie działa. Czyli publikując w mqttexplorer wiadomość testową o tym samym temacie, nie dociera ona do mosquitto z włączonym nasłuchem.

Coś napewno się ruszyło, widać to w mqtt na karcie encji ale zgodnie z tym co wiadać, urządzenie cały czas jest niedostępne.

Ktoś ma jakiś pomysł na to?

:thinking: a do jakiego brokera MQTT podłaczyłeś się mqttexplorerem? Komunikacja wygląda następująco: HA → broker Mosquitto ↔ broker Beebotte ← ESPHome.
Osobiście testy zaczynam od podstawowej najprostszej konfiguracji czyli w tym przypadku bez mechnizmu auto discover MQTT - Discovery messages:

  • łaczę się do broker Beebotte mqttexplorerem i publikuję wiadomość
  • łaczę się do broker Mosquitto mqttexplorerem i sprawdzam czy otrzymałem wysłaną wcześniej wiadomość

Po rozwiązaniu tego połaczenia robię to samo ale publikując tę samą wiadomość z ESPHome do Beebotte i odbieram w Mosquitto, jeżeli działa dodaję ręcznie encję MQTT Switch do HA. Jak wszystko działa rekonfiguruję aby skorzystać z mechanizmu MQTT - Home Assistant. Takie podejście, trochę dłuugie, powoduje, że uczę sie jak cały mechanizm działa, wiem co i jak, wiem, w którym miejscu diagnozować ewentualne problemy.

Odpaliłem dwa mqttexplorer’y jednocześnie. Pierwszym podłączyłem się do beebotte. Drugim do brokera lokalnego. W obu publikowałem wiadomość z tematem homeassistant.

  1. Po wysłaniu wiadomości z lokalnego na beebotte zobaczyłęm ową wiadomość - poniżej pierwszy screen

  2. Po wysłaniu wiadomości z beebotte, owa wiadomość na lokalny nie dotarła - drugi screen

ESPHome, sądzę, że poprawnie połączył się z beebotte ponieważ po wyzwoleniu przycisku, zmienia się za każdym razem stan stycznika za który ten przycisk odpowiada. - pokazałem to na screen’ie 3 poniżej

Poniżej, ESPHome - podłączony poprawnie do beebotte (tak przynajmniej uważam)