Lähtökohtaisesti meillä on Docker-Composen avulla asennettuna Home Assistant sekä Mosquitto -broker. Seuraavaksi lisäämme Home Assistanttin RuuviTag -antureita käyttäen MQTT -protokollaa ja siinä käytämme apuna Ruuvitag Discovery -ohjelmistoa.

RuuviTag on kotimainen tuote, joka toimii lämpötila-, kosteus-, ilmanpaine ja liike -anturina. RuuviTag toimii Bluetooth -yhteydellä ja se voidaan yhdistää esim. puhelimeen tai kuten tässä tapauksessa, myös Home Assistantiin tai muihin kotiautomaatiojärjestelmiin.

RuuviTagit voisi lisätä Home Assistanttiin myös erilaisilla lisäosilla, mutta me teemme sen Ruuvitag Discoveryn ja MQTT:n avulla. Tämä siksi, että meillä Home Assistant on asennettu Docker-Composen avulla, jolloin tämä lisäosat eivät toimi sellaisenaan. Jatkossa tarkoituksena on asentaa myös zigbee- ja z-wave -antureita MQTT:tä hyödyntäen, jolloin RuuviTagit menevät siinä samalla mukana.

Node.js asennus Link to heading

Aluksi meidän täytyy kuitenkin asentaa node.js, jotta saamme Ruuvitag Discoveryn asennettua. RaspberryPiOS on Debian -pohjainen käyttöjärjestelmä eli saamme asennettua node.js:n ohjelmistolähteistä, joihin löytyvät ohjeet linkin takaa.

Aluksi asennamme node.js:n ohjelmistolähteet ja myös node.js:n komennoilla

#HUOM! asennus tehdään root-käyttäjänä
sudo su
curl -fsSL https://deb.nodesource.com/setup_current.x | bash -
apt-get install -y nodejs
exit

Ruuvitag Discoveryn asennus Link to heading

Seuraavaksi haetaan Ruuvitag Discovery -tiedostot komennolla

git clone https://github.com/balda/ruuvitag-discovery

Seuraavaksi suoritetaan asennus

cd ruuvitag-discovery/
npm install

Asennukseen jälkeen voimme käynnistää Ruuvitag-Discoveryn komennolla

npm start

Voi olla, että järjestelmä ei vielä suoraan löydä RuuviTag -antureita, jolloin pitää varmistaa, että järjestelmään on asennettu tarvittavat bluetooth -paketit sekä ajaa komento, jolloin Ruuvitag Discovery ei tarvitse root/sudo -oikeuksia

sudo apt-get install bluetooth bluez
sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)

Mikäli asennus onnistui, niin meillä pitäisi näkyä päätteessä alla olevan kaltaiset rivit, josta alimpana nähdään, että Ruuvitag Discovery on löytänyt kaksi erillistä RuuviTagia

Palvelun ruuvitag-discovery.service luominen Link to heading

Ennen kuin jatketaan asetuksien tekemistä, niin tehdään kuitenkin Ruuvitag Discoverystä palvelu, joka käynnistyy automaattisesti tietokoneen käynnistyessä. Aluksi luodaan tiedosto ruuvitag-discovery.service komennolla sudo nano /etc/systemd/system/ruuvitag-discovery.service ja lisätään tiedostoon alla olevat rivit

[Unit]
Description=RuuviTag Discovery

[Service]
Type=simple
Restart=always
User=pi
WorkingDirectory=/home/pi/ruuvitag-discovery
ExecStart=/usr/bin/npm start

[Install]
WantedBy=multi-user.target

Seuraavaksi käynnistetään palvelu ja tehdään siitä automaattisesti käynnistyvä komennoilla

sudo systemctl start ruuvitag-discovery
sudo systemctl enable ruuvitag-discovery

Ruuvitag Discoveryn asetus web-selaimen kautta Link to heading

Tämän jälkeen avataan selaimella osoite http://x.x.x.x:8099, jota kautta pääsemme avaamaan web-pohjaisen konfigurointi -ikkunan. IP-osoite x.x.x.x on sen tietokoneen IP-osoite, jolle Ruuvitag Discovery on asennettu.

Etusivulla näkyvät löydetyt anturit ja kohdasta “Targets” päästään antamaan MQTT:n asetukset. Lisätään asetukset painamalla napista “+Home Assistant (MQTT)” , jolloin avautuu alla olevan kaltainen ikkuna

Aluksi annetaan tarvittavat tiedot eli

  • kohtaan name jokin nimi esim. mosquitto

  • kohtaan host mosquitto -brokerin IP-osoite

  • kohtaan port mosquitto -brokerin portti

  • kohtaan topic otsikoksi homeassistant

  • kohtaan username käyttäjätunnus

  • kohtaan password salasana

Kohdasta “Tags” voidaan ottaa käyttöön halutut anturit sekä tiedot, joita lähetetään Home Assistantille eli esim. ainakin humidity, temperature ja pressure. Lisäksi valittavana on myös muitakin tietoja, joita voidaan lähetään Home Assistantille.

Lopuksi otetaan vielä “Home Assistant (MQTT)” käyttöön valitsemalla “enable” ja tallennetaan asetukset, jonka jälkeen pitäisi alkaa tulla anturi-dataa Home Assistantille.

Jaa tämä: