Czego dziś się dowiesz
- jak zainstalować dodatek (binding) Supla w OpenHAB
- jak skonfigurować pierwszy serwer Supli
- jak dodać fizyczne urządzenie (na przykładzie ROW-01)
- czym w praktyce różni się warstwa fizyczna od semantycznej
- jak pierwszy raz „poczuć”, po co w ogóle jest OpenHAB
Dobrze, w końcu doszliśmy do mięska. Do tej pory budowaliśmy fundamenty: instalacja, środowisko, decyzje architektoniczne. Dziś OpenHAB zaczyna robić coś realnego. Na tapet bierzemy instalację dodatku Supla, konfigurację pierwszego serwera i pierwszego urządzenia, a na koniec – pierwszy sensowny model domu.
To jest dokładnie ten moment, w którym OpenHAB przestaje być „kolejnym systemem”, a zaczyna mieć sens.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Instalacja dodatku Supla
W bocznym menu wchodzimy w:
Sklep z dodatkami → Bindings
Wyszukujemy Supla i klikamy Install.
Po chwili mielenia binding powinien się zainstalować. Bez restartów, bez magii.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Dodanie serwera Supli w OpenHAB
Po instalacji bindingu przechodzimy do:
Ustawienia → Things
Klikamy „+” w prawym dolnym rogu i wybieramy:
Supla Integration → Supla Server
Tu konfigurujemy serwer, do którego będą łączyć się urządzenia.
Thing ID
Unikalna nazwa serwera w OpenHAB. Może być dowolna.
Ja zwykle wpisuję coś w stylu:
Code: Select all
supla-server-2016
Server port
- 2016 – urządzenia produkcyjne (Zamel, Auraton)
- 2015 – urządzenia deweloperskie (ESP, RPi, Arduino)
Jeżeli chcesz obsługiwać oba porty, musisz utworzyć dwa osobne serwery.
Server Access ID / Password (stary flow)
Starszy model rejestracji urządzeń. Można ustawić globalnie albo zostawić puste i konfigurować per-urządzenie.
Email (nowy flow)
Nowe urządzenia rejestrują się przez email + authorization code. Email nie musi być prawdziwy. Można ustawić globalnie albo zostawić puste.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Opcje zaawansowane (ważne, jeśli masz stare urządzenia)
Po zaznaczeniu opcji Show advanced pojawią się ustawienia, które na początku można pominąć… ale jeśli masz starsze urządzenia, szybko do nich wrócisz.
Enable SSL
Jeżeli korzystasz z własnych lub starszych urządzeń (np. ESP8266), SSL może nie być wspierany. W sieci lokalnej bywa to świadomy kompromis.
Protocols
Java domyślnie blokuje TLS 1.0 i TLS 1.1 (RFC 8996). Problem w tym, że stare urządzenia Supli (np. ROW-01 z 2016/17 na ESP8266) potrafią komunikować się wyłącznie przez te protokoły.
Jeżeli masz tylko nowe urządzenia – najlepiej usunąć TLSv1 i TLSv1.1 z listy.
Jeżeli musisz wspierać stare urządzenia, trzeba je jawnie odblokować w Javie.
Plik java.security znajdziesz w:
Code: Select all
$JAVA_HOME/conf/security/java.security
$JAVA_HOME/lib/security/java.security
Code: Select all
jdk.tls.disabledAlgorithms
- SSLv3
- TLSv1
- TLSv1.1
Zrób kopię zapasową przed edycją.
Po zapisaniu zmian zrestartuj OpenHABa.
Więcej informacji: Enabling TLS 1.0 and TLS 1.1
Jeśli mamy już wszystko gotowe, klikamy Create Thing. OpenHAB powinien przenieść nas na stronę z utworzonym serwerem Supla. Na tej stronie można później zmieniać konfigurację według dokładnie tych samych zasad jak przy tworzeniu serwera — tylko pamiętaj o jednej rzeczy: Save / Ctrl+S, bo inaczej zmiany po prostu się nie zapiszą.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Dodanie urządzenia – przykład ROW-01
Mam ROW-01 z około 2017 roku na ESP8266. Rejestruje się po starym flow (Access ID + Password). Mogą być losowe – ważne, żeby były takie same w urządzeniu i w OpenHAB.
Po zapisaniu konfiguracji resetuję urządzenie. Zielona dioda powinna migać co ~1 sekundę.
W OpenHAB:
Things → „+” → Supla → Scan
Do minuty czasu powinien pojawić się ROW-01 w Discovered Things. Klikam:
- Add as a thing
- dwa razy OK
Wchodzę w konfigurację urządzenia, włączam advanced i wpisuję:
- Server Access ID: 123
- Password: abc
Save.
Jeżeli wszystko się zgadza, urządzenie świeci się na zielono.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Warstwa fizyczna vs semantyczna – o co w tym naprawdę chodzi
To jest jedno z najczęstszych źródeł zamieszania w openHAB. I zupełnie mnie to nie dziwi, bo na pierwszy rzut oka wygląda to jak „sztuka dla sztuki”.
Najprościej:
Thing + Channels = integracja techniczna
Model semantyczny = znaczenie i logika domu
Rozbijmy to spokojnie na czynniki pierwsze.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Thing reprezentuje fizyczne albo logiczne urządzenie:
- żarówkę
- czujnik
- mostek (bridge)
- falownik
- termostat
Przykłady:
- żarówka Zigbee
- gniazdko Wi-Fi
- czujnik temperatury Z-Wave
Thing = „to coś istnieje i da się z nim połączyć”
---
Channel to konkretna funkcja lub parametr danego urządzenia:
- ON / OFF
- jasność
- temperatura
- wilgotność
- poziom baterii
Przykład:
- Thing: czujnik temperatury i wilgotności
- Channel: temperature
- Channel: humidity
- Channel: battery
---
Channel łączy się z Itemem, bo:
- reguły
- UI
- sitemap
- automatyzacje
działają na Itemach, a nie bezpośrednio na Thingach.
Schemat wygląda tak:
Code: Select all
Thing ── Channel ── Item
Jak kabel, sterownik, protokół.
Bardzo ważna, ale kompletnie pozbawiona „znaczenia”.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Model semantyczny nie opisuje, jak urządzenie działa.
On odpowiada na zupełnie inne pytania:
---
- Dom
- Parter
- Salon
- Kuchnia
---
- Lampa
- Termostat
- Gniazdko
- Czujnik
---
- Światło
- Temperatura
- Wilgotność
- Ruch
- Zużycie energii
---
Item dostaje tagi semantyczne, np:
- Location
- Equipment
- Point
- Light
- Temperature
- Humidity
Dzięki temu openHAB rozumie sens, a nie tylko nazwę.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Technicznie:
Code: Select all
Thing (Zigbee bulb)
└── Channel (switch)
└── Item (Salon_Lampa_ONOFF)
Code: Select all
Dom
└── Salon (Location)
└── Lampa_Sufitowa (Equipment)
└── Światło (Point + Light)
Różnica polega na tym, że:
- jest połączony z Channel (technika),
- ma tagi semantyczne (znaczenie).
--------------------------------------------------------------------------------------------------------------------------------------------------------
- openHAB sam buduje widoki
- „Światła w salonie”
- „Temperatura w domu”
Bez ręcznego dłubania w sitemapach
---
Zamiast:
Code: Select all
if (Salon_Lampa1.state == ON || Salon_Lampa2.state == ON)
- operować na grupach,
- na wszystkich światłach w lokacji,
- na typach punktów.
---
- dodajesz nową lampę → UI samo ją ogarnia
- dodajesz nowy pokój → reguły nadal działają
--------------------------------------------------------------------------------------------------------------------------------------------------------
Pierwszy model domu – przykład
Zakładam dwupoziomowy dom przy ulicy Mickiewicza.
Model → Add locations from template
Wybieram:
- Two story house
- prefix: mickiewicz
- zaznaczam wszystkie lokacje
Po Add to model mam gotową strukturę.
ROW-01 odpowiada za światło w korytarzu:
Property → House → Ground Floor → Entry
Create equipment from Things:
- Thing: ROW-01
- name: swiatlo_wejscie
- label: Główne światło
- kanał:
- name: swiatlo_wejscie_switch
- label: Włącznik światła w korytarzu
- icon: wallswitch
- semantic point: Control → Switch
- semantic property: Light
Klikam Add to model.
I gotowe. W zakładce Model mogę sterować światłem.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Reasumując…
Na tym etapie OpenHAB może jeszcze nie wyglądać imponująco. I to jest OK. Mamy jednak realne urządzenie, realny serwer i sensowny model domu. To fundament, na którym da się budować automatyzacje bez bólu.
W kolejnych wpisach zajmiemy się:
- regułami (gdy dom zaczyna „myśleć”),
- Zigbee (kolejny system spięty w jedną całość).
--------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------
Post napisany przez człowieka, zredagowany przez AI
