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.
jeśli wszytko pójdzie OK otrzymamy zwrotnie w msg następującą strukturę danych:
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:
spinamy to w całość:
i mamy załatwioną obsługę błędów w komunikacji
Etap II
Konwersja z formatu XML na JSON wykorzystywany w msg do dalszego procesu obróbki danych.
wstawiamy nod:
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.