Problem ze zrozumieniem jak działa komunikacja MQTT

@jolka

Mam pytanie, czy możesz mi powiedzieć dlaczego po aktualizacji bramki, bramka nie widzi moich sterowników ?
Muszę wejść po www do każdego z nich , zrobić restart i dopiero są widziane i działają z bramką. I jeszcze jedno, czy da się przypisać stale adresy Ip do bramki i do wszystkich sterowników.

Najlepiej to zrobić na routerze który masz w swojej sieci. Przypisać mac adresy kart sieciowych do odpowiednich adresów IP i po kłopocie. Static DHCP. Jeśli nie masz dostępu do routera bo jest od dostawcy np. to można sam serwer DHCP postawić w sieci i skonfigurować żeby przypisywał na stałe adresy IP. Nawet na AIS można DHCP postawić po tym jak przypiszesz stały adres IP do bramki.

Domyślam się, że być może chodzi o urządzenia MQTT które mają inny soft niż AIS (albo mają ustawienia z innego softu).

To już było wyjaśniane wiele razy ale postaram się jeszcze raz.

Jeżeli chodzi o auto discovery (czyli mechanizm pozwalający na automatyczne wykrywanie urządzeń) to kluczowe jest to zdanie:

Rozbijmy to zdanie na 3 punkty:

1. W naszej kompilacji oprogramowania Tasmota automatycznie ustawiamy na urządzeniu, żeby przedstawiało się bramce (mqtt discovery)

Urządzenie po włączeniu automatycznie przedstawia się bramce - wysyła do niej komunikat disovery, z opisem jak się nazywa i jak z nim się komunikować. Za mqtt discovery odpowiada parametr SetOption19.
Żeby sprawdzić, jaka jest wartość tego parametru, wystarczy w konsoli wpisać SetOption19.
A żeby go włączyć, to wystarczy w konsoli urządzenia wpisać:

SetOption19 1

Po tym urządzenie przedstawi się bramce MQTT (i będzie się już zawsze przedstawiać, jeżeli coś się zmieni w jego ustawieniach lub zostanie zrestartowane).

2. Wszystkie urządzenia dodane są też do grupy dom

Wszystkie nasze urządzenia mają wspólny grupowy temat dom, na którym nasłuchują komunikatów z bramki.

Żeby sprawdzić, jaka jest wartość tematu grupowego GroupTopic, wystarczy w konsoli wpisać GroupTopic. A żeby przestawić ten parametr, to wystarczy w konsoli urządzenia wpisać:

GroupTopic dom

3. Bramka po uruchomieniu publikuje na tę grupę prośbę o przedstawienie się do urządzeń i ustala komunikację z nowymi urządzeniami.

Jeżeli Asystent domowy jest restartowany/aktualizowany to po ponownym uruchomieniu automatycznie publikuje na GroupTopic dom prośbę do urządzeń o przedstawienie się.

Podsumowując, jeżeli ustawisz na urządzeniu:

  1. SetOption19 1
  2. GroupTopic dom

to bez względu na to, co zrestartujesz (bramkę czy urządzenie) to i tak po ponowny uruchomieniu automatycznie dojdzie do ponownej komunikacji.

To nie jest normalnie potrzebne, po to jest MQTT, żeby urządzenia komunikowały się, nie znając swojego IP, tu też cytat z tego samego FAQ:

To zadziała tylko z naszą kompilacją.


PS

Ja oczywiście rozumiem, że to nie są proste rzeczy, łatwe do ogarnięcia… i pewnie dlatego nie każdy sam kompiluje i wgrywa oprogramowanie do urządzeń IoT.

Jeżeli chce się to robić samemu, to przed zadawaniem kolejnych pytań, gorąco :wink: polecam jeszcze raz przeczytać naszą dokumentację o brokerze MQTT na bramce:

Wyjaśnienie w FAQ:

Komendy Tasmota:

https://tasmota.github.io/docs/Commands/

@araczkowski

Witaj. Dziękuję za obszerne wyjaśnienie tematu. Zrobiłem tak na wszystkich sterownikach według Twojego opisu. Zobaczymy co się będzie działo po restartach i zanikach wifi i napięcia.

Wesołych świąt dla wszystkich

@araczkowski

Witaj. No niestety, bramka się zawiesiła i po restarcie nie widzi sterowników. Restart z przeglądarki i jest oki. Jakiś pomysł ?

Ja mialem podobnie - okazalo sie ze GroupTopic mialem zle ustawiony. Zaktualizowalem GroupTopoic na wszystkich przelacznikach. Niestety jest wciaz jeden egzemplarz (Sonoff RF), ktory po restarcie bramki jest widoczny jako ‘niedostepny’ :frowning:

Ja mam sonoff RF bridge, działa spoko od miesiąca. Wstaw zrzut ekranu z parametrów mqtt. Zobaczymy czy tam wszystko OK.

@jolka
@araczkowski

Witam. Zrobiłem z każdym sterownikiem jak to zostało opisane. Ale niestety co dwa, trzy dni asystent nie widzi sterowników. Mój router widzi sterowniki. Nie wie czym to jest spowodowane. Myślę, że może jednak trzeba ustawić stałe ip do bramki . Chyba, że coś mam źle ustawione. Poniżej obraz mqtt:

A tu obraz po zapytaniach:

Zarówno moduły jak i bramka powinny mieć stałe ip,

Bramka i owszem - stale IP lub lokalny DNS. Natomiast czemu moduly (komunikujace sie po MQTT) powinny miec stale IP?

Witam.
To jak w końcu z tymi adresami IP. Na bramce stały a na sterownikach ?

Na modułach nie trzeba stałych IP, ale np ja mam. Wygoda, bo ustawiłem sobie moduły od 192.168.1.11 do 192.168.1.50 i nic innego po między mi nie wejdzie. Jak chce wejść na moduł to też wiem jaki jest na jakim IP. Jak szukam nowego urządzenia to wiem że jest powyżej …50 i tak dalej.

Witam.
Głupio zapytam ale jak ustawić stałe IP na bramce ?

Bramka - albo na routerze, albo ustawieniach bramki:
ustawienia - sieć - ustawienia IP - statyczny - i tu wpisujesz

Urządzenie - albo na routerze, albo przez komendę:
IPAddress Set networking IP ( XXX.XXX.XXX.XXX ) addresses
IPAddress1 = set device IP address

  • 0.0.0.0 = use dynamic IP address (DHCP)
  • XXX.XXX.XXX.XXX = set static IP address
    IPAddress2 = set gateway IP address
    IPAddress3 = set subnet mask
    IPAddress4 = set DNS server IP address

Najlepiej zrobić to na routerze. Każdy z nich ma opcję przypisywanie stałego IP do urządzenia filtrowanego po MAC. Na pewno znajdziesz to w instrukcji swojego routera. Stałe adresy w automatyce domowej robię dla większości urządzeń w sieci LAN.

Dzięki bardzo za info. Zrobiłem to jednak po MAC adresach. Na razie jest wszystko oki.

Sflaszowalem slampher za pomoca oryginalnego softu Tasmota (soft AIS crashuje sie na niektorych slampherach). Niestety, Jolka nie widzi tego urzadzenia z softem Tasmota. Jakies pomysly czemu tak sie dzieje?

SetOption19 mam ustawione na 1, GroupTopic ma wartosc dom
image

MQTTExplorer wykrywa urzadzenie
image

Konfuguracja MQTT
image

a nazwa klienta nie powinna wyglądać tak:
dom-id_bramki_%06X

Zrestartuj bramkę i encje powinny być dostępne. Jeżeli moduł jest widoczny na brokerze mqtt, który jest na bramce to HA też go musi widzieć.

Może tutaj ktoś podpowie sonoff mini flash na tasmota czasami był widoczny. Działały z opóźnieniem, albo wcale nie reagowały przez sterowanie z bramki. Ze strony IP urządzenia wszystko działa.
Obecnie polecono mi usunąć wszystkie odbiorniki ( na tą chwilę 3 gniazdo zz tasmota i 2 sonofy mini) są widoczne , ale nie aktywne .

Z konsoli urządzenia tasmota GroupTopic mam takie coś :
15:52:20 RSL: stat/gniazdo_USB/RESULT = {“GroupTopic1”:“dom_”,“GroupTopic2”:"",“GroupTopic3”:"",“GroupTopic4”:""}