Saját szerverek
Home Assistant
A Home Assistant a saját hardveren futó nyílt okosotthon-platform: az eszközöket integrációkon keresztül fogja össze, nem gyártói felhőkön keresztül.
A Home Assistant nyílt okosotthon-platform, amely a saját hardverünkön fut, és az eszközöket integrációkon keresztül kapcsolja össze. Nem az a cél, hogy minden gyártó saját felhőjében legyen egy darabka az épületből, hanem hogy egy helyen legyen látható és vezérelhető az összes érzékelő, kapcsoló, fűtésszelep és kamera. Az adat és a vezérlés a házon belül marad mindaddig, amíg az adott eszköz helyben is elérhető.
A telepítésnek több formája dokumentált: a projekt saját operációs rendszere, a konténeres változat és a Python környezetben futó Core. Nálunk a hub a Linux szerveren fut, és a konténeres telepítés illeszkedik a Docker alapon üzemeltetett szolgáltatások közé.
Integrációk és entitások
Az integráció a rendszer legalapvetőbb szerkezeti egysége: minden integrációnak egyedi azonosítója van, ez a domain, és az általa nyújtott entitások és műveletek ehhez a domainhez tartoznak. Az adat entitásokban él: egy entitás egy érzékelőt, beavatkozót vagy funkciót képvisel, saját állapottal és állapotattribútumokkal. Az azonosító a domainből és egy rövid névből áll össze, például light.nappali, ahol a pont előtti rész a domain. Az entitások eszközökhöz kapcsolódnak, az eszközök pedig területekhez, címkékhez és kategóriákhoz, és ez a szerkezet az, ami egy nagyobb rendszert áttekinthetővé tesz.
- Az integrációk nagy része a felületen állítható be, a beállítás egy konfigurációs bejegyzésben tárolódik. Amihez mégis fájl kell, az a
configuration.yamlfájlban kap helyet. - Az integrációk minősítése nyilvános skálán történik: bronz, ezüst, arany, platina, és van olyan integráció, amelyik még pontszám nélkül szerepel. A skála a karbantartottságot és a hibakezelést méri, nem azt, hogy egy adott eszköz mennyire okos.
- Egy entitás neve és elérhetősége integrációnként eltér, ezért eszközcsere vagy átnevezés esetén több helyen is át kell írni a hivatkozásokat.
Automatizálás, jelenetek, irányítópultok
Az automatizálás három részből áll: esemény (trigger), feltétel (condition) és művelet (action). Ugyanez a szerkezet építhető vizuálisan a szerkesztőben, vagy írható YAML-ban, és a kész minták (blueprints) átvehetők. A szkript ugyanaz a műveletsor, csak nem magától indul, hanem hívásra; a jelenet entitások kívánt állapotát rögzíti, és a scene.turn_on művelettel aktiválható. Dinamikus értékekhez sablonok használhatók.
Az irányítópult kártyákból épül fel, a kártyák entitásokhoz kötődnek, a nézet típusa pedig a megjelenítést szabályozza. Ez az a felület, amit a lakók látnak, ezért érdemes kevés, célzott kártyát tartani, a részletes állapotokat pedig a fejlesztői eszközökben hagyni.
MQTT: az egyik busz
Az MQTT egy publish/subscribe üzenetküldő protokoll TCP/IP felett, és a Home Assistant az MQTT integráción keresztül éri el. Az integráció egy brokerhez csatlakozik, a dokumentáció a Mosquitto brokert ajánlja, és onnantól az eszközök topikokon keresztül jelentkeznek. Az MQTT discovery alapértelmezés szerint be van kapcsolva: az eszköz a homeassistant/<domain>/<azonosito>/config topikra küldött üzenettel írja le magát, a további állapotüzenetek pedig az entitás állapotát frissítik. Az integráció kezeli a birth és last will üzeneteket is, amelyek a szolgáltatás indulását, illetve egy kliens kapcsolatvesztését jelzik. A Home Assistant az 5-ös MQTT protokollverziót várja el a brokertől.
- Zigbee-átjárók, Wi-Fi eszközök és kamerák egy része nálunk is ezen a buszon keresztül kerül be a rendszerbe, így egy eszköz cseréjekor elég a topikokat és a discovery üzenetet átnézni.
- Az MQTT nem az egyetlen út: sok integráció közvetlenül, helyi hálózaton vagy platform-specifikus protokollon beszél az eszközzel.
Amire figyelni kell
- A helyi vezérlés nem minden eszköznél adott: több integráció a gyártó felhőjén keresztül ér el adatot, és ha az kiesik vagy a gyártó megszünteti a szolgáltatást, az entitás használhatatlanná válik. Ahol lehet, helyben beszélő eszközt érdemes választani.
- Az integrációk minősége és karbantartottsága eltér, egy régebbi integráció hibát jelezhet vagy elavulhat. A skála szerinti besorolás ehhez ad támpontot, de nem garancia.
- A konfiguráció karbantartást igényel. A beállítás egy része fájlban él, a módosítás után ellenőrzés és újratöltés kell, a teljes újraindítás pedig megszakítja a futó automatizálásokat és szkripteket.
- Az előzményadatokat a Recorder tartja, alapértelmezés szerint tíz napig. Hosszabb megőrzés nagyobb adatbázist és nagyobb mentést jelent.
- A mentés titkosított tar archívum, alapértelmezés szerint lokálisan a
/backupkönyvtárban, és a teljes mentés a config, share, addons, ssl és media könyvtárakat tartalmazza. A visszaállításhoz a mentési vészkészletben őrzött kulcs kell, ezért a mentést a gépen kívül is tárolni kell, és a visszaállás útját érdemes egyszer végigpróbálni.
Tovább olvasás
A CyberElectrónál a Home Assistant a saját hardveren futó központ, amelybe a Zigbee- és Wi-Fi eszközök, valamint a kamerák egy része be van kötve, és az egyik busz, amin keresztül ezekkel beszélünk, az MQTT.