Home Assistant – połączenie ze sterownikiem PLC

controlbyte.pl 1 rok temu


W dzisiejszych czasach coraz więcej osób korzysta z systemów automatyki budynkowej, takich jak Home Assistant, aby zarządzać różnymi funkcjonalnościami swojego domu, takimi jak oświetlenie, ogrzewanie, czy urządzeniami AGD. Jednocześnie, profesjonalni programiści oraz inżynierowie coraz częściej wykorzystują oprogramowanie CODESYS do tworzenia zaawansowanych systemów sterowania. jeżeli jesteś jednym z tych entuzjastów, którzy chcieliby połączyć te dwa narzędzia, omówimy tutaj, jak zintegrować CODESYS z Home Assistant przy użyciu protokołu Modbus.

Co znajdziesz w artykule?

  • Integracja urządzeń SmartHome
  • Panel webowy do zarządzania instalacją
  • Aplikacja mobilna na Twój smartphone
  • Komunikacja ze sterownikami PLC
  • CODESYS – narzędzie do tworzenia systemów sterowania
  • Konfiguracja Modbus w Home Assistant (NodeRed)
  • Wymiana danych między CODESYS a Home Assistant

Home Assistant – system automatyzacji domu

Home Assistant to popularny otwarty system automatyzacji domu, który umożliwia kontrolę urządzeń poprzez różne protokoły komunikacyjne. Jednym z tych protokołów jest Modbus, popularny standard komunikacji przemysłowej. Z drugiej strony, CODESYS to narzędzie programistyczne do tworzenia systemów sterowania, które obsługuje wiele protokołów, w tym Modbus.

Home Assistant obsługuje szeroki zakres urządzeń i platform, co pozwala na integrację i kontrolę wielu różnych systemów w domu. Bez względu na to, czy chodzi o inteligentne żarówki, termostaty, czujniki, kamery czy urządzenia multimedialne, Home Assistant oferuje wsparcie dla wielu popularnych protokołów i standardów, takich jak Zigbee, Z-Wave, Wi-Fi, Bluetooth czy MQTT. Umożliwia on również tworzenie zaawansowanych scenariuszy i automatyzacji. Możesz ustawić reguły i warunki, które automatycznie wyzwalają określone działania w zależności od różnych czynników, takich jak czas, stan urządzeń czy detekcja ruchu. Na przykład, możesz skonfigurować automatyczną regulację oświetlenia w zależności od natężenia światła zewnętrznego lub uruchomić odtwarzanie muzyki, gdy wracasz do domu.

Na czym mogę zainstalować Home Assistant?

Home Assistant można zainstalować na różnych platformach,
zapewniając elastyczność i wybór dla użytkowników. Oto kilka popularnych
sposobów instalacji Home Assistant:

· Komputer (PC): Możesz zainstalować Home
Assistant na komputerze, na którym działa system operacyjny, takim jak Windows,
macOS lub Linux. Istnieje oficjalna wersja Home Assistant, która może być
zainstalowana na maszynie wirtualnej lub jako samodzielna instalacja.

· Raspberry Pi: Raspberry Pi to popularna
platforma do instalacji Home Assistant. Istnieje oficjalna wersja Home
Assistant dla Raspberry Pi, która jest łatwa w instalacji i konfiguracji.
Wymaga to zakupu odpowiedniego modelu Raspberry Pi, karty microSD i
zainstalowania Home Assistant na karcie pamięci.

· Docker: Home Assistant można uruchomić w
kontenerze Docker, co zapewnia izolację i łatwość zarządzania. Docker jest
popularnym narzędziem do wirtualizacji aplikacji, które umożliwia łatwą
instalację i aktualizację Home Assistant.

· NAS (Network-Attached Storage): Jeśli
masz NAS, prawdopodobnie istnieje możliwość zainstalowania Home Assistant na
tym urządzeniu. Niektóre popularne modele NAS, takie jak Synology lub QNAP,
oferują dedykowane pakiety aplikacji, które umożliwiają instalację Home
Assistant.

· Inne platformy: Home Assistant można
również zainstalować na innych platformach, takich jak odroid, Intel NUC, a
nawet na urządzeniach z systemem Android.

Panel Home Assistant

Assistant oferuje kilka narzędzi do tworzenia panelu, takich jak Lovelace UI, Panel Konfiguracyjny i Lovelace YAML. Lovelace UI jest zalecanym narzędziem i oferuje interaktywny edytor, który umożliwia łatwe tworzenie i dostosowywanie panelu.

Po wybraniu narzędzia do budowy panelu możesz dodać widżety, które wyświetlają informacje i umożliwiają kontrolę urządzeń. Na przykład, możesz dodać widżet oświetlenia, który pokazuje stan i umożliwia włączanie/wyłączanie światła. Możesz również dodać widżety czujników, termostatów, kamerek itp. Możesz grupować widżety w różne sekcje lub karty, aby zorganizować interfejs użytkownika. Na przykład, możesz stworzyć kartę „Pokój dzienny” i dodać do niej widżety oświetlenia, termostatu i mediów, aby mieć wszystkie te funkcje w jednym miejscu. Możesz również układać widżety w różnych układach, takich jak kolumny, wiersze lub siatki, aby dostosować wygląd panelu.

Home Assistant oferuje wiele możliwości personalizacji wyglądu panelu. Możesz zmieniać kolory, czcionki, tła i inne elementy wizualne, aby dopasować panel do swoich preferencji. Możesz również dodać ikony, tła graficzne i inne elementy, aby nadać panelowi indywidualny charakter.

Panel w Home Assistant może służyć do wywoływania automatyzacji i scenariuszy. Możesz dodać przyciski lub suwaki, które uruchamiają określone akcje, takie jak włączenie trybu nocnego, uruchomienie sceny „Kino domowe” czy otwarcie/zamknięcie rolet.

Home Assistant umożliwia dostęp do panelu zarówno lokalnie, jak i zdalnie. Możesz skonfigurować zdalny dostęp, aby mieć kontrolę nad swoim domem z dowolnego miejsca dzięki aplikacji mobilnej lub interfejsu internetowego. Upewnij się również, iż panel jest responsywny, czyli dobrze wygląda i działa na różnych urządzeniach, takich jak telefony, tablety czy komputery.

Home Assistant – cały dom w Twoim telefonie!

CODESYS – narzędzie do tworzenia systemów sterowania


CODESYS to rozbudowane i popularne środowisko programistyczne służące do programowania sterowników i systemów automatyki. Jest to kompleksowy pakiet oprogramowania, który umożliwia tworzenie, testowanie i zarządzanie aplikacjami automatyki w różnych branżach, takich jak przemysł, budownictwo czy infrastruktura.

Głównym celem CODESYS jest ułatwienie procesu programowania sterowników PLC (programowalnych układów logicznych). Sterowniki PLC są używane w przemyśle, aby kontrolować i monitorować urządzenia i procesy. CODESYS oferuje programistom narzędzia do tworzenia aplikacji PLC, w tym edytor kodu, debugger, symulator i narzędzia do wizualizacji.

Jednym z głównych atutów CODESYS jest jego elastyczność. Obsługuje on szeroki zakres protokołów komunikacyjnych, takich jak Modbus, EtherCAT czy OPC UA, co umożliwia integrację z różnymi urządzeniami i systemami. Ponadto, CODESYS jest niezależny od konkretnego sprzętu i działa na różnych platformach, takich jak sterowniki PLC różnych producentów, komputery PC, panele operatorskie czy urządzenia wbudowane.

W CODESYS będziemy musieli skonfigurować odpowiednie protokoły komunikacyjne Modbus. W zależności od wersji CODESYS, proces ten może się różnić, ale ogólnie będziemy musieli dodać odpowiednią bibliotekę Modbus do naszego projektu i skonfigurować parametry komunikacyjne, takie jak adres IP urządzenia Modbus, port komunikacyjny, adresy rejestrów itp. Po skonfigurowaniu komunikacji Modbus w CODESYS, będziemy mogli odczytywać i zapisywać dane z podłączonych urządzeń.

Oprogramowanie to obsługuje wiele różnych języków programowania tj. Ladder, ST czy choćby Python. Szeroka gama języków programowania umożliwia nam stosowanie CODESYS’a przy projektach, które wykonasz dla branży automatyki przemysłowej, budynkowej oraz przemysłu morskiego. O CODESYS dowiesz się więcej klikając tutaj!

CODESYS – oprogramowanie do programowania sterowników PLC

Połączenie CODESYS – Home Assistant

W celu wymiany danych między CODESYS a Home Assistant, będziemy korzystać z adresów rejestrów Modbus. W CODESYS będziemy zapisywać dane, które chcemy udostępnić Home Assistant, do odpowiednich rejestrów. Następnie, w Home Assistant, będziemy skonfigurować encje (entities), które będą odczytywać i aktualizować te rejestry. Możemy to zrobić, korzystając z konfiguracji YAML w pliku konfiguracyjnym Home Assistant.

Tego typu połączenie realizujemy w manualnie instalowanym – dodatkowym środowiskiem do programowania, jakim jest Node-Red. Wspomniany Node-RED będzie służył jako pomost między CODESYS a Home Assistant. Będziesz musiał skonfigurować serwer Modbus w Node-RED, aby mógł komunikować się z CODESYS. Następnie będziesz musiał utworzyć przepływy (tzw. flow) w Node-RED, które odczytują i zapisują dane z rejestrów Modbus, które skonfigurowałeś wcześniej w środowisku CODESYS. Node-RED musi być skonfigurowany do komunikacji z Home Assistant. Można to zrobić dzięki węzła (tzw. function block) „Home Assistant Websocket”. Będziesz musiał również utworzyć przepływy, które odczytują i zapisują dane do Home Assistant. Wykorzystamy do tego węzeł „call service” w Node-RED, który umożliwia wysłanie danych do Home Assistant.

Przykładowy flow z węzłami do komunikacji

Po skonfigurowaniu wymiany danych, CODESYS będzie mógł przekazywać informacje o stanie urządzeń, takich jak odczyty czujników, stany przekaźników itp., do Home Assistant. Z kolei, Home Assistant będzie mógł wysyłać polecenia do CODESYS, takie jak ustawianie wartości na przekaźnikach czy zmiana parametrów sterowania.

W przypadku Codesys, wbudowany konfigurator Modbus jest narzędziem, które umożliwia programistom PLC łatwą konfigurację parametrów Modbus, takich jak prędkość transmisji, format danych, typy rejestrów, adresy urządzeń itp. Bez konieczności korzystania z dodatkowych narzędzi zewnętrznych.

Przesyłanie danych między CODESYS (PLC) NodeRED –> (HomeAssistant) po protokole ModBus

Integracja CODESYS z Home Assistant przy użyciu protokołu Modbus otwiera wiele możliwości dla zaawansowanego sterowania domem. Możemy wykorzystać funkcje CODESYS do tworzenia skomplikowanych algorytmów sterowania i automatyzacji, jednocześnie wykorzystując interfejs i funkcjonalności Home Assistant do wygodnego zarządzania domowym systemem automatyzacji.


Na poniższej grafice przedstawiliśmy wizualizację wirtualnego domu, który symulujemy dzięki systemu Home I/O, napisany w CODESYS program do automatyzacji zachodzących w naszym domu procesów oraz panel zarządzania i sterowania, który dostępny jest z przeglądarki internetowej jak i z poziomu aplikacji mobilnej.

Przykładowy panel sterowania Home Assistant

Zbuduj razem z nami aplikację mobilna

Podsumowując, połączenie CODESYS z Home Assistant przy użyciu protokołu Modbus pozwala na zintegrowanie zaawansowanego systemu sterowania z elastycznym systemem automatyzacji domu. Dzięki temu systemowi możemy tworzyć inteligentne rozwiązania, które łączą w sobie moc programowania CODESYS z funkcjonalnościami Home Assistant, aby stworzyć wydajny i spersonalizowany domowy system automatyzacji oraz Interaktywny panel np. w aplikacji mobilnej, który daje nam ciągły dostęp do nadzoru i sterowania naszą posiadłością lub budynkiem, a choćby maszyną przemysłową. jeżeli chcesz dowiedzieć się jak wykonać taką integrację własnoręcznie, wystarczy, iż zapiszesz się na nasz kurs automatyki budynkowej, gdzie przedstawimy i wyjaśnimy ci krok po kroku, jak tego dokonać. Zapisać na kurs możesz się klikając w ten link.

Idź do oryginalnego materiału