Minęły około dwa miesiące od kiedy spróbowałem testowo inny silnik do zarządzania automatyką: OpenHAB.
OpenHAB wciągnął mnie tak bardzo, że zdecydowałam przesiąść się całkowicie na to oprogramowanie. DomotiGa, której do tej pory używałem, poszła w zapomnienie, a przynajmniej tak mi się wydaje na ten moment.
Każdy kto miał okazję pobawić się w automatykę domową, czy gadżetami, które można zaliczyć do rodziny urządzeń Internet-of-Things, szybko wyciąga konkluzję, że one wszystkie przydatne są na swój indywidualny – samodzielny sposób. Większość z nich ma własny sposób instalacji i konfiguracji. Pracuje w wielu różnych standardach lub własnych autorskich protokołach. Kiedy wpadamy na na pomysł „hmmm… a może je wszystkie spiąć w jeden system” – stwierdzamy, że nie jest to takie łatwe.
Problem tych wszystkich systemów i urządzeń jest to, że ich sposób użycia jest zdefiniowany przez producenta. Jako użytkownik, szybko odkrywamy, że nasze specyficzne potrzeby / funkcjonalności nie są obsługiwane ot tak po wyjęciu urządzenia z pudełka lub nasze różne systemy / urządzenia nie współpracują między sobą. OpenHAB (podobnie jak DomotiGa) wypełnia tę lukę :-). OpenHAB koncentruje się na użytkowniku. Pozwala mu robić to, co chce zrobić. OpenHAB służy jako integrator dla wszystkich potrzeb automatyki domowej. Pozwala, aby urządzenia ze sobą rozmawiały niezależnie od protokołów, standardów, czy marki urządzeń.
Oczywiście, zawsze możemy zdecydować się na zintegrowane rozwiązanie pochodzące od jednego producenta (centrala sterująca, sprzęt, oprogramowanie) i pewnie takie spełnią większość naszych potrzeb. Natomiast wcześniej, czy później pojawi się interesujący element, który świetnie wypełniłby naszą automatykę w domu, ale okazuje się, że producent naszego zintegrowanego systemu, nie ma takiego elementu w swojej ofercie. Producenci komercyjnych rozwiązań nigdy nie będą posiadali wszystkich dostępnych i pojawiających się nowinek w swoim katalogu, a co najmniej nie będą posiadali ich na tyle wcześniej, że będzie chciało się nam czekać, aż takie „skopiują”. Nie wspomnę już o cenie takich zintegrowanych systemów 😉
Kilka słów o koncepcji oprogramowania OpenHAB.
OpenHAB nie próbuje zastąpić istniejących rozwiązań, ale raczej zwiększa ich możliwości. Można o nim powiedzieć o jako systemie do zarządzania podsystemami. Podsystemy skonfigurowane są niezależnie od openHAB, a często są to specyficzne i złożone konfiguracje, przykładowo zawierające proces „parowania” urządzeń, jak w przypadku technologii opartej o z-wave. OpenHAB skupia się bardziej na „codziennym użytkowaniu” i odseparowuje się od samych urządzeń jako takich.
Podstawowym konceptem w openHAB jest „item”- element. Element to funkcjonalny blok – atomowa jednostka – można o nim powiedzieć, jako o zdolności lub możliwości. OpenHAB nie obchodzi, czy dany element jest urządzeniem fizycznym, czy wirtualnym. Przykładowo, jeśli elementem jest wartość temperatury to może ona pochodzi z urządzenia fizycznego – termometru lub wirtualnego źródła np. usługi internetowej lub może też być wynikiem jakiś obliczeń. Wszystkie funkcje oferowane przez openHAB odnoszą się do elementów, oznacza to, że nie znajdziemy żadnego odniesienia do konkretnych urządzeń np. poprzez adresy IP, identyfikatory itp. w regułach sterowania automatyką, czy definicji interfejsu użytkownika itp.
Bardzo ważnym aspektem architektury openHAB jest jego modułowa konstrukcja. Jest stosunkowo prosto, aby dodać nowe funkcje do systemu, popularne technologie automatyki, urządzenia, czy serwisy internetowe, które możemy wykorzystywać a naszym systemie. Wykorzystuje się do tego „bindings” – wiązania. Można dodawać i usuwać je w czasie rzeczywistym – podczas działania systemu. Bardzo fajna zaleta ponieważ restartowanie całego systemu zajmuje trochę czasu. Podejście modułowe jest ogromnym atutem rozwiązania openHAB
OpenHAB został napisany w Java przez co można go uruchamiać praktycznie na każdym systemie operacyjnym, na który można postawić JDK np. Windows, Linux, Mac OS. W moim przypadku OpenHAB postawiłem na układzie CubieTruck z dystrybucją linux Armbian. Dystrybucja Lubuntu, której używałem w DomotiGa, od jakiegoś czasu nie jest już aktualizowana, dlatego przesiadka na Armbian’a.
Instalacja OpenHAB jest w zasadzie prosta:
- wymaga obecności środowiska Java na serwerze
- ściągnięcie openHAB ze strony http://www.openhab.org
- rozpakowanie i uruchomienie odpowiedniego pliku w zależności od systemu operacyjnego.
Postaram się wkrótce napisać kilka know-how wpisów dotyczących instalacji i konfiguracji openHAB
Zapraszam na forum do dyskusji.