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
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
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
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
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
namejokin nimi esim.mosquitto -
kohtaan
hostmosquitto -brokerin IP-osoite -
kohtaan
portmosquitto -brokerin portti -
kohtaan
topicotsikoksihomeassistant -
kohtaan
usernamekäyttäjätunnus -
kohtaan
passwordsalasana
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.