'Inteligenty' dom ze sterownikiem PLC

 Language:
Szukanie zaawansowane  

Aktualności:

Powrót do strony głównej: www.edom-plc.pl

Autor Wątek: Otwarty system automatyki domowej openHAB  (Przeczytany 24014 razy)

primary1

  • Newbie
  • *
  • Wiadomości: 6
    • Zobacz profil
Otwarty system automatyki domowej openHAB
« dnia: Marca 28, 2014, 07:08:58 pm »

Witam.

Ostatnio dość intensywnie zajmuje się kwestią zarządzania systemem inteligentnego budynku opartego na sterowniku PLC.
Trafiłem na bardzo ciekawy projekt - openHAB - i wygląda na to, że wykorzystam go do sterowania z tabletów (w formie panelu operatorskiego na ścianie) i ze smartfonów z androidem.
Każdy kto ma jakiś serwer spięty z PLC, albo jest w stanie uruchomić Raspberry Pi może pomyśleć nad takim rozwiązaniem.
Nie będę się za bardzo rozpisywać o openHAB i odsyłam do strony projektu: http://www.openhab.org

Tak na szybko: oprogramowanie instalujemy na komputerze/minikomputerze i konfigurujemy do współpracy z urządzeniami, sterownikami itp. Od reki wspieranych jest dużo protokołów komunikacyjnych, w tym oczywiście modbus. Oprogramowanie może posłużyć do zarządzania, zbierania danych (wykresy) a nawet i sterowania urządzeniami wraz z zaawansowanymi regułami automatyki. Interfejs jest dostępny z przeglądarki i aplikacji na urządzenia mobilne. Poza tym zarządzać możemy przez e-mail, komunikator, terminal itp...

Pisałem już o tym na innym forum, ale pomyślałem, że może Was coś takiego zainteresuje, dlatego postanowiłem napisać również tu.
Pozdrawiam.
Zapisane

bogasman

  • Jr. Member
  • **
  • Wiadomości: 56
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #1 dnia: Grudnia 04, 2014, 11:54:08 am »

Używam w domu OpenHABa postawionego na BananaPi. Pracuje stabilnie.
Bardzo obiecujący system z olbrzymim potencjałem. W projekcie jest duża aktywność, powstaje dużo rozszerzeń do znanych urządzań. Np. co mnie ucieszyło, to kilka dni temu dodany został np. "binding" do Satela napisany przez rodaka. Podstawowy interfejs nie powala jeszcze na kolana, ale zupełnie wystarczy no i są rozszerzenia, które są całkiem eleganckie. Jedynym problemem jest dla mnie dokumentacja, często napisana bardzo słabo i chaotycznie. Trudno też znaleźć przykłady. Natomiast jest w miarę dobre wsparcie od autorów, programistów i użytkowników. Projekt jest młody ale bardzo dynamicznie sie rozwija.
Zapisane

krwi

  • Newbie
  • *
  • Wiadomości: 47
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #2 dnia: Października 30, 2015, 09:21:20 am »

Chciałem przetestować openHAB ale mam problem z poprawnym odczytem stanów wyjść. Czysta instalacja openHAB, wgrany jedynie wago binding, połączenie się nawiązuje natomiast w logu dostaję ciągle "MySwitch1 state updated to OFF" dla wszystkich skonfigurowanych itemów niezależnie czy wyjście jest aktywne czy nie.
Dopiero poznaję openHAB więc może coś źle zrozumiałem ale nie mogę z tym ruszyć do przodu, czy szanowni koledzy mogli by wkleić przykładową konfigurację?
Zapisane

krwi

  • Newbie
  • *
  • Wiadomości: 47
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #3 dnia: Listopada 07, 2015, 08:00:06 pm »

Na to wygląda że binding Wago jest uwalony (albo ja nie umiem go skonfigurować) przełączyłem się na binding ModBus i zaczął poprawnie sczytywać statusy.
Zapisane

ziutol

  • Newbie
  • *
  • Wiadomości: 11
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #4 dnia: Listopada 09, 2015, 07:57:49 am »

Witam
Jestem początkujący  z Openhab  mógłbym prosić o przykład   zmiany stanu  wyjścia sterownika i konfiguracji  biblioteki binding ModBus.
Zapisane

krwi

  • Newbie
  • *
  • Wiadomości: 47
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #5 dnia: Listopada 09, 2015, 09:33:27 am »

Je też dopiero zacząłem z OpenHab (jeszcze nie wiem czy będę to wykorzystywał) ale żeby się połączyć i odczytywać co 10 sek stany 74 wyjść wystarczyło:

w opnhab.cfg:
modbus:poll=10000
modbus:tcp.slave2.connection=192.168.0.1:502:rtu
modbus:tcp.slave2.id=1
modbus:tcp.slave2.type=coil
modbus:tcp.slave2.start=512
modbus:tcp.slave2.length=74

w .items:
Group   ALL

Switch MySwitch0 "My Modbus Switch0" (ALL) {modbus="slave2:0"}
Switch MySwitch1 "My Modbus Switch1" (ALL) {modbus="slave2:1"}
Switch MySwitch2 "My Modbus Switch2" (ALL) {modbus="slave2:2"}
Switch MySwitch3 "My Modbus Switch3" (ALL) {modbus="slave2:3"}
...
Zapisane

zim

  • Jr. Member
  • **
  • Wiadomości: 54
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #6 dnia: Listopada 28, 2015, 08:53:21 pm »

Witaj,

Czy udało Ci sie sterować wyjściami Wago poprzez openHab ?

Mogę odczytywać stany ale niestety nie mogę dojść czy da się nimi sterować ?
Zapisane

krwi

  • Newbie
  • *
  • Wiadomości: 47
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #7 dnia: Listopada 30, 2015, 03:41:50 pm »

Niestety napotkałem ten sam problem ale myślałem, że to coś u mnie sknocone. Nie udało mi się tego rozwiązać, na razie porzuciłem OpenHAB i przymierzam się do napisania własnej wizualizacji.
Zapisane

zim

  • Jr. Member
  • **
  • Wiadomości: 54
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #8 dnia: Listopada 30, 2015, 07:12:21 pm »

Ok czyli jesteśmy na tym samym etapie,

Ja się jeszcze nie poddaje, musi być możliwość sterowania.

Pozdrawiam,
Zapisane

marek

  • Newbie
  • *
  • Wiadomości: 5
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #9 dnia: Grudnia 02, 2015, 07:35:32 pm »

Witam.
Ja używam co prawda po tcp i tego slave2 mam dla włączników:

modbus:tcp.slave2.connection=x.x.x.x:502
modbus:tcp.slave2.type=coil
modbus:tcp.slave2.id=1
modbus:tcp.slave2.start=12288
modbus:tcp.slave2.length=48

a w items:

Switch   MyS1   "Test Switch"   (Intern)      { modbus="slave2:>0:<1" }
Zapisane

zim

  • Jr. Member
  • **
  • Wiadomości: 54
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #10 dnia: Grudnia 02, 2015, 09:38:53 pm »

Witaj,

Czy przy takiej konfiguracji możesz sterować wyjściami wago z OpenHab ?

Mi przy tej konfiguracji (wysokiego adresu) nie podaje nawet stanu wyjść.
Zapisane

marek

  • Newbie
  • *
  • Wiadomości: 5
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #11 dnia: Grudnia 02, 2015, 10:13:00 pm »

Wyjściami steruje poprzez NOVRAM (12288... 24575, %MW0... %MW12287) oraz Fb_LatchingRelay sprawdzając bit w pamięci do którego może pisać openhab poprzez modbusa oraz wejścia fizyczne i na podstawie tego ustawiam wyjście oraz drugą zmienną w pamięci którą openhab czyta.

Jakoś nie miałem "mądrzejszego" pomysłu.
Zapisane

zim

  • Jr. Member
  • **
  • Wiadomości: 54
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #12 dnia: Grudnia 02, 2015, 10:31:13 pm »

Mógł byś mi bardziej łopatologicznie to opisać. Najlepiej z przykładem :D

Zapisane

marek

  • Newbie
  • *
  • Wiadomości: 5
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #13 dnia: Grudnia 02, 2015, 10:34:13 pm »

Mógłbym:
VAR
   LIGHT1: Fb_LatchingRelay;
        VIS_LIGHT1 AT %MX0.0 : BOOL;
   VIS_LIGHT2 AT %MX0.1 : BOOL;
END_VAR

LIGHT1(xSwitch:=IN1 OR VIS_LIGHT1); OUT1:=LIGHT1.xActuator; VIS_LIGHT2:=OUT1; VIS_LIGHT1:=FALSE;
Zapisane

zim

  • Jr. Member
  • **
  • Wiadomości: 54
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #14 dnia: Grudnia 03, 2015, 06:22:26 pm »

DZIAŁA :-)

Dzięki wielkie.
Zapisane

zim

  • Jr. Member
  • **
  • Wiadomości: 54
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #15 dnia: Grudnia 04, 2015, 07:58:12 pm »

Marek,

Jeszcze jedno pytanie udało Ci sie przejąć kontrole nad roletami poprzez openhab ?
Zapisane

marek

  • Newbie
  • *
  • Wiadomości: 5
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #16 dnia: Grudnia 08, 2015, 02:47:39 pm »

Jeszcze nie posiadam rolet :)
Z tego co pamiętam rollershutter nie ma zaimplementowanej obsługi modbus'a, więc trzeba stworzyć przełączniki obsługujące poszczególne funkcje poszczególnych rolet i potem w rules zdefiniować ich obsługę.
Zapisane

zim

  • Jr. Member
  • **
  • Wiadomości: 54
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #17 dnia: Grudnia 08, 2015, 06:57:18 pm »

Ok czyli jednak ta droga, ktoś na forum openhab chwalił się że napisał obsługę ale nie odpisuje na PM
Zapisane

primary1

  • Newbie
  • *
  • Wiadomości: 6
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #18 dnia: Grudnia 14, 2015, 11:08:56 am »

U siebie do rolet używam typu Number i Selection item. Stan rolety wybieram z listy od 0 do 100% co 10%.
Wcześniej używałem Rollershutter. W starych kopiach znalazłem obsługę po Modbus:

items:
Rollershutter Roleta_Parter_Salon_TylP "Tył prawa [%d %%]" (Rolety, Rolety_Parter, Rolety_Salon, Rolety_SalonG)
Number Roleta_Parter_Salon_TylP_M {modbus="slave2:19"}

rules:
rule "Roleta_Parter_Salon_TylP zapis"
when
        System started
            or
Item Roleta_Parter_Salon_TylP received command
then
    var State = Roleta_Parter_Salon_TylP.state as DecimalType
    var Pos   = State.toBigDecimal.toBigInteger.intValue
        sendCommand(Roleta_Parter_Salon_TylP_M, Pos)
end
rule "Roleta_Parter_Salon_TylP odczyt"
when

Item Roleta_Parter_Salon_TylP_M changed
then
var State = Roleta_Parter_Salon_TylP_M.state as DecimalType
var Pos   = State.toBigDecimal.toBigInteger.intValue
Roleta_Parter_Salon_TylP.state = new PercentType(Pos)
end

Nie jestem pewny czy to działająca konfiguracja, ale można się na tym wzorować.
« Ostatnia zmiana: Grudnia 14, 2015, 11:10:57 am wysłana przez primary1 »
Zapisane

zim

  • Jr. Member
  • **
  • Wiadomości: 54
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #19 dnia: Grudnia 14, 2015, 07:47:06 pm »

Witaj,

Dzięki za przykład niestety u mnie nie działa...

Możesz podesłać "aktualny" sposób ?
Zapisane

primary1

  • Newbie
  • *
  • Wiadomości: 6
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #20 dnia: Grudnia 15, 2015, 01:21:50 pm »

Będę miał chwilę to podeślę jeszcze przykład ze sterowaniem przez "markery" odpowiadające akcjom góra, dół i stop.
Zapisane

oktawian

  • Newbie
  • *
  • Wiadomości: 1
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #21 dnia: Grudnia 17, 2015, 05:07:48 pm »

Witam,
Rasperry łączy się z integrą
01:32:36.276 INFO  o.o.c.s.AbstractActiveService[:169] - Satel Refresh Service has been started
01:32:36.287 INFO  o.o.b.s.i.protocol.Ethm1Module[:65] - Connecting to ETHM-1 module at 192.168.10.201:7094
01:32:36.305 INFO  o.o.b.s.i.protocol.Ethm1Module[:70] - ETHM-1 module connected successfuly

ale nie przekazuje żadnych rozkazów, mam włączoną integrację na ethm. Czy mógłby ktoś podesłać mi swoje pliki konfiguracyjne ? items, rules, sitemap, script, próbuję ogarnąć temat ale nie działa.

Podstawy jakie mnie interesują to:
podnoszenie, opuszczanie rolet, (pojedyńczo i grupowo)
sterowanie wyjściami (garaż itp.)
uzbrajanie alarmu
kasowanie alarmów

Dodatkowo chcę to ogarnąć na tablet z androidem, coś ala
https://github.com/smar000/openhab-dashboard/blob/master/tmp/image.jpg

Oczywiście dogadamy się $
Zapisane

hexal

  • Newbie
  • *
  • Wiadomości: 9
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #22 dnia: Października 23, 2016, 04:50:51 pm »

Wyjściami steruje poprzez NOVRAM (12288... 24575, %MW0... %MW12287) oraz Fb_LatchingRelay sprawdzając bit w pamięci do którego może pisać openhab poprzez modbusa oraz wejścia fizyczne i na podstawie tego ustawiam wyjście oraz drugą zmienną w pamięci którą openhab czyta.

Jakoś nie miałem "mądrzejszego" pomysłu.
Mógłbym:
VAR
   LIGHT1: Fb_LatchingRelay;
        VIS_LIGHT1 AT %MX0.0 : BOOL;
   VIS_LIGHT2 AT %MX0.1 : BOOL;
END_VAR

LIGHT1(xSwitch:=IN1 OR VIS_LIGHT1); OUT1:=LIGHT1.xActuator; VIS_LIGHT2:=OUT1; VIS_LIGHT1:=FALSE;

Witam,
ja analogicznie steruję światłem przez Fb_LatchingRelay i żeby nie przerabiać zbytnio kodu na PLC uzupełniłem jedynie deklarację zmiennych o %MX tj. np. VIS_K01  AT %MX0.8: BOOL; VIS_K02  AT %MX0.9: BOOL;VIS_K19  AT %MX1.10: BOOL; itd. - wtedy wiem gdzie szukać ich przy komunikacji przez modbus w openhab.
W samym openhab mam:
cfg
modbus:tcp.slave2.connection=x.x.x.x:502
modbus:tcp.slave2.type=coil
modbus:tcp.slave2.id=1
modbus:tcp.slave2.start=12288
modbus:tcp.slave2.length=100
.item
Switch cewka_VIS_K19 "PLC_PRG.VIS_K19" (ALL) {autoupdate="false",modbus="slave2:26"}
.sitemap
Switch item=cewka_VIS_K19 label="VIS_K19_kominek" mappings=[ON="ON"]
.rule
rule "Automatically switch off switch"
when
   Item cewka_VIS_K19 received command ON
then
    createTimer(now.plusSeconds(1))[|
      cewka_VIS_K19.sendCommand(OFF)
   ]
end

Wtedy po wciśnięciu lampy (VIS_K19_kominek) na ON zmienna %MX1.10 przyjmuje wartość 1 a po jednej sekundzie dzięki zapisom w .rules automatycznie przyjmuje wartość 0. Nie trzeba angażować dodatkowych zmiennych i działa :)

Teraz walczę żeby z danych wyciągniętych z plc_visu.xml odszyfrować adresy zmiennych innych niż stany 0/1 tj. zapisane w PLC zmienne przechowujące czas, datę zdarzeń i statystyki załączeń światła bo jakoś tego nie widzę.
Zapisane

tomekcz

  • Newbie
  • *
  • Wiadomości: 7
    • Zobacz profil
Odp: Otwarty system automatyki domowej openHAB
« Odpowiedź #23 dnia: Kwietnia 28, 2019, 03:04:21 pm »

Witam serdecznie.
Mam problem z sterowaniem przez openhab. To znaczy tak - zdeklarowałem zmienne globalne w codesy ,dodałem adres TEST %MW3.11:BOOL
Po skompilowaniu projektu i załadowaniu go do sterownika wciskając switch w openhab widzę w zmiennych globalnych zmianę z FALSE na TRUE i odwrotnie ale nie może to wysterować Fb_LatchingRelay. W samym bloku również mam na xSwitch IN27 OR TEST. Gdy wciskam przycisk podłączony do wejścia IN27 również widzę to w Openhab.

Proszę podpowiedzcie mi co żle robie?
Zapisane