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 Like

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.