Cześć,
mam dużą zagwozdkę dotyczącą integracji systemu automatyki.
Ogólnie rozpoczynając opis problemu, postanowiłem stworzyć automatykę domu na sterowniku Siemens S7-1200 - uznałem, że jest to pewne rozwiązanie + mam okazję trochę poćwiczyć programowanie PLC.
PLC obsługuje u mnie oświetlenie, ogrzewanie (mieszkam w bloku), systemy bezpieczeństwa (czujniki dymu i zalania), realizacja funkcji zegara astronomicznego.
Cały czas staram się realizować sterowanie w taki sposób, aby było niezależne między systemami - jeżeli HA się wysypie, zawsze zostaje mi sterowanie lokalne z HMI oraz przycisków do oświetlenia.
Oświetlenie myślę, że udało mi się opanować. Teraz zaczynam walczyć z ogrzewaniem.
Z funkcji ogrzewania staram się oprogramować w PLC tryby pracy - AUTO, poza domem, ochrona frost, off/tryb ręczny, max grzanie - to w miarę, mam ogarnięte.
Zacząłem próbować integrować sterowanie równolegle z HA i poległem/skończył mi się pomysły.
Sterowanie Generic Thermostat z HA jest dla mnie nie zadowalające, integracja modbus climate jest krótko mówiąc biedna (tylko jeden tryb pracy AUTO). Szukam sposobu, aby móc zaimplementować chociaż funkcje OFF / POZA DOMEM / AUTO z HA.
Czy będziecie mieli jakieś podpowiedzi?
Może macie jakieś pomysły/podpowiedzi dotyczące innych części systemu.
Próbowałem jakoś problem rozwiązać za pomocą Dark Thermostat oraz Simple Thermostat z HACS, jednak chyba brak mi doświadczenia z jakąś bardziej skomplikowaną konfiguracją.
Druga sprawa, w salonie mam zamontowany grzejnik kanałowy, do sterowania jest zawór wody (on/off) i wentylator wspomagający (0-10V/0-100%). Z sterowaniem zaworu nie widzę problemu, jednak jeżeli chodzi o płynne sterowanie wentylatorem - jeszcze nie znalazłem odpowiedniego rozwiązania w helpie HA.
Również, jeżeli ktoś ma jakieś pytania na temat połączenia PLC z HA czy samego programowania sprzętu SIEMENS, chętnie coś pomogę w miarę możliwości.
Jeszcze jedna sprawa, w razie potrzeby posiadam dużą integrację z PAC1200 SIEMENS, mogę również udzielić jakiś informacji.
Nie wrzucam, żadnych screenów konfiguracji, bo nawet nie wiem, która część na tą chwilę będzie potrzebna.
Podrzucę tylko na zajawkę, zdjęcie mojej własnoręcznie wykonanej od A-Z rozdzielnicy (jeszcze jest do dopieszczenia).
Z HA to będzie chyba ciężko to zrobić. Raczej stawiałbym na NODE RED + MODBUS
Jest sporo dostępnej dokumentacji a i pewnie kilka osób tutaj ci pomoże . @kielich89
Kurcze, kiedyś już próbowałem, ale nie mogłem Node-Red ogarnąć. Połączenie zestawiłem, odczyt danych też, ale jakieś bardziej zaawansowane funkcje - zginąłem na przekazywaniu payload.
Czyli jak dobrze zrozumiałem chciąłbyś na HA stworzyć kolejny, bardziej przyjazny “HMI”?
Więc wszystkie “manipulatory” powinny być typ generic, bez powiązania z konkretnym urządzeniem.
Rozumiem że wszystkie urządzenia potrafisz zintegrować i sterować tylko z PLC?
Wentylator sterujesz sterujesz z wyjścia analogowego PLC i potrafisz zadać jego wartość poprzez modbus?
Myślę, że od tego nie uciekniesz.
Potrzebujesz łącznika pomiędzy HA , który zadaje wartości “dummy” a modbus PLC.
Jeśli w HA nie ma “urządzeń”,które są gotowe i spełniają oczekiwania to zbuduj je sobie sam.
Np. Termostat można zbudować z dwóch suwaków, kliku buttonów (lub select list) i sensor template na osobnej karcie.
W tym temacie akurat dobry nie jestem i robię wszystko na “macanego” , ale wiem że to możliwe.
Zadawane wartości nic nie robią- tylko “są”.
To Node Red odczytuje ich stan i przesyła do PLC po modbus.
Podobnie w drugą stronę można przesłać odczyty ze sterownika do HA.
Nawet znalazłem coś takiego
W temacie nie jest więc trudno ocenić mi tego wartość.
Osobiście to poszedłbym w kierunku MQTT , PLC<>NR<>MQTT<>HA.
i w HA używał tylko platformy MQTT.
Zawsze możesz się rozmyśleć i zechcieć używać innego frontendu niż HA, przejście jest wtedy bezbolesne.
Przeczytaj jeszcze to i sam oceń, czy jest tomożliwe u Ciebie, bo o ile wiem to Siemens za wszystko każe sobie płacić i takiej opcji możesz nie mieć:
Cieszę się, że zaciekawił temat. Szczerze wcześniej rozglądając się za tego typu integracjami, jest stosunkowo niewiele informacji w sieci.
No w sumie bardzo dobrze to opisałeś, jednak bardziej kieruję się w tym wymiarze na obsługę przez kilku użytkowników z smartphone i ogólnie zdalny dostęp. Jednak nie do końca rozumiem stwierdzenia:
Nie do końca rozumiem tego stwierdzenia. Ogólnie całą funkcjonalność chcę mieć zaszytą w PLC, aby nie musieć polegać na HA w razie awarii. Jeżeli chodzi o umiejętności, to wciąż je rozwijam i póki co nie widzę jakiejś ściany. Natomiast wszystkie peryferia na tą chwilę są podłączone do sterownika PLC i są tam monitorowane oraz sterowane.
Tak jak pisałem wcześniej, tak wentylator jest sterowany z PLC sygnałem 0-10V. Node-Red + contrib-s7 było moim pierwszym strzałem do integracji. Jednak nie podobają mi się trzy rzeczy:
Mnóstwo zmiennych do kilkukrotnego przepisywania i ustawiania w configu
Kolejny element pośredniczący, który może zawieźć.
Tak jak pisałem wcześniej, wiem, że Node-Red jest mega popularny i ma ogrom możliwości, jednak osobiście poległem na bardziej zaawansowanych funkcjach.
MQTT było zaraz po Node-Red próbowane. Ogólnie działało tylko jest jedna znaczna bolączka - wszystkie dane trzeba konwertować string, co przy PLC nie jest łatwe i fajne.
Jeszcze dla Waszej wiedzy, po MODBUS, mogę przekazać praktycznie wszystko. Sam tworzę tabelę zmiennych i ją odpowiednio konfiguruję.
Zależy mi na stosunkowo łatwym (z jak najmniejszym nakładem pracy) przygotować odpowiednie kontrolki, które będą działać równolegle z tym co mam na HMI.
Dodatkowo planuję część funkcji, których nie idzie zrealizować na PLC, a są w HA przekazywać właśnie w drugą stronę. Oczywiście będą to funkcje, które nie są krytyczne do pracy głównego systemu (np. uruchamianie XBOX, sprawdzanie w domu/poza domem, może programowy czujnik obecności, jakieś harmonogramy).
Czyli tworzysz sobie encje typu pomocnik, np. zadana temperatura do termostatu, potem te encje wysyłasz przez Modbusa do PLC poprzez service: modbus.write_register. Będzie to działało tak samo jak HMI.
OK, rozumiem to. Wydaje mi się, że nie do końca jasno określiłem problem.
Czy jest możliwość (istnieje integracja/komponent) w HA, który pozwoli mi samemu określić tryby pracy w encji Climate lub Generic Thermostat? Czy trzeba szukać czegoś w kierunku Template? Jeżeli tak, to w jaki sposób można to uzyskać?
miałem podobny problem… wykorzystałem PLC (co prawda konkurencji Siemensa:)) i próbowałem encje climate ożenić z plc - nie udało się…
skończyło się właśnie na pomocnikach które zmieniają stany i wartości później NR wysyła automatycznie do PLC zadane wartości ponieważ to on steruje elektrozaworami podłogówki.