Ropam Optima - Node Red - Supla

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
mariusz_70
Posty: 98
Rejestracja: czw lis 10, 2016 5:51 pm
Lokalizacja: Koszalin

pt sty 15, 2021 9:18 pm

Od dłuższego czas szukałem sposobu na integrację alarmu Ropam Optima z Suplą. Kiedy @Beku udostępnił nam klienta MQTT postanowiłem do tego celu wykorzystać HA.
W Optimie mam wbudowany Modbus TCP/IP (slave), w integracjach HA też odnajdziemy ten protokół komunikacji, ale działało to delikatnie mówiąc skromnie, największa problemy były z "Read Discrete Inputs" czyli z czujkami. Szukając informacji w necie jak usprawnić tą integrację czytałem wiele postów użytkowników HA którzy rezygnowali z wbudowanych automatyzacji i scen i przechodzili na Node Red. Postanowiłem wypróbować NR i to był strzał w 10.
NR to "wielowątkowa platforma" na której zbudujemy sceny,automatyzacje zintegrujemy wiele platform IoT dzięki MQTT czy Modbus(a ten protokół stosuje wielu producentów pieców c.o., central wentylacyjnych, falownik solaredge itp.). Dzięki NR integracja Optimy z Suplą jest bardzo prosta. Przy konfiguracji Modbusa na NR jedną z ważnych informacji jest wpisanie właściwych adresów wejść/wyjść centrali alarmowej, tutaj trzeba się zapoznać z notą aplikacyjną:
https://ropam.com.pl/wp-content/uploads ... _tcpip.pdf
i sprawdzić w programie konfiguracyjnym "OptimaGSMManager" do jakich wejść mamy podłączone czujki czy kontaktrony,
https://ropam.com.pl/product/optimagsm-manager/
jeśli mamy czujkę pir w salonie podłączoną do wejścia "i1" to adres tej czujki = "0", kontaktron w oknie w sypialni podłączyliśmy do wejścia "i12" to adres = "11"itd. I to tyle o adresacji czujek.
Teraz stawiamy Node Red na wybranym przez nas sprzęcie, ja do celów testowych wybrałem Rpi3B chociaż docelowo trafi na Rpi4 gdzie mam Suple.
Instalacja na malinie:
https://nodered.org/docs/getting-started/raspberrypi
teraz należy doinstalować flows modbus, użyłem tego:
https://flows.nodered.org/node/node-red-contrib-modbus
Do odczytu stanu czujek użyłem noda "modbus-read" a tak wygląda konfiguracja:
modbus.png
modbus.png (86.81 KiB) Przejrzano 398 razy
i to wszystko, mamy zintegrowaną czujkę "salon pir" o adresie "0" z NR. Jeśli do NR chcemy dodać inne czujki dodajemy nowy nod "modbus-read" zmieniając w nim tyko adres na właściwy dla integrowanej nowej czujki.
Tworząc automatyzacje i dodając dodatkowe nody (switch,rbe itd.) musimy ustawić że w wiadomości chcemy odpytywać właściwość payload[0].
Przykład dla noda switch:
switch.png
switch.png (76.12 KiB) Przejrzano 398 razy
I jeszcze jedna ważna informacja - Optima ma wbudowanego modbus-Slave, Node Red to Master więc to NR odpytuje centrale o stan wej./wyj. z określoną przez nas częstotliwością (Poll rate - 1 seconds) i z taką częstotliwością przekazuje dalej wiadomości do innych nodów biorących udział w danej automatyzacji.
Jeśli do integracji z Suplą wykorzystamy nod "http request" (linki bezpośrednie) to co 1 sek. będziemy wysyłać link bezpośredni na nasz lub publiczny serwer taka konfiguracja jest wadliwa dlatego należy dodać do danego procesu dodatkowy nod "rbe" który ma za zadanie blokować/ignorować wiadomość gdy jest taka sama.
rbe.png
rbe.png (29.68 KiB) Przejrzano 398 razy
Jeśli ktoś chce poznać lepiej NR to polecam na youtube kanał "ArturHome"
https://www.youtube.com/watch?v=q0p7yhD ... =ArturHome
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”