Let op: Tweakers stopt per 2023 met Tweakblogs. In dit artikel leggen we uit waarom we hiervoor hebben gekozen.

Inkbird Bluetooth temperatuur sensor via MQTT

Door Pixelmagic op vrijdag 1 juli 2022 18:21 - Reacties (1)
Categorie: -, Views: 2.216

Ik heb sinds kort een Kamado BBQ en had al een Inkbird ibt-2x temperatuur sensor in gebruik. Met een Kamado vind ik het wel fijn wat meer inzicht te hebben en misschien zelfs wel Grafana grafiekjes te kunnen maken.

Aangezien het huis toch al vol met sensors hangt kon er dus nog wel wat bij. Even zoeken en je komt wel wat dingen tegen, mijn voorkeur had het gebruik van een Raspberry Pi Zero (link is de 2W, ik gebruik de oudere Zero W) omdat ik deze toch nog over had liggen en ze vrij goedkoop zijn. Ze hebben Wifi en Bluetooth, dus we beginnen maar.

Ik ga er van uit dat je een MQTT server hebt draaien, dat is waar de data op gepubliceerd gaat worden. Als je b.v. Home Assistant gebruikt heb je die al. Vraag me niet hoe je het anders kan doen, ik heb daar niet de skills en tijd voor.

Omdat de handleidingen niet erg volledig waren heb ik deze post maar gemaakt voor mezelf maar ook voor anderen, je weet maar nooit wanneer het handig is. Disclaimer: ik ben geen expert in docker, wat ik beschrijf werkt voor mij maar kan zomaar niet voor jou werken of dingen stuk maken.

Allereerst download je Raspberry Pi Imager zodat je je SD kaartje kan voorzien van een image. Kies daarna een image zonder grafische interface en vergeet niet in Imager je WiFi gegevens, inlog gegegens en SSH toegang aan te zetten. Doe dit door op het radertje te klikken. Dat scheelt straks een hoop gedoe.

Als je dat gedaan hebt SD kaart in de Pi Zero, poosje wachten en met Putty of je eigen favoriete SSH client inloggen. Vervolgens moet er een zooi geïnstalleerd worden. Ik heb daar een bash sctiptje voor gemaakt, open je favoriete editor, (ik gebruik mc [sudo apt-get install mc]) maak een nieuw bestand aan en plak daar deze inhoud in:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Install some required packages first
sudo apt update
sudo apt install -y \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common

# Get the Docker signing key for packages
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -

# Add the Docker official repos
echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
     $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list

# Install Docker
sudo apt update
sudo apt install -y --no-install-recommends \
    docker-ce \
    cgroupfs-mount
    docker-compose

# Docker Compose
sudo usermod -aG docker $USER
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo service docker restart


Start vervolgens het bash scriptje en ga even je vlees op de BBQ controleren :+

Als dit klaar is, dan is het tijd om het mac adres van je Inkbird te vinden. Schakel hem nog niet aan, voer eerst dit commando in op je Zero:

code:
1
bluetoothctl scan on


Er komen waarschijnlijk wat devices voorbij, als er niets nieuws komt zet je de Inkbird aan en komt er met wat geluk een regel voorbij die hier op lijkt:

[NEW] Device 34:24:B7:43:0B:DD iBBQ

Noteer het vet gedrukte gedeelte, dat heb je zo nodig. Druk op CTRL-C om de opdracht te stoppen als je het nummer hebt.

Als je dat gedaan heb dan haal je de Inkbird software op, je start met

code:
1
wget https://raw.githubusercontent.com/jshridha/inkbird/master/docker-compose.yaml


Vervolgens bewerk je deze docker-compose.yaml en maak je de volgende aanpassingen:

- vervang je MQTT server gegevens met die van jezelf
- zet het zojuist gevonden mac adres achter INKBIRD_ADDRESS=
- Voeg daar onder toe - INKBIRD_TEMP_UNITS=C
- Voeg daar onder toe : restart: always
Dat laatste zorgt er voor dat als je de Zero opnieuw opstart dat ook de Inkbird software weer opstart.

Vervolgens start je docker:
code:
1
sudo docker-compose up -d


Deze gaat nu de benodigde images ophalen, uitpakken en starten. Na enige tijd zal als alles goed gegaan is een nieuwe topic op je MQTT voorbij komen, genaamd inkbird. Tegelijk zal in de homeassistant topic de sensor er bijkomen. Bijkomend voordeel is dat hij ook gelijk het batterij niveau toont, dat is handig !

Om te debuggen in MQTT en te zien of alles goed gaat gebruik ik MQTT Explorer, die vind ik erg handig om te zien of de berichten doorkomen.

Ik gebruik zelf geen Home Assistant maar Domiticz en Node-RED. Ik heb in Node-RED een abonnement op de inkbird topic genomen en laat deze waarden doorspelen naar Domoticz zodat ik ze kan zien.

Let wel op dat Raspberry's er slecht tegen kunnen als ze zonder nette shutdown worden uitgezet,. Doe dus een nette [sudo shutdown now] en wacht totdat de led een aantal keer knippert. Dat duurt wel even omdat de docker ook moet stoppen.

Volgende: SBFspot aanpassingen voor SMA TriPower 5.0 02-'20 SBFspot aanpassingen voor SMA TriPower 5.0

Reacties


Door Tweakers user synoniem, zaterdag 2 juli 2022 11:50

Als je
code:
1
sudo usermod -aG docker $USER
gedaan hebt en een keer uit en inlogt hoef je voor docker en docker-compose geen sudo te gebruiken. Dus om het netjes af te sluiten kun volstaan met:
code:
1
2
docker-compose down
sudo poweroff

Reageren is niet meer mogelijk