OH #003 Instalacja OpenHABa – jak to zrobiłem i dlaczego tak[

magx2
Posts: 417
Joined: Wed May 17, 2017 1:27 pm
Has thanked: 1 time
Been thanked: 1 time

Post

OH #003 Instalacja OpenHABa – jak to zrobiłem i dlaczego tak

Czego dziś się dowiesz
  • na jakim sprzęcie i w jakim środowisku uruchomiłem OpenHABa
  • dlaczego świadomie wybrałem Dockera, a nie Raspberry Pi
  • kiedy Raspberry Pi ma sens, a kiedy zaczyna być wąskim gardłem
  • jak wygląda pierwsze uruchomienie OpenHABa w praktyce
  • co trzeba ustawić na start i dlaczego te rzeczy naprawdę mają znaczenie
--------------------------------------------------------------------------------------------------------------------------------------------------------

Wymagania (uczciwie, bez straszenia)

Ten wpis zakłada dwie rzeczy. Nie dużo, ale warto je mieć:

- podstawy Linuxa
czyli: wiesz czym jest terminal, potrafisz poruszać się po katalogach, edytować pliki i nie panikujesz na widok komunikatu w konsoli.

- podstawy Dockera
czyli: wiesz, czym jest kontener, obraz, wolumen; `docker ps` nie jest dla Ciebie zaklęciem, a raczej narzędziem diagnostycznym.

Jeśli tego nie masz – to nie problem, tylko sygnał, że być może warto najpierw chwilę się z tym oswoić. OpenHAB w Dockerze nie jest trudny, ale nie jest też „jednym kliknięciem”. I to jest OK.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Instalacja OpenHABa to nie jest moment typu „kliknij dalej, dalej, gotowe”. Przynajmniej nie wtedy, gdy traktujesz smart home jako coś, co ma działać latami, a nie tylko do weekendowego testu. U mnie była to decyzja stricte architektoniczna – taka, która wpływa na wszystko później: stabilność, skalę, nerwy i ilość wieczorów spędzonych na debugowaniu.

OpenHAB to usługa działająca 24/7, a nie aplikacja uruchamiana „od święta”. To mózg domu, który ma działać w tle, przewidywalnie i bez przypominania o sobie. I dokładnie z takiego założenia wychodziłem przy instalacji.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Raspberry Pi – świetny start, ale nie cel ostateczny

Raspberry Pi to najczęstszy pierwszy wybór. Jest tanie, małe, energooszczędne, a openHABian pozwala postawić wszystko praktycznie bez myślenia. Flashujesz kartę, wkładasz do Pi, podłączasz kabel i po chwili masz działającego OpenHABa.

Na start – idealnie.

Problem zaczyna się wtedy, gdy skala rośnie. Raspberry Pi ma swoje twarde limity: CPU, RAM i IO (karta SD albo tani dysk USB). Przy kilku–kilkunastu urządzeniach działa to zupełnie OK. Ale gdy:
- rośnie liczba itemów,
- dochodzą kolejne integracje,
- reguły zaczynają być bardziej złożone,

to Pi zaczyna zwyczajnie nie wyrabiać. Nie wywala się spektakularnie. Raczej wszystko robi się wolniejsze, mniej przewidywalne, a restarty zaczynają trwać „trochę za długo”.

RPi polecam dziś:
- do małych mieszkań,
- do prostych setupów,
- na start, żeby zrozumieć, o co w OpenHABie chodzi.

Jako docelowy mózg większego domu – raczej nie.

* * * * *
Miałem kiedyś setup, który „działał idealnie” na Raspberry Pi… do momentu aż dorzuciłem kilkaset itemów i trochę bardziej rozbudowane reguły. Nic się nie wysypało. Po prostu wszystko zaczęło reagować wolniej. Najgorszy rodzaj problemu.
* * * * *

--------------------------------------------------------------------------------------------------------------------------------------------------------

Dlaczego u mnie wygrał Docker

Mój smart home działa na:
  • HP EliteDesk 800 G3 DM 35W
  • 32 GB RAM
  • 512 GB NVMe
To mały, cichy mini-PC, który pracuje 24/7 i nawet się przy tym nie poci. Kupiłem mocniejszy sprzęt świadomie, bo OpenHAB nie jest jedyną usługą, którą tam hostuję.

Na tym samym serwerze działają u mnie:
  • Pi-hole (DNS i blokowanie reklam),
  • Plex
  • Portainer (do ogarniania Dockera),
  • ESPHome
  • Samba
  • Caddy (reverse proxy),
  • Chrony
W pewnym momencie Raspberry Pi przestało mieć sens. Nie dlatego, że „się nie da”, tylko dlatego, że zaczęło być kompromisem tam, gdzie kompromisów nie chciałem.

Docker dał mi:
- izolację usług,
- łatwe backupy (wolumeny),
- możliwość migracji na inny sprzęt,
- powtarzalność – wiem, że po restarcie wszystko wstanie tak samo.

I od razu obalmy popularny mit.

„Docker ma problemy z USB i Zigbee”
Krótko: nie.
Dłużej: jeśli wiesz, co mapujesz i jak, to wszystko działa normalnie. U mnie Zigbee, USB i porty szeregowe działają bez żadnych hacków.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Windows i macOS – tak, ale tylko tymczasowo

OpenHAB działa na Windowsie i macOS. Sprawdzałem. Działa. I na tym zalety się kończą.

To są dobre środowiska:
- do nauki,
- do testów,
- do developmentu.

Jako serwer 24/7 – nie. Sleep, aktualizacje, restarty „bo system chce” to coś, czego mózg domu nie powinien doświadczać.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Java 21 – temat, który zawsze wraca

OpenHAB 5 wymaga Javy 21. Kropka.
Większość problemów instalacyjnych, które widzę, wynika z:
- kilku JDK w systemie,
- źle ustawionego JAVA_HOME,
- „mam Javę, ale nie tę”.

W Dockerze ten problem praktycznie znika. Na gołym systemie trzeba po prostu pilnować porządku.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Jak faktycznie zainstalować OpenHABa używając Dockera

Zakładam tutaj jedną, bardzo konkretną rzecz:
masz już działającego Linuxa (Debian, Arch, Ubuntu, cokolwiek sensownego) i Dockera, który faktycznie działa. Najprostszy test to:

Code: Select all

docker ps
Jeśli to działa – jedziemy dalej.

Ja uruchamiam OpenHABa w Dockerze w najprostszym możliwym wariancie, bez cudów i bez „enterprise setupów”. Jedna usługa, host network, wolumeny na dysku.

Opcja 1: docker run

Code: Select all

docker run -d \
  --name openhab \
  --restart=always \
  --network=host \
  -v /etc/localtime:/etc/localtime:ro \
  -v /etc/timezone:/etc/timezone:ro \
  -v /home/YOU/docker/openhab/openhab_addons:/openhab/addons \
  -v /home/YOU/docker/openhab/openhab_conf:/openhab/conf \
  -v /home/YOU/docker/openhab/openhab_userdata:/openhab/userdata \
  -e CRYPTO_POLICY=unlimited \
  openhab/openhab:5.1.0
Kilka praktycznych uwag z życia:
- używam --network=host, bo upraszcza życie (mDNS, broadcasty, integracje)
- mapuję localtime i timezone, żeby czas w logach i regułach miał sens
- dane OpenHABa trzymam w wolumenach na dysku hosta – łatwe backupy i migracje
- CRYPTO_POLICY=unlimited – wymagane do Supli

Opcja 2: docker-compose

Jeśli wolisz mieć to w pliku (ja wolę), to docker-compose wygląda tak:

Code: Select all

version: '3'
services:
  openhab:
    image: openhab/openhab:5.1.0
    restart: always
    #command: ./start_debug.sh
    network_mode: host
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /home/YOU/docker/openhab/openhab_addons:/openhab/addons
      - /home/YOU/docker/openhab/openhab_conf:/openhab/conf
      - /home/YOU/docker/openhab/openhab_userdata:/openhab/userdata
    environment:
      CRYPTO_POLICY: unlimited
Bardzo ważne:
upewnij się, że katalogi:

Code: Select all

/home/YOU/docker/openhab/openhab_addons
/home/YOU/docker/openhab/openhab_conf
/home/YOU/docker/openhab/openhab_userdata
istnieją zanim uruchomisz kontener. Docker ich nie „wymyśli” – jak ich nie ma, zaczynają się głupie problemy z uprawnieniami i danymi.

Jeśli kontener wstanie – to właściwie tyle. OpenHAB zacznie się inicjalizować i przez kilka minut będzie „mielił”. To normalne.

--------------------------------------------------------------------------------------------------------------------------------------------------------


Alternatywa: instalacja OpenHABa na Raspberry Pi (openHABian)

Jeśli Docker to dla Ciebie za dużo na start albo po prostu chcesz możliwie szybko postawić działający OpenHAB na Raspberry Pi, to openHABian jest najprostszą drogą.

Na początku wchodzisz na:
https://www.raspberrypi.com/software/

Pobierasz Raspberry Pi Imager – to oficjalne narzędzie do wgrywania systemów na karty microSD dla RPi. Po uruchomieniu programu:
- przechodzisz do zakładki
Other specific-purpose OS → Home assistants and home automation,
- tam wybierasz openHABian,
- dalej postępujesz już zgodnie z instrukcjami w kreatorze.

Po wgraniu obrazu na kartę microSD:
- wkładasz kartę do Raspberry Pi,
- podłączasz sieć (Ethernet jest najprostszy),
- uruchamiasz urządzenie.

Po kilku minutach system powinien wstać i rozpocząć automatyczną konfigurację OpenHABa. W tym czasie Raspberry Pi może wyglądać, jakby „nic się nie działo” – to normalne, openHABian robi sporo rzeczy w tle.

Jeśli ktoś chce zrozumieć, co dokładnie robi openHABian i jakie ma możliwości, to bardzo polecam oficjalny artykuł:
„openHABian – Hassle-free openHAB Setup”
https://www.openhab.org/docs/installati ... abian.html

To dobra lektura, szczególnie jeśli Raspberry Pi ma być Twoim pierwszym podejściem do OpenHABa.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Pierwsze uruchomienie – co faktycznie robisz

Gdy OpenHAB wstanie (pierwszy start potrafi potrwać kilka minut i to jest normalne), wchodzisz w przeglądarce pod adres:

http://<ip>:8080

I przechodzisz przez podstawowy setup:
- tworzysz konto administratora,
003.01 utworz konto.png
- wybierasz język, region i strefę czasową,
003.02 jezyk region strefa czasowa.png
- ustawiasz lokalizację domu (ważne np. dla wschodu i zachodu słońca),
003.03 lokalizacja.png
- wybierasz główną sieć,
003.04 ustawic siec.png
- wybierasz bazę danych – polecam użyć sugerowanych,
003.05 bazy danych.png
- wybierasz dodatki – można zostawić domyślne.
003.06 dodatki.png
I tyle.
Voila. OpenHAB jest gotowy do użycia.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Reasumując…

Nie ma jednej „najlepszej” metody instalacji OpenHABa. Są za to metody lepiej lub gorzej dopasowane do skali i ambicji. Raspberry Pi jest świetne na start, ale ma swoje granice. Docker nie jest czarną magią i przy większym setupie bywa najrozsądniejszym wyborem. Najważniejsze jest to, żeby już na etapie instalacji myśleć o tym, gdzie ten system ma być za rok, a nie tylko dziś wieczorem.

W kolejnym wpisie przechodzimy do konkretów: konfiguracji dodatku (bindingu) dla Supli.

--------------------------------------------------------------------------------------------------------------------------------------------------------

🔗 Poprzedni artykuł: OH #002 Czym tak naprawdę jest OpenHAB? (i czym nie jest)
🔗 Następny artykuł: OH #004 Supla w OpenHAB – pierwszy serwer, pierwsze urządzenie i pierwszy sensowny model

--------------------------------------------------------------------------------------------------------------------------------------------------------

Post napisany przez człowieka, zredagowany przez AI
You do not have the required permissions to view the files attached to this post.
Supla ❤️ Open HAB - https://github.com/magx2/openhab-supla
User avatar
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 31 times

Post

To jak mam zainstalować tego OpenHABa? Tyle tekstu i rysunków a ja dalej nie wiem :(
Stary jestem i pewnie nie za mądry.
To proszę powiedz mi co mam po kolei zrobić? Zakładamy, że mam sprzęt - stare PC (i5 8-generacji, 16GB RAM, dysk 500GB). Co dalej?
Bo nie wiem... a tytuł posta brzmi: "Instalacja...".

W ostateczności zapytam SI, ale po coś chyba są te posty?
Image Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Image Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036
magx2
Posts: 417
Joined: Wed May 17, 2017 1:27 pm
Has thanked: 1 time
Been thanked: 1 time

Post

Dobra uwaga! Dodałem akapit
Supla ❤️ Open HAB - https://github.com/magx2/openhab-supla

Return to “OpenHAB”