OpenBeken zapewnia skryptowalny zestaw poleceń związanych z MQTT, które mogą być używane do publikowania danych nie tylko bezpośrednio do Home Assistant, ale także do innych urządzeń w sieci MQTT. W ten sposób można na przykład sterować przełącznikiem Zigbee bezpośrednio z OBK, bez pisania żadnych automatyzacji w HA. W tym poradniku pokażę jak to zrobić w kilku prostych krokach.
Podstawowe wymagania
Ten poradnik zakłada, że masz już urządzenie OBK i że jest ono podłączone do MQTT. Ja używam do tego celu Home Assistant.
Komenda publikacji OBK
OBK udostępnia wiele poleceń do publikowania danych, ale najważniejszym z nich jest polecenie publish .
publish [TopicName] [Payload] [bRawMode]
Pierwszy argument to nazwa tematu MQTT, drugi to ładunek, trzeci jest opcjonalny, używany do usunięcia nazwy urządzenia OBK z nazwy tematu.
payload może zawierać cudzysłów, pokażę przykład wkrótce.
The bRawMode wyłączył prefiks OBK, zobaczmy jak to wygląda w obu przypadkach:
Więcej informacji na temat poleceń można znaleźć na stronie: https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/commands.md
Kontrolowanie urządzenia OBK z OBK
Powiedzmy, że urządzenie docelowe nazywa się "Uticnica2". Jest to urządzenie OBK, więc jego nazewnictwo jest następujące:
https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/mqttTopics.md
Ważne jest, aby pamiętać, że krótka nazwa jest używana dla MQTT:
W związku z tym publikacja do sterowania przekaźnikiem będzie używała nazwy Uticnica2/1/set .
1 oznacza indeks kanału.
Następnie payload może wynosić 0 lub 1, aby go włączyć lub wyłączyć.
Pełna komenda to:
publish Uticnica2/1/set 0 1
Uruchommy ją:
Następująca komenda powinna odpowiednio zmienić stan urządzenia docelowego.
Kontrolowanie urządzenia Zigbee z OBK
Spróbujmy teraz czegoś bardziej pozornie skomplikowanego. Najpierw sprawdźmy tematykę urządzenia Zigbee2mqtt, które posiadam:
https://www.zigbee2mqtt.io/devices/TS0012.html
Jak widać, jest tam jasna instrukcja jak nim sterować, ale czy OBK to potrafi?
Spróbujmy wykonać:
publish zigbee2mqtt/test2/set " {\"state_left\" : \"TOGGLE\"}" 1
Stan urządzenia Zigbee został zmieniony. Działa poprawnie.
Podsumowanie
Jak widać, bardzo łatwo jest opublikować dane za pomocą polecenia skryptowego OBK. Metoda, którą przedstawiłem powyżej działa nawet dla komend JSON ze znakami cudzysłowu, a to wszystko dzięki możliwości escapowania cudzysłowów. Dzięki temu mechanizmowi można tworzyć zaawansowane automatyzacje bez angażowania samego systemu scen HA. Mam nadzieję, że komuś się to przyda.
PS: W kolejnym temacie sprawdzimy czy da się opublikować plik z LittleFS, przyjrzymy się również rozszerzaniu zmiennych.
Fajne? Ranking DIY Pomogłem? Kup mi kawę.