Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
OpenHab a sterowanie LK
#1
Witam, pierwszy post na forum, a więc witam wszystkich bardzo serdecznie Wink

Do rzeczy, buduję nazwijmy to prototyp inteligentnego budynku w oparciu o LK, ale o tym co i jak rozwinę dokładnie jak ukończę projekt, póki co przedstawie po krótce w czym rzecz:

Założenia:

1. Ma działać jak zwykła instalacja domowa czyli włącznik gasi i zapala światło. (LK)
2. Istnieje możliwość zapalenia, zgaszenia danego oswietlenia zdalnie. (LK)
3. Sterowanie wentylacją łazienki i kibelka automatycznie (w/g wskazań wilgotnosci z dht-łazienka, jak i obecności-zapalone swiatło-kibelek) (LK)
4. Czujniki zamknięcia drzwi na klucz (zwieranie styku przełącznikem w zamku)(bo ile razy czlowiek sie wracal bo zastanawiał sie czy zamknął drzwi) (raspberry)
5. Sterowanie powinno odbywać się w miarę intuicyjną aplikacją.

Hardware:

2 x LK (8 obwodów oświetlenia, 4 wejścia cyfrowe na sztukę, sterowane włącznikami chwilowymi-dzwonkowymi)
1x raspberry pi model b+
2x moduły wykonawcze (tiak bta16 + optotriak) własna robota od projektu przez płytke do montażu Wink - jak ktoś bedzie chciał udostępnie projekt w eagl'u

Początkowo chciałem się zadowolić gaszeniem i zapalaniem oswietlenia przez www LK, lecz wtrakcie wpadł mi do rąk artyuł o OpenHAB, poczytałem spojrzałem tu i ówdzie, super w pełni konfigurowalne środowisko, z obsługą protokołów http (LK) i snmp (LK), napisane w całości w jav'ie pomyślełem spróbuję.......

Na pierszy rzut kamienia Smile snmp.......... i niestety albo ja jestem idiotą, albo ten program rozumie inne snmp - zupełny brak kontaktu snmp->LK,
nie zrażając się jeszcze mówię http Wink i strzał w powiedzmy 8 (do 10 brakuje odczytu stanu z xml pobranego z LK), działa na spokojnie włącz, wyłącz tylko ten nieszczesny brak odczytu stanu wyjścia LK...........


Skąd ten post Wink - program nadaję się do sterowania wyjściami jak i odczytem informacji z czujników podpiętych do LK, lecz w polskojęzycznych stronach, praktycznie brak informacji o OpenHAB, jakiegokolwiek supportu itd. , a sam projekt wydaję się być mocno uniwersalnym i działającym (czytająć co ludzie na tym robią Wink np na niemckojęzycznych stronach ) , myślę że warto by było poświecić jemu chociaż chwile i potestować.......

Mam nadzieje że znajdzie się osoba/y która pociągnie ten wątek, w tkz. kupie siła Wink, ze swojej strony w miarę wolnego czasu będę mógł udostępniać swoje działające na LK configi OpenHab'a i wspierać na ile moja wiedza w temacie bedzie wystrczajca , a myślę że klient z gotową aplikacją na iOS i androida może być ciekawą zachętą.....

pozdrawiam Kamil

linki:

http://www.openhab.org/
http://plc-home.pl/forum/otwarty-system-...504.0.html;
http://technika-laika.blogspot.com/2014/...em-za.html
https://github.com/openhab/openhab/wiki/Http-Binding
Odpowiedz
#2
Czy możesz podzielić się swoimi doświadczeniami współpracy pomiędzy LK a OpenHAB?
Od niedawna "odkryłem" OpenHAB'a i przypadł mi do gustu.
Nie mogę się jednak uporać z konfiguracją OpenHAB do współpracy z LK3 np. odczyt informacji z czujników podpiętych do LK
<t>pozdrawiam<br/>
hubert (LK v3)</t>
Odpowiedz
#3
Cześć chłopaki, podbijam temat, może ktoś opowie o tym bo mnie też to interresuje. A może jest cośgotowego od tinycontrol
Odpowiedz
#4
Nie robiłem testów LK3 z openHAB, ale skoro może on(openhub) czytać po http(xml lub json) lub snmp to z Lk bez problemu wyciągnie dane.
pozdrawiam
tomek
Odpowiedz
#5
Witam, potwierdzam Openhab działa z LK. Jeżeli będzie zainteresowanie mogę przedstawić mój sposób na integrację LK z OH.
Odpowiedz
#6
Jestem bardzo zainteresowany integracją OH z LK jeżeli możesz to napisz jak poradziłeś sobie z tym problemem

Z góry dziękuję
Odpowiedz
#7
Przedstawiony sposób integracji  LK z OH będzie dotyczył oprogramowania OH v3.3.0 pracującego na raspberry PI 4 z systemem OS Lite 32bit i lan kontrolera v2.0. Większość konfiguracji przeprowadziłem z poziomu przeglądarki, choć są wyjątki i pewne funkcjonalności wymagają dodania plików konfiguracyjnych do odpowiednich folderów w OH. Dane z LK pobieram z pliku XML, który jest dostępny pod adresem http://192.168.X.X/st0.xml. Oczywiście w miejsce X należy wstawić właściwy adres IP dla posiadanego LK. Aby ułatwić sobie pracę zastosowałem nazewnictwo wejść i wyjść zgodne z plikiem XML.
  • W pierwszej kolejności instalujemy HTTP Bindings i taki typ wiązania wybieramy przy dodawaniu LK do sekcji things. Następnie wpisujemy w pola:
Base URL - adres IP  LK
Authentication Mode - Basic Authentication
State Method - GET, Command Method - POST
Content Type - text/plain
  • Kolejny krok to dodanie kanałów typu switch, w tym celu przechodzimy na zakładkę channels i klikamy dodaj kanał. Następnie wpisujemy w pola:
State Transformation - REGEX:(?:.*<out0>(.*?)<.out0>.*)
State URL Extension - st0.xml
Command URL Extension - outs.cgi?out0=%2$s
On Value - 0
Off Value - 1
Read/Write Mode - Read/Write
  • Czynność powtarzamy dodając kolejne wyjścia zmieniając pola <outX> od 0 do 5. Aby LK pobierał dane należy zainstalować RegEx Transformation. Do kanałów wyjściowych dodajemy items. Wybieramy typ switch a po utworzeniu dodajemy Metadata, stateDescription Pattern - %s
Przykładowa strona OH do sterowania LK.
Kod:
sitemap server label="LK Serwer" {
    Frame label="LK2" {
            Frame label="Digital Outputs Control" {
                Switch icon="switch" item=lk2out0 label="lk2out0"
                Switch icon="switch" item=lk2out1 label="lk2out1"
                Switch icon="switch" item=lk2out2 label="lk2out2"
                Switch icon="switch" item=lk2out3 label="lk2out3"
                Switch icon="switch" item=lk2out4 label="lk2out4"
                Switch icon="switch" item=lk2out5 label="lk2out5"
            }
            Frame label="ANALOG Inputs State" {
                Text item=lk2ia0 label="Temperatura płytki"
                Text item=lk2ia1 label="Napięcie zasilania" icon="none"
                Text item=lk2ia2 label="Inp1"
                Text item=lk2ia3 label="Inp2"
                Text item=lk2ia4 label="Inp3"
                Text item=lk2ia5 label="Inp4"
                Text item=lk2ia6 label="Inp5"
                Text item=lk2ia7 label="Inp6"
                Text item=lk2ia8 label="Inp7"
                Text item=lk2ia9 label="Inp8"
                Text item=lk2ia10 label="Inp9"
            }
            Frame label="Digital Inputs State" {
                Text icon="my_siren" label="INP1D" item=lk2di0
                Text icon="my_siren" label="INP2D" item=lk2di1
                Text icon="my_siren" label="INP3D" item=lk2di2
                Text icon="my_siren" label="INP4D" item=lk2di3
            }
        }
}

To tyle jeżeli chodzi o sterowanie przekaźnikami, w kolejnych wpisach dodam odczyt z wejść analogowych i cyfrowych.
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości