Jeśli używasz OpenHAB w wersji pierwszej, możesz zastanawiać się, czy warto przesiąść się na OpenHAB w wersji 2 beta?
Ja po miesiącu używania wersji 2beta (OH2), zdecydowałem się wrócić do wersji 1.8 (OH1). Nie oznacza to jednak, że wersja 2 nie działa. Poniżej kilka spostrzeżeń i bardziej lub mniej udokumentowanych zmian, które mogą pomóc Ci w podjęciu decyzji lub pomóc w migracji do w wersji 2.
1. Czy OpenHAB 2beta jest w pełni działającym i stabilnym rozwiązaniem?
Tak, w zasadzie daje już te same możliwości co wersja 1, plus wprowadza kilka dodatkowych zmian. Oczywiście mogą występować większe lub mniejsze błędy w działaniu oprogramowania natomiast nie zauważyłem krytycznych błędów, np.: powodujących zawieszanie się oprogramowania, czy systemu, które dyskwalifikowały OpenHAB 2beta. Oceniam tą wersję na stosunkowo stabilną. Często obserwowałem zapisy w log plikach i nie zauważyłem niepokojących wpisów, świadczących o problemach.
2. Czy działają wszystkie dodatki (bindings) jak w wersji 1
Raczej tak. Jest bardzo niewiele dodatków, które nie działają. W momencie pisania tego wpisu 3 dodatki na ponad 90 dostępnych jeszcze nie działa poprawnie. Natomiast ważne jest, że z ponad 90 dostępnych dodatków z wersji 1.8, trzydzieści jest w pełni dostosowane do wersji 2, a pozostałe są kompatybilne z wersją 2.
- aW pełni dostosowany dodatek: dodatek został przebudowany dla OH2; min.: jest konfigurowalny w pełni za pomocą przeglądarki internetowej. Konfiguracja dodatku jest przechowywana w zupełnie inny sposób w stosunku do wersji 1, gdzie 100% konfiguracji opierała się w zasadzie na modyfikacji ręcznej plików konfiguracyjnych.
- Dodatek kompatybilny to w zasadzie przetestowany dodatek z wersji 1 na OpenHAB; wymaga, jak w przypadku OH1 konfigurowania ręcznego w plikach konfiguracyjnych.
Co to oznacza na ten moment? O ile kierunek, w którym podąża OH2 jest dobry, czyli uproszczenie sposobu użytkowania, konfigurowania OpenHAB, o tyle mamy do czynienia z hybrydą. Trochę jest po nowemu, trochę jest po staremu. Taka sytuacja na razie wprowadza więcej trudności w używaniu OH niż uproszczeń. Szczególnie dla osób, które nie miały okazji użytkowania OH1 w praktyce.
3. Jak konfiguruje się OpenHAB 2beta?
Tak, jak już wspomniałem powyżej. Sposób konfiguracji zmierza w dobrym kierunku. W porównaniu do wersji pierwszej wszystkie dodatki instaluje się z poziomu przeglądarki. Duży plus. Nie trzeba bawić się w ręczne wgrywanie plików do odpowiednich katalogów jak w OH1, czy korzystać z linii poleceń, aby je dodawać. W przypadku dodatków osób trzecich, czy własnych jest możliwość dodawania ich w praktycznie taki sam sposób jak w OH1 – wgrywanie do odpowiednich katalogów plików .jar
Poniżej jak wygląda ekran do instalowania dodatków
Dobrą opcją, wg mnie, jest możliwości ręcznej konfiguracji dodatków w pełni działających z wersją drugą – czyli nie koniecznie trzeba używać przeglądarkę internetową, aby je konfigurować. Dlaczego tak uważam? Dodatki kompatybilne z wersją drugą, tak czy inaczej trzeba konfigurować w plikach ręcznie. Dla spójności i przejrzystości taki sam sposób konfiguracji dodatków w pełni dostosowanych i kompatybilnych z OH2 dla całego projektu wydaje mi się sensowniejszy. Rozpraszało mnie na początku to, że część konfiguracji robi się przez przeglądarkę, a część po plikach. Ta możliwość nie będzie już, aż tak wartościowa jeśli 100% konfiguracji OpenHAB będzie można wykonać przez przeglądarkę.
Poniżej przykładowy ekran konfiguracji elementu opartego o dodatek Network (network-binding) przez przeglądarkę.
W OH2 jest nowa struktura katalogów / plików konfiguracyjnych. Poniżej w lewym oknie mamy strukturę z OH1 po prawej OH2
Główne zmiany:
- ustawienia, których dokonywało się w pliku openhab.cfg teraz przeprowadza się przez szereg plików, które znajdują się w katalogu services. Każdy dodatek ma swój osobny plik konfiguracyjny. Jak wspomniałem wcześniej konfiguracje dodatków w pełni dostosowanych robi się w przeglądarce. Tutaj znajdują się konfiguracje dodatków kompatybilnych. Konfigurowanie dodatków w osobnych plikach vs konfigurowanie ich wszystkich w jednym oceniam na plus – większa przejrzystość.
- konfiguracja: items, persistance, rules, transform, sitemap, scripts między obiema wersjami jest taka sama.
- w OH2 wprowadza się pojęcie „Rzeczy” Things. Rzecz można porównać z rzeczywistym urządzeniem, które ma najczęściej więcej niż jedną wartość, funkcję, którą OH2 nazywa jako Channel, Kanał z angielskiego. Przykładową Rzeczą jest czujnik, który może mierzyć natężenie światła, temperaturę, wilgotność powietrza. Kanał (Channel) to właśnie natężenie światła, temperatura, wilgotność.
- w OpenHAB 2 występują dwa dodatkowe katalogi html, icons w katalogu konfiguracji. O nich będzie poniżej.
W OpenHAB 2 funkcjonuje znane z OH1 pojęcie item. Ma ono takie same znaczenie jak w OH1 i jest koniecznie, aby budować interfejs użytkownika, czy tworzyć reguły. Jeśli dodatek np. network-binding jest konfigurowany przez przeglądarkę to trzeba linkować item z channel. Alternatywa to konfigurowanie dodatków w pełni opracowanych dla OH2 w plikach konfiguracyjnych. Nie trzeba linkować wtedy Channel z Item w przeglądarce.
Poniżej linkuje Item Sunset_Time z Kanałem o nazwie End time Rzeczy Astro sun data.
4. Czy dostępne są nowe interfejsy użytkownika?
Tak. Interfejsy użytkownika w wersji OpenHAB 2 to bardzo pozytywna zmiana. Instaluje się je wg potrzeb. W wersji OpenHAB 2 dostępne są 4 interfejsy:
- Paper UI – interfejs wykorzystywany do konfiguracji OpenHAB – wszystkie powyższe pomarańczowe screenshot’y pochodzą z interfejsu Paper-UI
- Classic-UI – ten sam interfejs, który dostępny jest w wersji OH1. Wykorzystuje plik konfiguracyjny UI sitemap
- Basic-UI – całkiem przyjemny prosty i responsywny interfejs, który również wykorzystuje konfigurację przez sitemap
- CometVisu – http://www.cometvisu.org/wiki/CometVisu
Poniższe screenshoty to przykładowy Basic-UI
Classic-UI
Automatykę OpenHAB 2 można również sterować przez dedykowaną aplikację openHAB na Android i iOS
Kilka dodatkowych informacji dotyczących interfejsów użytkownika:
- nie ma już katalogu z interfejsami /webapps, w którym znajdowały się pliki interfejsów użytkownika.
- ikony OpenHAB 2 można przejrzeć tutaj: https://github.com/reitermarkus/openhab2/tree/master/bundles/ui/org.openhab.ui.iconset.classic/icons
- ikony w drugiej wersji mogą mieć format PNG lub wektorowy SVG
- jeśli potrzebujemy korzystać z własnych ikon to trzeba utworzyć katalog /icons/classic w katalogu /conf i tutaj wgrać nasze ikony.
- w aplikacji OpenHAB na iOS nie działa automatyczna zmiana ikon uzależniona od wartości item np ON, OFF – działa w Basic-UI, Classic-UI przez przeglądarkę
- konfiguracja Classic-UI po zamknięciu – uruchomieniu jest przywracana do ustawień domyślnych – prawdopodobnie defekt.
5. Jak wyglądają sprawy dotyczące bezpieczeństwa?
Tutaj mamy jeszcze dużą dziurę. Otóż autoryzacja nie jest jeszcze zaimplementowana w wersji 2. W OH1 mogliśmy dodawać użytkowników i komunikować się po szyfrowanym połączeniu https. O ile OH2 może również pracować po szyfrowanym połączeniu https o tyle brak autoryzacji jest jeszcze dużą luką. Nie jest to problemem jeśli nie zamierzamy dostać się do OpenHAB spoza domu – czyli z Internetu.
6. Czy można korzystać z my.openhab.org i OpenHAB 2 beta
Tak, można korzystać. Natomiast jest jeszcze (chyba) błąd z tym dodatkiem, objawiający się tym, że synchronizowane z my.openhab.org są wszystkie item’y. W OpenHAB 1 synchronizowane są tylko te item’y, które ustawimy do synchronizacji. Na forum pytam, czy to defekt, czy oczekiwane zachowanie. Mam nadzieję, że defekt. Osobiście nie przepadam za synchronizowaniem z chmurą wszystkich item’ów. Wg mnie powinniśmy synchronizować tylko te, które potrzebne są, żeby zrealizować daną potrzebę z wykorzystaniem my.openhab.org. Nie jest to problem jeśli nie zamierzamy wykorzystywać my.openhab.org lub tak czy inaczej, zamierzaliśmy synchronizować wszystkie item’y do my.openhab.org.
No to może tyle na dzisiaj 🙂
Zapraszam na forum do dyskusji.