Zwracam się z prośbą o pomoc w konfiguracji ustawień Switch MQTT dla zakupionego urządzenia jak poniżej:
Urządzenie posiada możliwość komunikacji po MQTT.
Integracja z Jolką jednak nie przebiega tak łatwo, z tego co udało się ustalić i sprawdzić w działaniu:
po ręcznym wpisaniu nasłuchiwania Topic w integracji mqtt tj.
/dingtian/relay1454/out/relay1
otrzymuję zwrotnie informację o stanie przekaźnika
po ręcznym wpisaniu opublikuj temat:
temat: /dingtian/relay1454/in/control
payload: {“type”:“ON/OFF”,‘idx’:‘1’,“status”:“ON”,“time”:“0”,“pass”:“0”}
przekaźnik zmienia stan na on, a po wpisaniu
{“type”:“ON/OFF”,‘idx’:‘1’,“status”:“OFF”,“time”:“0”,“pass”:“0”}
Zmienia stan na OFF.
Problem tkwi w konfiguracji pliku switch.yaml aby móc sterować powyższymi komendami za pomocą encji switch/toggle.
Próbowałem różnych konfiguracji, ale w żaden sposób nie mogłem uruchomić poprawnego działania.
Proszę o radę jak powinien wyglądać poniższy kod w switch yaml:
platform: mqtt
name: SYPIALNIAMQTT
state_topic: “/dingtian/relay1454/out/relay1”
command_topic: “/dingtian/relay1454/in/control”
payload_on : ON
payload_off : OFF
!!! Działa jestem winien …kawę … ostatecznie piwko
Teraz muszę pobawić się włącznikami w HA bo na przycisk nie działa. A po ustawieniu w encji muszę dwa razy szybko kliknąć żeby zmienił stan.
Stanu na razie nie raportuje poprawnie.
Zgodnie z dokumentacją stan jest raportowany w postaci np:
{“idx”:”1”,”status”:”OFF”}
której Jolka nie odszyfrowuje … bo i jak.
Dokumentacja w załączniku
Sterowanie ON/OFF działa bez problemu.
W jaki sposób dla poniższego topicu:
/dingtian/relay1454/out/relay1
pobrać i wyświetlić w Jolce stan przekaźnika?
informacje jakie otrzymuje przy podglądzie powyższego topicu:
{“idx”:“1”,“status”:“ON”}
oraz
{“idx”:“1”,“status”:“OFF”}
Poniższy kod nie zwraca aktualizacji sygnału zwrotnego po wysterowaniu ręcznym.
Invalid config for [switch.mqtt]: [state_value_template] is an invalid option for [switch.mqtt]. Check: switch.mqtt->state_value_template. (See ?, line ?).
@Stravi Czy masz może jakiś pomysł w jaki sposób zrealizować sterowanie oraz raportowanie ? Pod jednym switch-em raczej nie da się tego zrobić. Może dwa oddzielne switch-e jeden raportuje drugi steruje i jakaś automatyzacja, skrypt łączący to wszystko pod jeden przycisk.
Raportowanie jest niezbędne, choć by ze względów na przyszłą automatyzację.
Jeszcze raz dziękuję za dotychczasową pomoc.
Hm… problemem jest tutaj to, że do ustawiania stanu i odczytywania stanu są używane 2 różne json’y. Wg mnie implementacja HA nie przewidziała takiego scenariusza, ale może ktoś inny ma na to rozwiązanie. Moja propozycja w załączniku. office.txt (744 bajty)
@Stravi Niestety próbowałem modyfikować otrzymany kod na różne strony. Niestety efekt jest taki sam jak poprzednio, przy wpisywaniu teoretycznie pełnego poprawnego kodu.
Raportowanie blokuje tak jak by sterowanie. Tzn można tylko uruchomić switch, wyłączyć już nie. Raportowanie nie działa w ogóle.
MQTT z HA raczej nie zagra.
Moduł posiada jeszcze dwie integracje, które można wykorzystać do komunikacji tj
CGI
Modbus TCP/UDP
Będę dziś próbował uruchomić pozostałe sposoby komunikacji.