Sterowniki w inteligentnym domu

W takim razie, popraw mnie jeżeli założenia są błędne:

  • jeżeli w PLC jest wartość 0 to światło jest wyłączone
  • jeżeli w PLC jest wartość od 1 do 100 to światło jest włączone a brightness w HA obliczasz wg wzoru: ((states('sensor.plc_kuchnia_led') | int ) * 255 / 100) | round(0) co opowiada wartości 255 przy wartości 100 w PLC
  • jeżeli w HA będziesz zmieniał brightness (w zakresie 0-255) to do sterownika PLC musisz wysłać wartość obliczoną wg wzoru: (brightness | float / 255) * 100 | int.

Wg mnie konfiguracja powinna wyglądać tak:

sensor:
  - platform: modbus
    scan_interval: 1
    registers:
      - name: plc_kuchnia_led
        hub: fatek1
        slave: 1
        register: 100

light:
  - platform: template
    lights:
      kuchnia:
        friendly_name: "Kuchnia LED"
        value_template: "{{ states('sensor.plc_kuchnia_led') | int > 0 }}"
        level_template: >
          {% if (states('sensor.plc_kuchnia_led') | int) == 0 %}
            {{ (states('sensor.plc_kuchnia_led') | int) }}
          {% else %}
            {{ ((states('sensor.plc_kuchnia_led') | int ) * 255 / 100) | round(0) }}
          {% endif %}
        turn_on:
          - service: modbus.write_register
            data:
              hub: fatek1
              unit: 1
              address: 100
              value: 100
        turn_off:
          - service: modbus.write_register
            data:
              hub: fatek1
              unit: 1
              address: 100
              value: 0
        set_level:
          - service: modbus.write_register
            data:
              hub: fatek1
              unit: 1
              address: 100
            data_template:  
              value: "{{ (brightness | float / 255) * 100 | int }}"

Do przetestowania jest także wysłanie danych do PLC w ten sposób:

       set_level:
          - service: modbus.write_register
            data_template:
              hub: fatek1
              unit: 1
              address: 100
              value: "{{ (brightness | float / 255) * 100 | int }}"

@macek wielkie dzięki :grin: , teraz działa super . Późno już więc tylko pierwszy sposób sprawdziłem, ale jutro sprawdzę drugi .

To dobrze, ze działa super, tez jestem z tego dumny :grin: bo nie mając do czynienia ze sterownikami PLC, wspólnymi siłami udało się nam połączyć HA z “automatyką przemysłową”.
Dopytam jeszcze o sprawy techniczne Twojego rozwiązania:

  • stosujesz na ścianach przełączniki czy łączniki zwierne odbijające?
  • wyjścia sterownika są przekaznikowe 24V czy tranzystorowe ?
  • w jaki sposób sterujesz roletami? Co jest podłączone do wyjścia sterownika?

Coś przed świętami mało czasu i nadal nie sprawdziłem tego drugiego sposobu na zapis danych do PLC. Ale co się odwlecze … :grin:

Wszędzie mam przełączniki “dzwonkowe” Kontakt Simon seria 54. Ale zauważyłem , że te najczęściej używane zaczynają padać. Co prawda to już ponad 5 lat no ale i tak niezbyt ładnie z ich strony.

Sterownik to 12 wejść i 8 wyjść przekaźnikowych - ale ich używam tylko do sterowania czymś bez obciążenia. Pozostałe wyjścia obsługuję modułami FBs-24Y - czyli tranzystorowe - i do tego przekaźniki 24V Relpol - zazwyczaj działają ok - rzadko się sklejają . Wejścia to FBs-24X. Do tej pory Fatek ani raz nie zachował się podejrzanie. Jak ktoś chce się tym PLC zainteresować to jest stała promocja na zestaw startowy.

Rolety dopiero się pojawiają u nas - na razie jedna - od rolety do rozdzielnicy położone kable 4x1mm2 - napęd sterowany przewodowo, bez radia - sterowanie dwoma przekaźnikami połączonymi tak, że jeśli jeden jest włączony to drugi się nie włączy (na wypadek sklejenia styków) można też połączyć tak aby jeden przekaźnik decydował o kierunku a drugi podawał napięcie.

Witam,
Chciałbym się podłączyć do tematu, gdyż tak jak kolega wyżej posiadam PLC do sterowania domem jako główne urządzenie wykonawcze. Wszystkie przyciski, lampy, gniazda i inne wybrane są sterowane za pomocą sterownika. Działa to rewelacyjnie i bezproblemowo i tak zostanie.
Jednak z uwagi na to że brakuje mi wizualizacji i podglądu stanu instalacji jakieś dwa lata temu postawiłem sobie RPi z dashboardem zainstalowanym na Node red. Obserwując od jakieś czasu możliwości HA i możliwości rozwijania takiego systemu chciałbym przesiąść się na HA w którym również jest node-red więc problem komunikacji ze sterownikiem całkowicie mi odpadnie.
Zakupiłem więc na dobry początek drugie RPi do testów.
Sam odczyt jak i sterowanie nie są problem, wstawiając przycisk w HA odczytuje lub wysyłam.
Problem pojawia się gdy na jednym przycisku chcę aby stan (wyłączony lub załączony) pojawiał mi się obok przycisku odczytany z PLC, a tym przyciskiem wysyłał wiadomość do sterownika załącz lub wyłącz.

W Node red wygląda to następująco.


Odczytuje stan sterownika Kuchnia1 i jeżeli true to zapala się żółta żaróweczka, jeżeli false do czarna czyli niewidoczna. Tak więc widzę gdy ktoś przyciskami na ścianie steruje.
Następnie klikając na Kuchnia 1 wysyłam impuls true który ograniczam triggerem do 250ms z uwagi na to że wszystkie sterowane jest impulsem gdyż wszystkie przyciski w domu są dzwonkowe.

Zdradzisz więcej szczegółów technicznych Twojego rozwiązania?

Chodzi Ci o instalacje domu czy tylko sam sterownik

Im więcej informacji tym lepiej, co się sprawdziło
co byś zmienił, poprawił, warto korzystać z doświadczeń innych.

Tego się nie da tak łatwo opisać, ale moim zdaniem instalacja przede wszystkim ma być niezawodna. Obserwując od 2010 roku fora, filmy, grupy i inne osobiście nie widzę innego rozwiązania jak sterownik PLC do podstawowej obsługi domu.
Wszystkie dodatkowe, podświetlenia, nawet liczniki, pomiary mniej ważne i jak ja to nazywam gadżety można obsługiwać przez inne systemy. Problemem w sterownikach jest tylko wizualizacja, która nigdy nie będzie miała takiej funkcjonalności jak HA lub inne. Choć to się chyba powoli zmienia ale nie jestem na bieżąco.
Przez pewien czas rozważałem nawet zakup płatnego systemu przemysłowego do wizualizacji ale to jest przerost formy nad treścią i nie ma ta takiej funkcjonalności jak pogląd nawet przez strony webowe typu HA.
Instalacja powinna być w topologii gwiazdy lub nawet kilku gwiazd połączonych podzielonych na strefy. Tak aby zminimalizować ryzyko wystąpienia awarii.
PLC przynajmniej w moim przypadku, jak nie zajmuję się tym na co dzień, a aby coś dołożyć muszę spędzić nad tym wiele czasu, więc najczęściej dokładam coś w NR, a po testach i wolnej chwili przenoszę program do PLC i NR pełni znowu tylko funkcje podglądu i sterowania z telefonu. W HA można łatwiej budować strony i dokładać choćby kamery dlatego chcę powoli przenieść podgląd do HA i dołożyć parę urządzeń po Zigbee.

Zgadza się ale w mini-PLC jak logo8! lub easyE4, wygląda to już lepiej, web serwery w tych urządzeniach zapewniają podstawowy podgląd stanu wejść/wyjść a Modbus TCP ułatwia bezpośrednio integrację z HA.
Jakie czujniki ruchu masz podłączone do PLC?

Webserwer moim zdaniem nie do tego został stworzony, posiadam S7-1200 i podstawowy podgląd stanu jest i nawet samemu można tworzyć, co na początku robiłem w UserPages ale to jest masakra. Kolejna wielogodzinna nauka, a ja mam już fajną pracę i nie mam zamiaru uczyć się programowania w html-u który nigdzie więcej mi się nie przyda.
Fakt teraz w Logo jest LWE i jest o wiele łatwiejsze i fajniejsze ale dalej będzie potrzebne chociażby RPi żeby podłączyć coś po np. Zigbee.
Nie znam dokładnie tematu jeszcze ale Wago podobno już to wszystko ogarnia.

jednak NR i S7connect zamiast Modbusa znacznie lepiej się spisuje w moim przekonaniu konfiguracja tego zajęła chwilę. Z tego co wiem to Logo też bez problemu poszło. Na Easy kiedyś robiłem sterowanie roletami, ale E4 nie widziałem nawet na oczy.
Czujniki ruchu, a w zasadzie jeden czujnik wyciągam z Satela poprzez jego wyjście bez żadnej komunikacji i wprowadzony jest na wejście do sterownika. Wszystko jest jeszcze w trakcie rozwojowej, wiele tematów jest pozostawionych i czekają na lepsze czasy ale powoli coś zawsze dołożę.

1 polubienie

To dość często spotykany duet i mam wrażenie, że centalka Satela bardziej działała jako automatyka domowa niż system alarmowy.

Też mam takie wrażenie jednak w moim wypadku, że większość w ten sposób wykorzystuje system alarmowy, są w nim takie możliwości więc nie neguje tego, jednak tak jak napisałem wyżej wyciągam tylko powielony sygnał bez żadnej komunikacji, po prostu nie chce mieć powielonych czujników ruchu w pomieszczeniu, a dla mnie system alarmowy musi być całkowicie niezależny. Choć myślałem aby czytać więcej sygnałów z Satela to ograniczyłem to tylko do wymiany sygnałów “po drucie”.

Tego nie podważam. Teraz mamy HA i to on może być mózgiem całego domu - sterować wszystkim za pomocą zintegrowanych systemów jak Integra, sterownik PLC itd przy moim założeniu, że awaria HA nie wpłynie na podstawową funkcjonalność domu jak on/off świateł. W takim przypadku nie ma już potrzeby aby wyjście z Integry podłączyć do wejścia sterownika PLC.

Może trochę przesadzam, ale moje założenie jest takie Satel ma chronić mój dom i nie bardzo wierze że przez HA czy jakieś bramki, a może nawet i bezpośrednio nikt mi nie wejdzie i nie wyłączy go albo zablokuje. Według mnie bezpieczeństwo jego zapewnia tylko odłączenie go od internetu, a przy okazji ile rzeczy można czytać z Satela? Załączony/wyłączony alarm, czujniki ruchu ewentualnie kontaktrony itp. w zależności kto ile ma, uważam że tych sygnałów nie jest aż tyle, aby nie zrobić tego przez wejścia/wyjścia. To jest oczywiście tylko moje zdanie i pewnie są firewalle lub inne ale dla mnie to najprostszy i najpewniejszy sposób.

Witajcie,
Chciałbym opisać mój obecny system automatyzacji w domu oparty na PLC.
Sprzęt:
Dom - PLC1: Fatek serii FBs, FBs-40MC, 3xFBs-60XY, FBs-16XY, FBs-24YT, FBs-16RTD, FBs-VOM (moduł 250 komunikatów) w sumie 140 wejść, 120 wyjść i 16xPT100, 10 x moduł RGB ESEA SCL-3P, stacja pogodowa Elesner P03/3-MODBUS, moduł Ethernet FBs-CMEH, moduł 2xRS485 FBs-CM55E, 2x odbiornik GORKE 4 kanałowy, odbiornik GORKE 1 kanał dalekiego zasięgu, licznik energii SOCOMEC
Teren – PLC2: Patek serii FBs-60MC 36 wejść, 24 wyjścia, do tego 10 modułów RGB ESEA, 2 moduł 16 wyjść ESEA MWY-16, 2 moduł 6we ESEA MWE-6, w sumie 48 wejść, 56 wyjść, moduł temperatury i wilgotności ESEA MCTH-1P, moduł temperatury i ciśnienia ESEA MCP-1P, moduł 2xRS485 FBs-CM55E
Do tego falownik PV SMA po Ethernecie, przerobiony deszczomierz MA10650
Wejścia
Wszystkie przyciski, kontaktrony, czujniki ruchu, styki wprowadzone bezpośrednio do sterownika
Wyjścia:
Wszystkie wyjścia 230V przez przekaźnik pośredniczący 24VDC,
Komunikacja
Sterowniki i urządzenia komunikują się ze sobą po magistrali RS485, porty Ethernet wykorzystuję do programowania oraz protokołu modbus TCP, ostatnio stworzyłem skrypt zamieniający dane z PLC na MQTT na potrzeby HA
Baza danych
Dane zbieram na serwerze Synology w bazie MySQL poprzez bibliotekę Phpmodbus i aplikacje napisane w PHP i uruchamiane przez CRON, część pracy ostatnio przeniosłem do Pythona.
Automatyzacje i powiązania:
Tryb dzienny, tryb nocny, tryb wakacyjny, załączany od różnych sytuacji, za dużo by opisywać, sterowanie roletami, oświetleniem, bramą, furtką, skrzynką na prąd, gaz, na listy, wody, powiadomienia głosowe, mailowe z fotką z kamer od zdarzeń, zdarzenia zapisywane w MySQL , sterowanie głośnikami, wentylacją, zasilanie zapasowe 12V i 24V i UPS
Pomiary:
Liczniki: wody z nadajnikami impulsów, prądu Socomec Modbus, gazu nadajnik impulsów (oryginalny kontaktron), falownik PV SAM Modbus TCP
Audio
W każdym pomieszczeniu mam głośnik DELL z wtyczką jack i zasilaniem 12V, załączanie głośników przyciskiem lub automatycznie np. rano przy pobudce lub od wyłączenia telewizora, telewizory mają wpięty w USB przekaźnik informujący o załączeniu
Sterowanie roletami
W zależności od pory roku, natężenia oświetlenia na odpowiedniej stronie świata, temperatury zewnętrznej. Rolety się otwierają rano po wyłączeniu budzika pobudka i zamykają wieczorem jak zachodzi słońce i jest wystarczająco ciemno. Informacja o zamykaniu rolet jest poprzedzana komunikatem głosowym (VOM) 3 minuty przed zamknięciem rolet. Jeśli okno jest otwarte to rolety nie zamknie się w danym oknie.
Sterowanie oświetleniem
Sterowanie ręczne, krótkie naciśnięcie załącza mniejszą moc opraw, długie większą, w nocy automatyczne załączanie oświetlenia od czujników ruchu
Sterowanie CO:
Steruję własnym algorytmem z danych o temperaturach z czujników podłogi, zasilania, powrotu, zewnętrznej itp
Skrzynka na listy
Po włożeniu listu do skrzynki przychodzi email ze zdjęciem osoby wkładającej list :wink:
Podlewanie ogrodu
Sterowanie 20 strefami uzależnione od ilości opadów, temperatury, dnia tygodnia itp.

Mam tego jeszcze duuużo więcej …

Co chcę osiągnąć z HA?

  1. Komunikaty TTS dowolne poprzez wysłanie tekstu
  2. Wyciszanie (nieprzerywanie) muzyki na czas odtwarzania komunikatów
  3. Panel z wizualizacją, choć już sobie częściowo zrobiłem poprzez php
1 polubienie

Zapowiada się naprawdę nieźle, jak wcześniej było wspomniane PLC to rozwiązanie przemysłowe, więc gwarantuje stabilność. Ale też w przypadku urządzeń przemysłowych jest gwarancja, że jeśli coś zostanie wycofane to wprowadzą nowsze rozwiązanie, które spokojnie zastąpi stary sterownik. Wystarczy sobie sprawdzić jak zmienia się to chociażby na przykładzie konwerterów Modbus

Polecam rozwiązanie tego Pana dla sterownika inteligentnego domu

Zasilanie Awaryjne
https://www.youtube.com/watch?v=DGkQaqMBRPc&t=0s

1 polubienie

Ostatnio go oglądałem i jego sterowniki wygladają naprawdę ciekawie.