Domoticz czy Home Assistant, co wybrać?
W poprzednim wpisie przedstawiłem dostępne architektury sieci inteligentnego domu. Jeżeli Twój wybór padł na system otwarty to niniejsze opracowanie jest dla Ciebie. Najbardziej popularnymi otwartymi systemami do zarządzania inteligentnym domem w ostatnim czasie są: Domoticz oraz Home Assistant. Istnieje jeszcze OpenHAB, który również ma swoich zwolenników, jednak wymaga on większych umiejętności programistycznych, dlatego najprawdopodobniej nie jest on tak popularny. W dzisiejszym wpisie spróbuję pomóc w wyborze: Domoticz czy Home Assistant?
Domoticz vs Home Assistant – porównanie systemów
Miałem styczność z obydwoma systemami i chciałbym podzielić się z Tobą moimi spostrzeżeniami co do każdego z nich. Aby lepiej zobrazować różnice systemów przedstawię je w poniższej tabelce.
Domoticz | Home Assistant |
implementowany w języku programowania C++ | implementowany w języku skryptowym Python |
lekki, a dzięki temu wydajniejszy | dosyć obciąża system |
działa bardzo dobrze na Raspberry Pi 1 B | minimum Raspberry Pi 3 |
konfiguracja przez stronę internetową | konfiguracja przez pliki YAML |
niski próg wejścia zapoznania się z konfiguracją systemu | wyższy próg wejścia, jednak późniejsza oszczędność czasu przy wdrażaniu złożonych reguł |
reguły tworzone są przez język skryptowy Blocky lub LUA. Niestety są one dość specyficzne i powodują problemy interpretacyjne (nie są intuicyjne). | reguły definiuje się z plikach YAML, przy bardzo złożonych regułach możliwość pisania własnych skryptów Python z użyciem API Home Assistanta (sprawdzenie stanów urządzeń, timerów itd.) |
mało atrakcyjny interfejs internetowy | nowoczesny interfejs internetowy |
dość uboga dokumentacja | świetna dokumentacja dla użytkowników i programistów |
wspierane popularne urządzenia | bardzo duża ilość integracji – ponad 1467 |
Warto dodać że Home Assistant posiada również dedykowany system operacyjny (dystrybucje Linuxa), który nazywa się Hass.io i jest rekomendowany dla osób nie znających podstaw Linuxa.
Dlaczego wybrałem Home Asisstant?
Większość osób, która miała styczność z Domoticzem i zamieniła go na Home Assistant nie powróciłaby do pierwotnego systemu. Home Assistant został stworzony z myślą o usprawnieniu procesu projektowania systemu inteligentnego. Skoro inwestor chce samodzielnie zaprojektować oraz uruchomić automatyzacje w swojej nieruchomości prawdopodobny jest fakt, że będzie on również rozwijał inteligencje o kolejne reguły z upływem czasu.
Wybrałem Home Assistant, ponieważ zależało mi aby dodanie kolejnych reguł nie zwiększało złożoności systemu. Podczas rozwijania swojego projektu istnieje ryzyko powstania tak zwanego Spaghetti. Jest to antywzorzec, w którym dopisywanie kolejnych funkcjonalności zmniejsza wykładniczo czytelność logiki systemu.
Twórcy Home Assistanta przygotowali narzędzia (mini programy), do których dostarczasz jedynie wartości określające zachowanie. Dzięki temu nie musisz implementować (kodować) złożonych algorytmów; całość została już przygotowana i sparametryzowana.
Przykład: Załącz kameralne podświetlenie kuchni godzinę przed wschodem słońca.
- alias: 'Podświetlenie kuchni przed wschodem słońca'
trigger:
platform: sun
event: sunrise
offset: '-01:00:00'
action:
service: homeassistant.turn_on
entity_id: group.kuchnia_podswietlenie
Na początku kod może wyglądać dość specyficznie, lecz gdy zobaczysz wiele przykładów zauważysz pewną powtarzalność. Home Assistanta uczy się na podstawie przykładów. Moduł automatyzacji jest naprawdę dobrze przemyślany.
Istnieją również bardziej zaawansowane mini programy, na przykład trend. Wylicza on gradient z napływających z czujników danych. Gradient jest wartością oznaczająca szybkość wzrostu. Za pomocą tego narzędzia można wykryć nagły skok poziomu wilgotności w łazience i załączyć wentylacje mechaniczną.
Następną kwestią, która mnie przekonała to świetnie przygotowana dokumentacja. Bez niej, ciężko byłoby wdrożyć się w projekt. Autorzy zwracają bardzo dużą uwagę, żeby była ona na bieżąco aktualizowana. Od twórców mini programów autorzy wymagają opisu oraz dokumentacji parametrów.
W przeciwieństwie do Domoticza, Home Assistant po prostu wygląda świetnie. Posiada wiele integracji, które mają znaczenie w późniejszych etapach rozwoju automatycznego domu.
Podsumowanie
Reasumując, wybrałem Home Assistant, ponieważ:
- ma dobrze przemyślaną architekturę,
- posiada nowoczesny interfejs użytkownika,
- jest prężnie rozwijany przez społeczność,
- posiada dobrze rozwinięta dokumentację techniczną.
A Ty, jaki system wybrałeś? Podziel się z nami swoją opinią!
W kilku zdaniach … przekonał mnie di HA
„Jest to antywzorzec, w którym dopisywanie kolejnych funkcjonalności zwiększa wykładniczo czytelność logiki systemu.” Raczej zmniejsza wykładniczo czytelność 🙂
literówka, oczywiście o to chodziło. Dziekuje za czujność 🙂
Ja jade na Nettemp i nic mi nie brakuje
Dla szarego użytkownika jak najbardziej HA. Natomiast jeżeli ktoś programuje w C mikrokontrolery, to dla niego pierwszym wyborem będzie oczywiście C. Więc wybierze Domoticza – bo sobie sam wszystko zrobi.