Avtor: dr. Simon Vavpotič
email: simon.vavpotic@siol.net
Vsestranska aplikacija za upravljanje doma omogoča veliko funkcionalnosti, za katere bi potrebovali dneve načrtovanja in programiranja. Omogoča ne le priklop številnih senzorjev, ampak tudi obdelavo in hrambo podatkov ter nadzor in upravljanje doma prek spletnega oblaka.
V preteklem nadaljevanju smo spoznali osnovne funkcionalnosti in vzpostavili osnovno delovanje Home Assistanta, pri čemer smo si pomagali tudi s pametnim krmilnikom Tasmota. Pokazali smo, ko namestimo Home Assistant, kako enostavno je vanj integrirati pametno napravo prek storitve MQTT in kako dostopamo do njegovih osnovnih funkcionalnosti.
Tokrat se lotimo podrobnejšega načrtovanja upravljanja doma. Spoznali bomo filozofijo delovanja Home Assistanta in zakaj ničesar ne prepušča naključju. Zanimalo nas bo tudi, kako lahko Home Assistant upravljamo prek pametnih naprav.
Ta vsebina je samo za naročnike
Filozofija Home Assistanta
Ko začnemo uporabljati avtomatizacijo doma, se navadno najprej osredotočimo na nadzor njegovega delovanja. S pametnimi napravami in računalniki želimo nadzirati vse električne porabnike, še posebej ogrevalne in klimatske naprave pa tudi razsvetljavo, luči in gospodinjske aparate, kot so: električna pečica, štedilnik, pralni in pomivalni stroj.
Vendar pri tem ne smemo izpustiti možnosti ročnega upravljanja, denimo prižiganja in ugašanja luči prek zidnih stikal. Ne moremo si na primer privoščiti, da bi luči upravljali brez zidnih stikal, ki so še posebej pomembna, ko nimamo pri roki pametne naprave, obenem pa omogočajo upravljanje razsvetljave obiskovalcem, kateri pametne naprave seveda niso vključene v avtomatizacijo našega doma.
Avtomatizacija mora zato dopolniti delovni tok uporabe pametnega doma, ne pa ga skušati nadomestiti. Za večino gospodinjskih aparatov in drugih naprav je najhitrejši način neposredni način uporabe (s tipkami in prikazovalniki na napravi), ki smo ga uporabljali pred avtomatizacijo. Pametne naprave morajo omogočati tudi poenostavljen način upravljanja. Denimo, Philipsova sijalka Hue, deluje kot navadna žarnica, če jo prižgemo ali ugasnemo s kontaktnim stikalom. Pri tem si nikakor ne smemo privoščiti, da bi bilo z uvedbo avtomatizacije ročno upravljanje brez pametnih naprav zapleteno ali v določenih primerih celo onemogočeno.
Pri tem igrajo pomembno vlogo tudi pametni krmilniki različnih izdelovalcev, s katerim lahko opremimo običajne gospodinjske naprave, kot je električni radiator. Denimo, napake v njihovi ugnezdeni programski opremi krmilnikov (npr. nekdaj v Nestovih termostatih) lahko onemogočijo avtomatizacijo, ali povzročijo nepravilno delovanje naprav. Zato je pomembno izbrati in vgraditi le kakovostne in preverjene krmilnike.
Bolj udobno od ročnega je lahko v nekaterih primerih le glasovno upravljanje, ki je primerno za porabnike vseh starosti. Zato Home Assistant ponuja različne vrste integracij s komunikacijskimi pomočniki v računalniških oblakih, o katerih ste že lahko prebrali preteklem nadaljevanju.
Glasovno upravljanje v prvem koraku obsega pretvorbo govora v besedilo, v drugem pa razumevanje besedila in izvedbo krmiljenja naprav v pametnem domu. Za pravilno razumevanje je pomembno kakovostno delovanje komunikacijskega pomočnika, kot smo se že lahko naučili iz primer v preteklem nadaljevanju, pa tudi natančen opis prostorov doma in pametnih naprav v njih, ki ga sami izdelamo v Home Assistantu.
Vendar izkoriščanje pametnih funkcij v javnih računalniških oblakih, kot je razpoznavanje govora, ne pomeni, da mora logika za upravljanje in avtomatizacijo pametnega delovati v računalniškem oblaku. Ravno obratno! Računalniški oblak Home Assistantu nudi le podporne funkcije, ki izboljšajo njegovo delovanje, nikakor pa ne posegajo v (uporabniško določene) funkcije za avtomatizacijo, ki morajo delovati ne glede na morebiti porušeno povezavo z internetom. Javni računalniški oblak Home Assistant omogoča posodobitve programske opreme oblačnih strežnikov in varno shranjevanje podatkov, ki jih ustvarja naš sistem za upravljanje doma.
Pri sodelovanju sistema za upravljanje doma z javnimi računalniškimi oblaki in pametnimi napravami prek interneta sta pomembna tudi zaščita in varno kodiranje podatkov. Home Assistant omogoča uporabo tehnologije navideznih zasebnih omrežij (VPN), vendar ta vanj ni vgrajena. Prav tako lahko komunikacije zaščitimo s požarnim zidom na ravni operacijskega sistema ali komunikacijskega prehoda, ali gostiteljskega računalnika, če Home Assistant poganjamo kot virtualni računalnik.
Po drugi stani, pa je res, da nekatere druge rešitve za upravljanje doma z licenčno programsko in strojno opremo, njegovo upravljanje prepuščajo strežnikom v oblaku, kar ima lahko ob prekinitvi internetne povezave nepredvidljive posledice, oziroma prekinitev delovanja sistema za avtomatizacijo doma do ponovne vzpostavitve internetne povezave. Bistvo dobre avtomatizacije doma je, da nikoli ne vznemirja uporabnikov, jo pa ti pogrešajo, ko ne deluje. V tem pogledu je Home Assistant v prednosti.
Oblikovanje nadzorne plošče
V preteklem nadaljevanju smo naredili nekaj začetnih korakov pri uporabi Home Assistanta, s katerimi je nastala samodejno ustvarjena nadzorna plošče, na kateri lahko vidimo upravljanje naprave. Vendar to ne pomeni, da njenih funkcionalnosti ne moremo prilagoditi.
Spreminjanje in načrtovanje grafičnega vmesnika nadzorne plošče, natančneje zavihka na nadzorni plošči, sta enostavna. Začnemo lahko kar s kopijo prednastavljene domače strani, saj originalne domače strani na moremo spreminjati. Nato lahko spreminjamo vrstni red in dodajamo ali odvzemamo elemente iz panelov na nadzorni plošči.
Medtem, ko so nekateri elementi z dostopom do spletnih storitev že vgrajeni v Home Assistant, druge dodamo, ko vključimo nove naprave. Sam sem dodal ESP32-LilyGo-PoE modul z nameščeno Tasmota programsko opremo in doma narejenim merilnikom temperature in zračnega pritiska, ki sem mu programsko določil še dva krmilna izhoda za vklop klimatske naprave in/ali ogrevalne naprave. Nadzorna plošča tako že vsebuje tipki za oba krmilna izhoda pa tudi vrednosti senzorjev za zračni pritisk in temperaturo, kar je definirano v Tasmota programski opremi naprave.
Ploščo lahko začnemo urejati, ko z miškinim kazalcem pritisnemo na svinčnik v desnem zgornjem kotu nadzorne plošče omogočimo njeno urejanje in nato kliknemo na besedilo EDIT v spodnjem levem kotu nadzorne plošče z nastavitvami naprave. Na ozadje nadzorne plošče lahko sicer pripnemo tudi sliko, ki popestri izgled spletne strani Home Asssistanta.
Zanimivo je, da lahko med elemente nadzorne plošče naprave dodamo tudi elemente drugih entitet, denimo podatke iz entitete za napoved vremena, ki je v Home Assistant samodejno vgrajena že ob namestitvi.
Določitev prostorov, nadstropij, con in oznak
Preden se lotimo delitve doma na prostore in opredelitve con na zemljevidu, v katerih se nahajamo čez dan, moramo natančno opredeliti pojme: prostor (angl. areas), oznake (angl. labels) in cone (angl. zones). Prostori so funkcionalni deli našega doma, kot so: hodnik, dnevna soba, spalnica, kuhinja, kopalnica, otroška soba, računalnica itn., ki jim lahko dodajamo različne oznake, ki jih prej definiramo v zavihku Labels. Za avtomatizacijo doma je ključna predvsem pravilna opredelitev prostorov, saj je s tem povezana tudi možnost glasovnega upravljanja.
Denimo, govorni ukaz »Prižgi luč v kopalnici v prvem nadstropju!«, je smiseln le, če smo prej v hiši prostore razdelili po nadstropjih. Večje hiše imajo lahko tudi več kopalnic, v katerih na primer stropne luči, zato mora Home Assistant vedeti, na katero se ukaz nanaša.
Po prostorih realistično razporedimo naprave, ki so vključene v avtomatizacijo doma. Na primer, v kuhinji imamo: hladilnik, štedilnik, pečico, mikrovalovno pečico, pomivalni stroj, radio, luči itn. V dnevni sobi imamo televizor, radio, stropno luč itn.
V večnadstropni stanovanjski hiši lahko pri vsakem prostoru opredelimo tudi številko nadstropja. Nadstropja določimo s pritiskom na tipko »Create floor«, medtem tem, ko s pritiskom na tipko »Create area« dodamo nov prostor.
Po drugi strani je cona v naprej določeno območje okrogle oblike z vnaprej določenim radijem (npr. 100 m, 143 m, 900 m, 1023 m, …) na zemljevidu, ki ga določimo z namenom, da Home Assitantu omogočimo samodejno izvajanje akcij, medtem ko smo z doma, in pripravo doma za udobno bivanje preden se vrnemo vanj, ali pa varčevanje s porabo energije, ko nas ni doma. Ko so vsi družinskih člani zdoma, je temperatura v domačih prostorih lahko večja ali manjša od želene, ki od sistem za upravljanje doma doseže, ko ugotovi, da se bližamo domu. Pogoj za to je, da Home Assistantu dovolimo sledenje naši lokaciji in morebiti tudi lokacijam drugih družinskih članov prek pametnih telefonov.
Upravljanje doma od kjerkoli
Prednost namestitve Home Assistanta neposredno v domači računalnik, brez Dockerja, ali drugega virtualizacijskega okolja, je tudi v tem, da se nam ni potrebno toliko ukvarjati s tem, kako bomo do njega dostopali iz drugih naprav v lokalnem omrežju. Če poganjamo Home Assitant kot kontejner v Dockerju, moramo paziti, da že pri izdelavi kontejnerja izberemo pravo omrežje (Host), saj je dostopen samo iz gostiteljskega računalnika, ki edini vidi omrežni segment 172.17.x.x, v katerega Docker umešča IP naslove objavljenih spletnih storitev kontejnerjev.
Do Home Assistanta iz Windows in Linuxa dostopamo prek spletnega brskalnika, v Androidu pa lahko namestimo tudi namensko aplikacijo Home Assistant Companion App, ki je prilagojena za uporabo na majhnih zaslonih. Ponudi enako funkcionalnost kot aplikacija za velike računalnike, le da so meniji manj razprostrti, s čemer prihrani prostor za ključne podatke na zaslonu.
Upravljanje domačih naprav, kot sta vklop hlajenja ali izkop ogrevanja, ali pregled vrednosti tipal (npr. merilnikov temperature, relativne zračne vlage in zračnega pritiska), je mogoč iz katerekoli naprave v domačem omrežju. Denimo, pametni telefon se lahko z domačim omrežjem poveže prek dostopne točke Wi-Fi. Slednjo lahko vzpostavimo celo na strežniku, ki poganja Home Assistanta, če ima ta vgrajen vmesnik Wi-Fi (npr. Raspberry Pi).
Prihodnjič
Spoznali smo osnovne gradnike Home Assistanta in raziskali, nekatere vidike njegovega delovanja in upravljanja. Prihodnjič se lotimo avtomatizacije, na osnovi katere bo Home Assistant lahko samodejno izvajal akcije, kot je denimo vklop ogrevanja, če temperatura v prostoru, ko nas ni doma, pade pod 10 st. C, ali pa ogrevanje dnevne sobe na prijetnih 22 st. C, preden se vrnemo iz službe. Pisali bomo tudi skripte in opredeli scene. Do prihodnjič si lahko z dvoklikom na posamezen prostor v domu že sedaj ogledate funkcionalnosti, ki jih lahko vežemo nanj…