Integracja sterbox PLC restcommand

Witam,

Jakiś czas temu pytałem jak, a teraz mogę już coś więcej napisać o integracji z polskim PLC sterbox.
Generalnie połączenie tych 2 urządzeń daje ogromne możliwości.
HA do sterowania, zbierania danych i automatyzacje mniej krytyczne, a sterbox do automatyzacji, które wymagają szybkiej reakcji i wysokiej dostępności.

W załączniku podstawowe informacje, ale poproszę osoby, które wykonywały podobne integracje o ich komentarze.
Sterbox integracja z home assistant.docx (248,6 KB)

Od czasu kiedy pisałem instrukcję minęło trochę czasu i jest to tylko jumpstart.
Sterbox daje możliwośc sterowania za pomocą włączników dotykowych połączonych kablowo z PLC. Ale HA widzi wszystkie stany i może je także zmieniać.

HA zbiera dane z czujników - ze sterboxa, a także z ESP home z bme280. Filtruje i wysyła do sterboxa, na którym są wykonywane porównania i automatyzacje - do sterowania temperaturą, wilgotnością itd.
Nawet jeśli HA będzie niedostępne, to sterbox będzie działał w oparciu o dane, które otrzymał.

3 polubienia

Pewnie Iron`a temat zainteresuje i paru innych okablowanych.
@Iron masz konkurencję :wink:

Odnośnie czujników temperatury i wilgotności - polecam BME280 zamias DHT22. Miałem kilka sztuk, ale ich stabilność oraz dokładność w przypadku wilgotności skłoniła mnie do przesiadki na BME280.

DHT powyżej 60% pokazywał wartości totalnie od czapy. BME280 jest bardzo blisko wskazań pobliskiej stacji z meteo.waw.pl.

Jeśli cena za jeden moduł 1 107,00 zł nie odstrasza to pewnie tak :wink: Moje rozwiązanie miało być ekonomiczne :slight_smile:

W nawiązaniu do dyskusji o aktualizacji do wersji 0117:

W ostatniej wersji pojawił się u innego użytkownika problem z rest command.
Przy okazji wywiązała się ciekawa dyskusja o samym sposobie integracji przez niezliczone requesty http.

Rozmawiałem z producentem i niestety innych API nie przewidują. Według nich testy nie wykazały żandego wpływu na działanie ich aplikacji działającej na tej same zasadzie, a także na działanie sterboxa.

araczkowski ma jednak rację, że warto byłoby się przyjrzeć temu i trochę to zoptymalizować.

Przykładowo jeśli mamy 50 czujników na danym urządzeniu i sprawdzamy je co sekundę, to robi nam 3000 zapytań na minutę.

Pomyślałem żeby z resta przejść na command line. Jest możliwość jednym zapytaniem pobrać stany wszystkich czujników.
Tak sobie myślę, żeby pobierać taki stan co sekundę do pliku, a resztę czujników czytać command line z pliku shellowymi poleceniami. Zmniejszy to nam znacznie ruch sieciowy i obciążenie sterboxa, ale zostanie sporo pracy po stronie bramki.

curl “http://192.168.1.182/@gca?wind&@gca?wind&@gca?dstempz&@gca?djtempp&@gca?indsens&@gca?dktempw&@gca?temp_out&@gcd?sek1&@gcd?sek2&@gcd?sek3&@gcd?sek4&@gcd?sek5&@gcd?sek6&@gcd?sek7&@gcd?zas24&@gcd?stan_pom&@gcd?pomp_wod&@gcd?dposwpol&@gcd?dposwpwg&@gcd?dposwza&@gcd?dposwpwd&@gcd?halwsch&@gcd?halpol&@gcd?halzach&@gca?wilg_out&@gca?wilg_t&@gcd?drzwi&@gcd?sek1&@gcd?sek2&@gcd?sek3&@gcd?sek4&@gcd?sek5&@gcd?sek6&@gcd?sek7&@gcd?zas24&@gcd?stan_pom&@gcd?pomp_wod&@gcd?halwsch&@gcd?halpol&@gcd?halzach&@gcd?nawilz&@gcd?pompadz1&@gcd?roletyz&@gcd?roletyp&@gcd?roletyw&@gcd?pompadz1” > ./stat % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 115 0 115 0 0 3194 0 --:–:-- --:–:-- --:–:-- 3382 $ cat stat 2,22,2-0,75-122,6875-0,18750000000001101110000470000000001100010000`0

I np 5 wartość dla danego czujnika odczytwać za pomocą command line:
awk -F’`’ ‘{print $5}’ stat
22,6875

Ale może jest inne, bardziej eleganckie rozwiązanie, które wyciśnie z tego co mamy do dyspozycji jak najmniejszym nakładem zasobów?

1 polubienie