MQTT - pierwsze kroki

bigthomas
Posts: 234
Joined: Mon Aug 12, 2019 3:35 pm

Post

Przeglądnąłem cały temat MQTT i dalej nie potrafię poradzić sobie z uruchomieniem.
Integracja z oficjalnym serwerem supli po MQTT z HA poszło bez problemu.
Natomiast mam problem z połączeniem po MQTT z lokalnym serwerem supli.
Co oprócz zmian w pliku ".env" należy wykonać?

Code: Select all

# MQTT Broker settings (you have to run the broker yourself)
MQTT_BROKER_ENABLED=true
MQTT_BROKER_HOST=Adres IP serwera HA na którym jest broker MQTT
MQTT_BROKER_PORT=8883
MQTT_BROKER_TLS=true
MQTT_BROKER_USERNAME=ustawienie nazwy użytkownika
MQTT_BROKER_PASSWORD=ustawienie hasła
MQTT_BROKER_CLIENT_ID=supla_mqtt
Próbuje na początku połączyć się poprzez MQTT Explorer i niestety nie mogę się połączyć (z oficjalnym serwerem łączę się bez problemów)
User avatar
pzygmunt
Posts: 19021
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Musisz postawić własny broker mqtt i w .env wprowadzasz ustawienia dostępu do tego brokera.
effendi
Posts: 165
Joined: Wed Apr 26, 2017 9:36 am

Post

Cześć, żeby nie śmiecić pozwolę sobie podłączyć pod temat.
Próbuje skonfigurować MQTT. (2x RPI na jednym HA, na drugim działająca Spula)
Mosquitto.conf na HA

Code: Select all

connection bridge-xxxxxxxx
address adres_IP_HA:1883
topic supla/# in
topic homeassistant/# in
topic supla/+/devices/+/channels/+/execute_action out
topic supla/+/devices/+/channels/+/set/+ out
remote_username mqtt_user
remote_password xxxx
bridge_capath /etc/ssl/certs
.env na supli

Code: Select all

# MQTT Broker settings (you have to run the broker yourself)
MQTT_BROKER_ENABLED=true
MQTT_BROKER_HOST=adres_ip_HA
MQTT_BROKER_PORT=1883
MQTT_BROKER_TLS=true
MQTT_BROKER_USERNAME=mqtt_user
MQTT_BROKER_PASSWORD=xxxx
MQTT_BROKER_CLIENT_ID=supla_mqtt
Włączony bloker MQTT na Supli

logi mosquitto na HA

Code: Select all

[07:00:44] 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
[07:00:45] INFO: Starting NGINX for authentication handling...
[07:00:45] INFO: Starting mosquitto MQTT broker...
1681966845: Loading config file /share/mosquitto/mosquitto.conf
2023-04-20 07:00:45: Warning: Mosquitto should not be run as root/administrator.
[07:00:47] INFO: Successfully send discovery information to Home Assistant.
[07:00:47] INFO: Successfully send service information to the Supervisor.
2023-04-20 07:00:45: mosquitto version 2.0.15 starting
2023-04-20 07:00:45: Config loaded from /etc/mosquitto/mosquitto.conf.
2023-04-20 07:00:45: Loading plugin: /usr/share/mosquitto/go-auth.so
2023-04-20 07:00:45:  ├── Username/password checking enabled.
2023-04-20 07:00:45:  ├── TLS-PSK checking enabled.
2023-04-20 07:00:45:  └── Extended authentication not enabled.
2023-04-20 07:00:45: Opening ipv4 listen socket on port 1883.
2023-04-20 07:00:45: Opening ipv6 listen socket on port 1883.
2023-04-20 07:00:45: Opening websockets listen socket on port 1884.
2023-04-20 07:00:45: Connecting bridge bridge-Li24c04H1965! (192.168.1.31:1883)
2023-04-20 07:00:45: mosquitto version 2.0.15 running
2023-04-20 07:00:46: New connection from 172.30.32.1:51844 on port 1883.
2023-04-20 07:00:46: Expiring client local.core-mosquitto.bridge-Li24c04H1965! due to timeout.
2023-04-20 07:00:46: Client <unknown> disconnected due to protocol error.
2023-04-20 07:00:46: New connection from 127.0.0.1:36576 on port 1883.
2023-04-20 07:00:46: Client <unknown> closed its connection.
2023-04-20 07:01:17: New connection from 172.30.32.1:42043 on port 1883.
2023-04-20 07:01:17: New client connected from 172.30.32.1:42043 as 0cccc79r86QODy5BXQDTSQ (p2, c1, k60, u'mqtt_user').
2023-04-20 07:02:43: New connection from 192.168.1.12:50610 on port 1883.
2023-04-20 07:02:43: Client <unknown> closed its connection.
2023-04-20 07:03:33: New connection from 172.30.32.2:43818 on port 1883.
2023-04-20 07:03:33: Client <unknown> closed its connection.
2023-04-20 07:03:38: New connection from 192.168.1.12:50884 on port 1883.
2023-04-20 07:03:38: Client <unknown> closed its connection.
2023-04-20 07:04:16: New connection from 192.168.1.12:51076 on port 1883.
2023-04-20 07:04:16: Client <unknown> closed its connection.
2023-04-20 07:05:22: New connection from 192.168.1.12:51396 on port 1883.
2023-04-20 07:05:22: Client <unknown> closed its connection.
2023-04-20 07:05:33: New connection from 172.30.32.2:50292 on port 1883.
2023-04-20 07:05:33: Client <unknown> closed its connection.
2023-04-20 07:06:28: New connection from 192.168.1.12:51714 on port 1883.
2023-04-20 07:06:28: Client <unknown> closed its connection.
2023-04-20 07:07:33: New connection from 172.30.32.2:43128 on port 1883.
2023-04-20 07:07:33: Client <unknown> closed its connection.
2023-04-20 07:09:33: New connection from 172.30.32.2:43444 on port 1883.
2023-04-20 07:09:33: Client <unknown> closed its connection.
2023-04-20 07:11:33: New connection from 172.30.32.2:48216 on port 1883.
2023-04-20 07:11:33: Client <unknown> closed its connection.
2023-04-20 07:13:33: New connection from 172.30.32.2:44036 on port 1883.
2023-04-20 07:13:33: Client <unknown> closed its connection.
2023-04-20 07:15:33: New connection from 172.30.32.2:59080 on port 1883.
2023-04-20 07:15:33: Client <unknown> closed its connection.
2023-04-20 07:16:45: New connection from 192.168.1.12:54516 on port 1883.
2023-04-20 07:16:45: Client <unknown> closed its connection.
2023-04-20 07:17:12: New connection from 192.168.1.12:54642 on port 1883.
2023-04-20 07:17:12: Client <unknown> closed its connection.
2023-04-20 07:17:33: New connection from 172.30.32.2:52730 on port 1883.
2023-04-20 07:17:33: Client <unknown> closed its connection.
2023-04-20 07:19:33: New connection from 172.30.32.2:54400 on port 1883.
2023-04-20 07:19:33: Client <unknown> closed its connection.
2023-04-20 07:21:33: New connection from 172.30.32.2:54294 on port 1883.
2023-04-20 07:21:33: Client <unknown> closed its connection.
2023-04-20 07:23:33: New connection from 172.30.32.2:33062 on port 1883.
2023-04-20 07:23:33: Client <unknown> closed its connection.
2023-04-20 07:25:33: New connection from 172.30.32.2:35750 on port 1883.
2023-04-20 07:25:33: Client <unknown> closed its connection.
2023-04-20 07:26:00: New connection from 192.168.1.12:56938 on port 1883.
2023-04-20 07:26:00: Client <unknown> closed its connection.
2023-04-20 07:27:33: New connection from 172.30.32.2:33754 on port 1883.
Rejestr encji na HA pokazuje prawidłowo zassane urządzenia z supli
Linki bezpośrednie (sterowanie bramą) działają

HA - ustawienia/Urządzenia i usługi/Integracje Core-mosqiutto - brak urządzeń-encji

Natomiast próba włączenia światła powoduje komunikat
Nie udało się wywołać usługi switch/turnoff
Będę wdzięczny za pomoc we właściwej konfiguracji. THX
Pogodynka >>
ic3ek
Posts: 29
Joined: Fri Nov 13, 2020 12:00 am

Post

effendi wrote: Thu Apr 20, 2023 5:20 am Cześć, żeby nie śmiecić pozwolę sobie podłączyć pod temat.
Próbuje skonfigurować MQTT. (2x RPI na jednym HA, na drugim działająca Spula)
Mosquitto.conf na HA

Code: Select all

connection bridge-xxxxxxxx
address adres_IP_HA:1883
topic supla/# in
topic homeassistant/# in
topic supla/+/devices/+/channels/+/execute_action out
topic supla/+/devices/+/channels/+/set/+ out
remote_username mqtt_user
remote_password xxxx
bridge_capath /etc/ssl/certs
.env na supli

Code: Select all

# MQTT Broker settings (you have to run the broker yourself)
MQTT_BROKER_ENABLED=true
MQTT_BROKER_HOST=adres_ip_HA
MQTT_BROKER_PORT=1883
MQTT_BROKER_TLS=true
MQTT_BROKER_USERNAME=mqtt_user
MQTT_BROKER_PASSWORD=xxxx
MQTT_BROKER_CLIENT_ID=supla_mqtt
Włączony bloker MQTT na Supli

logi mosquitto na HA

Code: Select all

[07:00:44] 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
[07:00:45] INFO: Starting NGINX for authentication handling...
[07:00:45] INFO: Starting mosquitto MQTT broker...
1681966845: Loading config file /share/mosquitto/mosquitto.conf
2023-04-20 07:00:45: Warning: Mosquitto should not be run as root/administrator.
[07:00:47] INFO: Successfully send discovery information to Home Assistant.
[07:00:47] INFO: Successfully send service information to the Supervisor.
2023-04-20 07:00:45: mosquitto version 2.0.15 starting
2023-04-20 07:00:45: Config loaded from /etc/mosquitto/mosquitto.conf.
2023-04-20 07:00:45: Loading plugin: /usr/share/mosquitto/go-auth.so
2023-04-20 07:00:45:  ├── Username/password checking enabled.
2023-04-20 07:00:45:  ├── TLS-PSK checking enabled.
2023-04-20 07:00:45:  └── Extended authentication not enabled.
2023-04-20 07:00:45: Opening ipv4 listen socket on port 1883.
2023-04-20 07:00:45: Opening ipv6 listen socket on port 1883.
2023-04-20 07:00:45: Opening websockets listen socket on port 1884.
2023-04-20 07:00:45: Connecting bridge bridge-Li24c04H1965! (192.168.1.31:1883)
2023-04-20 07:00:45: mosquitto version 2.0.15 running
2023-04-20 07:00:46: New connection from 172.30.32.1:51844 on port 1883.
2023-04-20 07:00:46: Expiring client local.core-mosquitto.bridge-Li24c04H1965! due to timeout.
2023-04-20 07:00:46: Client <unknown> disconnected due to protocol error.
2023-04-20 07:00:46: New connection from 127.0.0.1:36576 on port 1883.
2023-04-20 07:00:46: Client <unknown> closed its connection.
2023-04-20 07:01:17: New connection from 172.30.32.1:42043 on port 1883.
2023-04-20 07:01:17: New client connected from 172.30.32.1:42043 as 0cccc79r86QODy5BXQDTSQ (p2, c1, k60, u'mqtt_user').
2023-04-20 07:02:43: New connection from 192.168.1.12:50610 on port 1883.
2023-04-20 07:02:43: Client <unknown> closed its connection.
2023-04-20 07:03:33: New connection from 172.30.32.2:43818 on port 1883.
2023-04-20 07:03:33: Client <unknown> closed its connection.
2023-04-20 07:03:38: New connection from 192.168.1.12:50884 on port 1883.
2023-04-20 07:03:38: Client <unknown> closed its connection.
2023-04-20 07:04:16: New connection from 192.168.1.12:51076 on port 1883.
2023-04-20 07:04:16: Client <unknown> closed its connection.
2023-04-20 07:05:22: New connection from 192.168.1.12:51396 on port 1883.
2023-04-20 07:05:22: Client <unknown> closed its connection.
2023-04-20 07:05:33: New connection from 172.30.32.2:50292 on port 1883.
2023-04-20 07:05:33: Client <unknown> closed its connection.
2023-04-20 07:06:28: New connection from 192.168.1.12:51714 on port 1883.
2023-04-20 07:06:28: Client <unknown> closed its connection.
2023-04-20 07:07:33: New connection from 172.30.32.2:43128 on port 1883.
2023-04-20 07:07:33: Client <unknown> closed its connection.
2023-04-20 07:09:33: New connection from 172.30.32.2:43444 on port 1883.
2023-04-20 07:09:33: Client <unknown> closed its connection.
2023-04-20 07:11:33: New connection from 172.30.32.2:48216 on port 1883.
2023-04-20 07:11:33: Client <unknown> closed its connection.
2023-04-20 07:13:33: New connection from 172.30.32.2:44036 on port 1883.
2023-04-20 07:13:33: Client <unknown> closed its connection.
2023-04-20 07:15:33: New connection from 172.30.32.2:59080 on port 1883.
2023-04-20 07:15:33: Client <unknown> closed its connection.
2023-04-20 07:16:45: New connection from 192.168.1.12:54516 on port 1883.
2023-04-20 07:16:45: Client <unknown> closed its connection.
2023-04-20 07:17:12: New connection from 192.168.1.12:54642 on port 1883.
2023-04-20 07:17:12: Client <unknown> closed its connection.
2023-04-20 07:17:33: New connection from 172.30.32.2:52730 on port 1883.
2023-04-20 07:17:33: Client <unknown> closed its connection.
2023-04-20 07:19:33: New connection from 172.30.32.2:54400 on port 1883.
2023-04-20 07:19:33: Client <unknown> closed its connection.
2023-04-20 07:21:33: New connection from 172.30.32.2:54294 on port 1883.
2023-04-20 07:21:33: Client <unknown> closed its connection.
2023-04-20 07:23:33: New connection from 172.30.32.2:33062 on port 1883.
2023-04-20 07:23:33: Client <unknown> closed its connection.
2023-04-20 07:25:33: New connection from 172.30.32.2:35750 on port 1883.
2023-04-20 07:25:33: Client <unknown> closed its connection.
2023-04-20 07:26:00: New connection from 192.168.1.12:56938 on port 1883.
2023-04-20 07:26:00: Client <unknown> closed its connection.
2023-04-20 07:27:33: New connection from 172.30.32.2:33754 on port 1883.
Rejestr encji na HA pokazuje prawidłowo zassane urządzenia z supli
Linki bezpośrednie (sterowanie bramą) działają

HA - ustawienia/Urządzenia i usługi/Integracje Core-mosqiutto - brak urządzeń-encji

Natomiast próba włączenia światła powoduje komunikat
Nie udało się wywołać usługi switch/turnoff
Będę wdzięczny za pomoc we właściwej konfiguracji. THX
Cześć.

Zastanawia mnie tylkojedna rzecz . dlaczego masz ustawione to w bridge , przecież w Mosquito nie musisz mnieć nic ustawione. oprócz postawionego brokera.

Jeśli dobrze skonfigurowałeś suple po mqtt to Supla sama loguje sie do brokera , nie jest potrzebny zaden bridge,
pozatym jak dobrze pamiętam ja w swojej instalacji supli przy kompilacji miałem TLS na false,
przy lokalnej sieci nie jest wymagane szyfrowanie

Sprawdz jeszcze czy masz w brokerze ustawione automatyczne wykrywanie urządzeń.
damianK
Posts: 3
Joined: Sun Oct 15, 2023 12:17 pm

Post

Witam

Wyjaśnijcie mi proszę bo nie bardzo to rozumiem i prawdopodobnie dlatego mam problem z połączeniem HA MQTT Bridge Supli.

Czytam od dłuższego czasu forum i wnioskuję że są dwa sposoby połączenia się mostem do supli jeden to stworzenie mostu na serwer supli a drugi to postawienie własnego serwera supli lokalnie i połączenie mostem lokalnie?

Aktualnie nie mam u siebie własnego serwera (lokalnego) supli i chciałbym się połączyć do "właściwego" serwera supli
postępuje wg. opisu ze strony :
https://drive.google.com/file/d/10HTT6j ... KQwb3/view
Niestety nie mogę tego dopiąć poprawnie
logi z HA w załączniku

Konfigurację pliku mosqitto.conf załączam również.

Proszę o pomoc.
You do not have the required permissions to view the files attached to this post.
User avatar
klew
Posts: 9413
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

damianK wrote: Sun Oct 15, 2023 12:56 pm Witam

Wyjaśnijcie mi proszę bo nie bardzo to rozumiem i prawdopodobnie dlatego mam problem z połączeniem HA MQTT Bridge Supli.

Czytam od dłuższego czasu forum i wnioskuję że są dwa sposoby połączenia się mostem do supli jeden to stworzenie mostu na serwer supli a drugi to postawienie własnego serwera supli lokalnie i połączenie mostem lokalnie?

Aktualnie nie mam u siebie własnego serwera (lokalnego) supli i chciałbym się połączyć do "właściwego" serwera supli
postępuje wg. opisu ze strony :
https://drive.google.com/file/d/10HTT6j ... KQwb3/view
Niestety nie mogę tego dopiąć poprawnie
logi z HA w załączniku

Konfigurację pliku mosqitto.conf załączam również.

Proszę o pomoc.
Myślę, że źle to rozumiesz i stąd problemy.
Serwer Supli - możesz mieć publiczny lub własny.
Serwer publiczny na wbudowany broker mqtt.
Serwer prywatny nie ma wbudowanego brokera mqtt - tutaj trzeba postawić własny broker mqtt.
Most ustawia się między dwoma brokerami mqtt, a nie serwerami Supli.
Także jeśli nie używasz własnego brokera mqtt, to mqtt w HA możesz ustawić bezpośrednio na broker mqtt na publicznym serwerze.
Jeśli używasz własnego brokera mqtt (np masz inne urządzenia, które tego używają), to między Twoim brokerem, a brokerem mqtt z publicznego serwera ustawisz most.
Kiedy będzie Supla Offline Party / SOP#2025 ?
damianK
Posts: 3
Joined: Sun Oct 15, 2023 12:17 pm

Post

Ok. To teraz rozumie.

W moim przypadku mam broker mqtt w HA który obsługuje zigbee2mqtt sonoff zigbeedongl. Czyli „buduje” most między własnym brokerem a brokerem publicznym supli.

Aktualnie postępowałem wg instrukcji którą załączyłem powyżej i niestety dostaje logi na dodatku mqtt w HA takie jak załączyłem powyżej. Czy postępowałem w takim razie prawidłowo ?
User avatar
klew
Posts: 9413
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

damianK wrote: Sun Oct 15, 2023 2:47 pm
Aktualnie postępowałem wg instrukcji którą załączyłem powyżej i niestety dostaje logi na dodatku mqtt w HA takie jak załączyłem powyżej. Czy postępowałem w takim razie prawidłowo ?
Nigdy tego nie konfigurowałem, ale wygląda jakby tutaj coś z adresu 172... Łączyło się z Twoim brokerem na porcie 1883.
Także to wygląda na jakieś inne połączenie.

Btw. Sprawdź czy dobry adres podałeś, bo z tego co pamiętam, brokery mqtt mają adresy mqtt64.suola.org (albo coś w tym stylu)
Kiedy będzie Supla Offline Party / SOP#2025 ?
damianK
Posts: 3
Joined: Sun Oct 15, 2023 12:17 pm

Post

Witam

Rozwiązałem własny problem.

Czytając inne fora i problemy początkujących użytkowników z mqtt dotarłem do informacji które w sumie są tym samym co mówi instrukcja supli ale używa dodatku samba share.

Łącząc się do HA przez samba odszukujemy folder "share" w nim powinien być folder "mosquitto" i tam tworzymy nowy plik notatnika wpisujemy dane które są podane w instrukcji supli "connection bridge-R....." wypełniamy wszystkie dane czyli nazwę użytkownika hasło serwer supli (tu mała uwaga w miejscu ADRES podaj adres ze strony głównej supli po zalogowaniu do konta a nie jak i ja myślałem Host brokera mqtt z strony ustawień mqtt).

Po wypełnieniu wszystkich danych zapisujemy plik i zmieniamy jego nazwę wraz z rozszerzeniem na "mosquitto.conf"
wchodzimy do HA, uruchamiamy ponownie dodatek Mosquitto broker i bingo u mnie działa.

Pozdrawiam
Hobo
Posts: 62
Joined: Sun Sep 29, 2019 8:08 pm

Post

cześć,
czy broker mqtt supli jest skonfigurowany tylko do odczytu?
czy w tym brokerze mogę utworzyć nowy topic i publikować do niego komunikaty? czy tak utworzone tematy będą miały swoje odzwierciedlenie w cloud oraz aplikacji?

pozdro.
-------------------------------------------------------------------------------
Jeśli nie uważałeś jak robiłeś to rób jak uważasz.
Jeśli uważałeś to bądź pewny tego co zrobiłeś.

Return to “MQTT”