maanantai 11. marraskuuta 2019

Home Assistant - Open source automaatio - Osa 1

Kotiautomaatio projektini näyttää etenevän hitaasti, mutta nyt kun muksut ovat jo päässeet eroon vaipoista, joten nytkähti projekti taas eteenpäin.

Olin jo aikaisemmissa postauksissa pistänyt pystyyn clusteroidun MQTT:n (https://omakotikotitalomme.blogspot.com/2017/02/wifi-langaton-sahkokytkin.html), ja nyt tein periaatepäätöksen, että liitän mahdollisimman monen laitteen MQTT:n perään, jolloin voin käyttää hyvin valmiita open source palikoita ja tarvittaessa voin koodata omaa koodia, jos jotain haluamaani asiaa ei ole valmiina saatavilla. Valitsin open source lähetymistavan kun aika moni kotiautomaatiofirma on aikojen saatossa mennyt konkurssiin tai muuten vaan lopettanut toimintansa, jolloin kaupallisen purkin ostaneet ovat jääneet oman onnensa varaan.

Joten ensimmäiseksi otin rautapohjaksi Raspberry Pi 3B+:n, johon asensin pohjalla Rasbian Buster Lite -imagen (https://www.raspberrypi.org/downloads/raspbian/). Johon sitten asensin Home Assistant paketin venv ympäristöön (https://www.home-assistant.io/docs/installation/raspberry-pi/). Ja Home Assistant asennuksen sisään lisäsin vielä Home Assistant Community Storen (HACS), jolloin on helpompi ja nopeampi lisätä custom UI komponentteja ruudulle (https://hacs.netlify.com/docs/installation/manual).

Toi yllämainittu combinaatio oli itseasiassa minun toinen yritykseni, ekalla kerralla yritin asentaa hass.io raspberry distribuution, kun se olisi dockeroitu ja kaikkea muuta kivaa. Mutta tätä kirjoittaessani, kyseisessä distribuutiossa oli bugi, että se generoi giga tolkulla logitiedostoa muutamassa päivässä, joten siksi siirryin hass.io:sta tuohon venv asennukseen hacs lisäosan kanssa. Sehän voi olla, että hass.io korjaa buginsa jossain vaiheessa, joten kannattaa tarkistaa myös https://www.home-assistant.io/hassio/, jos suunnittelee uutta asennusta. Itse tykkään enemmän venv ympäristöstä kun Linux on tuttua kauraa minulle.

Tarkoitus tosiaan on liittää tähän kaikki valo-ohjaukset, lämpötilasensorit, kosteusanturit, liikkeentunnistimet, chromecast, valvontakameroiden hälyt ja lukuisat muut mokkulat (Bluetooth, Zigbee, Z-Wave ja 433HMz). Aloitan ensin kyllä ihan perusteista, että saan edes jonkun sensorin datan webbikäyttöliittymälle. Aloitin Bluetoothista, kun semmoinen on Raspberryssä jo ilman ulkoisia lisäosia. Minulla löytyy olohuoneesta Xiaomin BLE LCD lämpömittari, joten otin sen koekaniiniksi.

Netistä löytyi valmis palikka joka osaa Xiomin BLE:sta lukea arvot ja julkaista ne MQTT jonoon HA:n ymmärtämässä muodossa. https://github.com/aqualx/miflora-mqtt-daemon, jonka asennuksen jälkeen config.ini tiedostoni näytti tältä:

 [General]  
 reporting_method = homeassistant-mqtt  
 [Daemon]
 period_mitempbt = 120
 [MQTT]  
 hostname = 192.168.1.4  
 base_topic = homeassistant  
 [MiFlora]  
 [MiTempBt]
 MiBLETemp@Olohuone = 58:2D:34:33:D4:1B  

Ja käynnistin komennolla: "python3 /opt/mi-mqtt-daemon/miflora-mqtt-daemon.py", jolloin ruudulle ilmestyi:

Ja tuossa lisäsin sensorin Glance Card näkymään seuraavasti:

Ja siellähän se möllöttää, lämpötila päivittyy iloisesti sivulle. Seuraavassa osassa vuorossa Tasmota firmiksellä olevan Sonoff WIFI kytkimen HA integraatio MQTT auto discovery avulla.

Ei kommentteja:

Lähetä kommentti