Tinycontrol Lan Kontroler v2.5 - Integracja z Home Assistant

Przechodzimy do NR

Etap 1
Odczytanie danych z Lan Kontroler’a (LK)

realizujemy to poprzez wysłanie zapytania http://xxx.xxx.xxx.xxx/st0.xml gdzie xxx.xxx.xxx.xxx to adres IP Lan Kontrolera.
image
image
jeśli wszytko pójdzie OK otrzymamy zwrotnie w msg następującą strukturę danych:
image
wynik (http) zapisany zostanie w zmiennej msg.payload

możemy jednak trafić na błędy w komunikacji między HA i LK i wtedy proces się nam wykrzaczy.
Dzieje się to dlatego, że LK ma w sobie mechanizm auto restartu co określony interwał czasowy i jeśli trafimy z zapytaniem http, na czas w którym się restartuje to możemy doprowadzić do zawieszenia LK. Dlatego dla bezpieczeństwa wprowadzamy ograniczenie, które zatrzyma wszystkie zapytania do LK przez okres 30s. Zrealizujemy to za pomocą 4 nodów:
image


image
image
image

image
image
spinamy to w całość:
image
i mamy załatwioną obsługę błędów w komunikacji :slight_smile:

Etap II
Konwersja z formatu XML na JSON wykorzystywany w msg do dalszego procesu obróbki danych.
wstawiamy nod:
image
on przekonwertuje wynik XML na strukture JSON


klikając na miejsce wskazane myszką otrzymujemy ścieżkę dostępu do danego wyniku:
“payload.response.ia7[0]” - trzeba pamiętać, że jeśli chcemy skorzystać z zapisanej wartości w funkcjach to musimy dodać przedrostek msg. - czyli odwołanie do wartości będzie wyglądać w funkcji następująco: “msg.payload.response.ia7[0]”

co do struktury otrzymanego pliku XML opisze go w osobnym poście, bo sam go do końca nie znam. Odczytane wartości z czujników temperatury trzeba podzielić przez 10

Omawiany przykład: LM Pobieranie danych.json (2,5 KB)

Kolejny artykuł będzie poświęcony odczytaniu z HA wartości “pomocników” i zapisaniu ich w NR, oraz zapisie otrzymanych wyników z LM do pomocników w HA.

1 polubienie