Bash scriptsHow-to

Power Queen bluetooth BMS uitlezen

In dit artikel hebben we beschreven hoe je eenvoudig een thuisbatterij kunt maken. Hiervoor gebruiken we accu’s van Power Queen met bluetooth-functionaliteit. In dit artikel zullen we uitleggen hoe je het BMS eenvoudig kunt uitlezen en gegevens naareen virtueel device in Domoticz kunt sturen.

Power Queen geeft tijdelijk een korting van maar liefst 6% op alle producten. Ga hiervoor naar de website van Power Queen en gebruik kortingscode EHOCO.NL

De scripts voor de thuisbatterij heb je waarschijnlijk op een Raspberry Pi (of soortgelijk apparaat gezet). De Raspberry Pi is ook prima geschikt voor het BMS uit te lezen (eigenlijk is ieder apparaat met bluetooth en linux geschikt).

We maken gebruik van de Python library van Dmytro Tsepilov.

Kloon en maak een virtuele Python-omgeving:

Installeer requirements:

Installeer bluez:

Zoek nu met een app als Bluetooth Finder & BLE Scanner het MAC-adres van de accu op. De naam begint met PQ-24100B (als je een 24V 100A accu hebt). Schrijf het MAC-adres op, dat hebben we dadelijk nodig.

Vraag de BMS-gegevens op (uiteraard moet je hier jouw MAC-adres neerzetten):

Als alles goed gegaan is dan krijg je een output als (kan wel een half minuutje duren):

Is het allemaal gelukt? Dan is het nu tijd om in Domoticz virtuele devices aan te maken. In dit voorbeeld hebben we 3 percentage-devices en 3 counter-devices aangemaakt.

Maak nu een Shell script aan:

Kopieer onderstaand script in jouw lege script (bms.sh). Pas regel 4, 7, 8, 13, 14, 15, 21, 22 en 23:

Geef het script de juiste rechten:

Uiteaard wil je dat het scrip automatisch loopt, ook na een reboot. Open de crontab:

Voeg onderstaande regel toe:

Start de Raspberry Pi opnieuw op:

Nu zal het script automatisch starten en om de 2 minuten uitgevoerd worden.

Power Queen geeft tijdelijk een korting van maar liefst 6% op alle producten. Ga hiervoor naar de website van Power Queen en gebruik kortingscode EHOCO.NL

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *