Siirry pääsisältöön

Home Assistant

 

Kuten aikaisemmissa kirjoituksissani kerroin, avoimen lähdekoodin Home assistant (jatkossa HA) toimii kotiautomaatioalustanani yhdessä Node Redin kanssa. Edellinen toimii eri valmistajien laitteet yhteen paikkaan yhdistävänä tilakoneena ja jälkimmäistä käytän automaatioiden tekemiseen. Myös automaatio olisi mahdollista tehdä suoraan Home Assistantilla, mutta muutamien kokeilujen jälkeen päädyin Node Redin opettelemiseen, sillä sen visuaalinen käyttöliittymä on niin paljon helpompi toteutuksiin kuin säätäminen HA:n Jinja2-templaattien syntaksin kanssa. Ainakin minulle.

Asensin kokeilumielessä HA:n aluksi virattomana (ja virrattomana) olleeseen Raspberry Pi 3 -korttitietokoneeseen, mutta muutamien kokeilujen jälkeen päädyin ottamaan alustaksi vanhan kannettavan tietokoneen lähinnä nopeuden, luotettavuuden ja akkuvarmistuksen vuoksi. Hitauden lisäksi Raspi 3:n kanssa suuri riski on microSD-kortin korruptoituminen jatkuvan kirjoittamisen ja lukemisen vuoksi. Tämä on kuitenkin helposti ehkäistävissä ottamalla käyttöön SSD-asema. Raspin käyttö HA:n alustana on hyvin yleinen, ja toimii varmasti hienosti, mutta itse halusin rakentaa ympäristöni hieman nopeammalle alustalle.

HA:n erilaisten asennusten nimeäminen on mielestäni ollut sekavaa jo aiemminkin, eikä nimeämisen muuttaminen muutama kuukausi sitten juurikaan helpottanut tilannetta. Voin olla seuraavassa väärässä, mutta käsittääkseni HA voidaan asentaa joko python virtuaaliympäristöön (VENV) useille käyttöjärjestelmäalustoille tai sitä voidaan ajaa valmiina käyttöjärjestelmä + docker ympäristönä esim. Raspissa tai sitten asentaa docker-konttina, mihin vain parhaaksi näkee. Uuden nimeämisen mukaan ilmeisesti VENV-ympäristössä käytännössä asennetaan ns. Home Assistant Core. Muita asennustapoja ovat Home Assistant OS, Home Assistant Container ja Home Assistant Supervised. Ensimmäinen on ymmärtääkseni uusi nimitys aiemmalle HassOS:lle, jossa siis flashataan suoraan RasPin sd-kortille hyvin rajattu, vain Home Assistant -käyttöän dedikoitus käyttöjärjestelmä. Supervised ja Containerin ero on ilmeisesti siinä että edellisessä helposti asennettavat add-on -lisäosat ovat käytettävissä kuten Home Assistant OS:ssäkin ja Container-versio taitaa olla taas lähinnä dockeroitu versio VENVistä. Voin olla väärässä, ja nimeämisten suhteen olen edelleen hieman hämmentynyt.

Docker-asennukset mahdollistavat helposti käyttöliittymällä tapahtuvan lisäosien ja muiden tarpeellisten ohjelmistojen liittämisen, kuten em. Node Red, helposti kokonaisuuteen, mutta toisaalta konfigurointi ei ole "yhtä paljon omissa käsissä" kuin VENV-ympäristössä. Itse en ole muutamista yrityksistä huolimatta saanut kaikkia tarvitsemiani palasia kuten HA, Node Red, Mosquitto, zigbee2mqtt, jne. toimimaan saumattomasti docker-asennuksina, joten olen päätynyt käyttämään VENV-ympäristöä, koska haluan päästä itse näpertämään kaikkea käsin, ja toisaalta konttikokemukseni ja osaamiseni niiden kanssa ovat varsin vähäisiä. Kokemuksistani huolimatta todennäköisesti helpointa ja selvästi yleisempää on asentaa HA nimenomaan docker-versiona käyttöön.

HA on minulla siis asennettu vanhaan kannettavaan, jossa käyttöjärjelmänä toimii Ubuntu 18.04 server. Kaikkien erilaisten kokeilujen ja päivitysten myötä olen kuitenkin tunnistanut tarpeen ensinnäkin erillisen testiympäristön pystyttämiseen ja toisaalta sitten koko tuotantoympäristön uudelleenasennukselle. Tämän suhteen odottelen kuitenkin, että uusi LTS versio Ubuntu serveristä julkaistaan suunnitelmien mukaisesti 20. huhtikuuta. Sen jälkeen on tarkoitus rakentaa ympäristö kokonaan uudelleen testaten komponentit mahdollisuuksien mukaan ensin testiympäristössä. Koska minulla on samassa laitteessa asennettuna niin MQTT-broker (mosquitto), Node Red sekä Zigbee2mqtt puhumattakaan lukuisista HA:n ja Node Redin komponenteista, enkä alkuun kovin hyvin dokumentoinut eri vaiheita, tästä saattaa tulla mielenkiintoinen operaatio. Mielellään myöskään kovin pitkäksi aikaa en haluaisi kaikkien tehtyjen automaatioiden ja ohjausten olevan poissa päältä, kun niihin on vähitellen tottunut. Nähtäväksi jää miten tämän kanssa lopulta käy.

Kaikkia, jotka haluavat edullisesti tutustua kotiautomaation mielenkiintoiseen maailmaan ja omaavat näprääjän ja kokeilijan luonteen suosittelen tutustumaan Home Assistantiin. Jos taas haluaa päästä helpommalla, niin markkinoilta löytyy myös muita ratkaisuja (esim. SmartThings), joilla asioiden säätäminen on helpompaa - joskin jonkin verran rajoittuneempaa.

Home Assistantin asennukseen liittyen ohjeet löytyvät täältä: https://www.home-assistant.io/docs/installation/

Kommentit

Tämän blogin suosituimmat tekstit

Postilaatikon automaattihälytys

Kuten aikaisemmassa postauksessani kerroin, olen asentanut postilaatikkoon automaattisen hälytyksen. Postilaatikolle on matkaa noin 50 metriä, joten varsinkin nykyään, kun postinjakelu tapahtuu varsin epäsäännöllisesti, automaatiolla vältytään turhilta käynneiltä tyhjää laatikkoa ihmettelemässä, ja toisaalta vaikkapa odotellessa kiinakauppojen lähetysten saapumista, osaa suunnistaa laatikolle oikeaan aikaan heti postin saavuttua, mikäli nyt sattuu kotona olemaan. Hälytys on toteutettu yksinkertaisesti Sonoffin ovi- ja ikkunasensoria hyödyntäen. Kyseinen sensori toimii radiotaajuussignaaleilla (RF 433 MHz), mikä mahdollistaa suhteellisen pitkän kantaman. Lisäksi se käyttää 12 voltin A23 -paristoa, joka tuntuu kestävän varsin hyvin (ja pitkään) myös alhaisia lämpötiloja. Sensori lähettää ainostaan yhden koodin (avattaessa), joten se soveltuu tällaiseen tarpeeseen mainiosti, koska postilaatikon voi olettaa sulkeutuvan jotakuinkin välittömästi, kun se on avattu postin jakelun tai noutamis...

IFTTT

  IFTTT eli If This Then That on palvelu, joka mahdollistaa hyvinkin erilaisten verkkopalveluiden ja laitteiden liittämisen ilman ohjelmintitaitoja toisiinsa. Esimerkiksi älylamppu voi vaihtaa värin siniseksi, mikäli säätiedotuksen mukaan sataa, tai aina kun sähköpostia saapuu office365-postilaatikkoon tietyltä henkilöltä, työhuoneen tuuletin käynnistyy. Samat asiat (ja paljon muuta) saa toki useimmiten toteutettua, vaikkapa Home Assistantin avulla paikallisesti pilven sijasta, mutta IFTTT etuna on äärimmäinen helppous eikä tietoteknisiä taitoja välttämättä tarvita juuri lainkaan. IFTTT:n oli käyttäjän näkökulmasta aiemmin maksuton, mutta muutamia päiviä sitten yritys muutti käytäntöjä siten, että maksuttomana voi itse perustaa ja käyttää vain kolmea automaatiota (per tunnus), mikä on useimpiin tarpeisiin liian vähän. Toki valmiiksi tehtyjä yleisesti käytettävissä olevia, nk. appletteja, voi käyttää edelleen vapaasti. Kolmen itse tehdyn automaation rajoituksen voi toki kiertää luom...

Vamos Wemos

  DIY eli tee-se-itse alkoi kiinnostaa muutaman ensimmäisen viikon kotiautomaatioharjoittelun jälkeen. Ensimmäinen kokeiluni oli AliExpressistä tilaamani DHT22-lämpötila- ja kosteussensorin liittäminen Raspberry Pi -korttitietokoneeseen. Liittäminen ei kovin hankalaa ollut, ja sensorin arvojen lukemista varten löytyi valmista python-koodia, kuten esimerkiksi https://pypi.org/project/pigpio-dht/ . Sensorin arvot piti tietenkin saada siirrettyä Home Assistantiin, ja tämän toteutin aluksi File sensorina. Koska HA on minulla ajossa Ubuntussa python virtuaaliympäristössä, toteutin tämän mounttaamalla HA:n käyttämän hakemiston RasPille. Myöhemmin siirsin tämän käyttämään MQTT:tä tiedon siirtoon, jolloin HA:iin määritelty MQTT-sensori korvasi aiemman File sensorin, ja levymapping jäi tarpeettomaksi. RasPin kanssa erilaisten sensorien kokeileminen ja käyttäminen on varsin helppoa, koska käytettävissä on täysiverinen Linux-ympäristö, ja sensorien lukemista varten löytyy valmiita kirjastoja...