ioBroker: USB-Raumluft-Sensor Daten über MQTT übertragen

Update 03.05.2018 Scripterweiterung bei Sensorausfall

Ich besitze seit einigen Jahren den USB-Raumluft-Sensor (amazon-affili), welcher direkt an meinem Raspberry Pi angeschlossen ist. Der Sensor hat folgende Eigenschaften:

  • Messung der Raumluftqualität auf Basis flüchtiger organischer Verbindungen (VOCs)
  • Schnelle Anzeige von Luftschadstoffen wie verbrauchter Atemluft, Gerüchen in Küche oder Bad, Nikotin, Lösemitteln, ungesunden Ausdünstungen von Reinigungsmitteln, Farben, Lacken, Kunststoffen, Computern u.v.m..

Preis: Derzeit nicht verfügbar

Einen zweiten Sensor habe ich an einem zweiten Raspberry Pi angeschlossen, welcher im Büro steht. Hier dient er zur Messung der Luft bei einem eingeschalteten 3d Drucker. Die Übertragung der Daten zur Visualisierung und Bündelung mit FHem habe ich damals mit Fhem2Fhem gemacht. Hierzu wurde der Telnet-Port 7072 benutzt.

Im Zeitalter von MQTT fand ich das aber nicht mehr zeitgemäß. Deshalb habe ich am zweiten Pi die Software überarbeitet, sodass die Daten jetzt direkt über MQTT einlaufen. So ist es kein Problem mehr Raumluftqualitätsdaten (VOC) für Node-Red oder ioBroker abzurufen.


Als Basis benötigt man den USB-Raumluft-Sensor und einen Raspberry-Pi. Ein alter Raspi 1 genügt auch.

Anschließend verwendet man das kompilierte C-Programm, wie ich es hier in meinem Blogbeitrag vom Jahr 2016 beschrieben habe. Es wird dann mit airsensor aufgerufen und gibt den jeweiligen VOC-Wert heraus.

Hierzu muss vorher die Library von Raphael Cohn (Bish-Bosh) installiert werden, die hier zu finden ist.

Als Topic habe ich
/airquality/buero/voc
welcher dann im mqtt-spy später so zu sehen ist.

Damit ständig neue Raumluft-Daten gemessen werden können, habe ich ein Cronjob crontab -e angelegt.
Die Pfade und die Abrufzeiten solltet ihr anpassen. Bei mir wird jede Minute das Script angestossen.

*/1 * * * * /root/bish-bosh/bish-bosh --verbose 2 -- /root/bish-bosh/airsensormqtt

So könnt ihr jetzt mit ioBroker oder Node-Red die Daten abfangen und weiter verarbeiten.

In Fhem sieht dann das Script so aus

defmod airqualityRehau MQTT_DEVICE
attr airqualityRehau IODev MyBroker
attr airqualityRehau room 60_Raumklima
attr airqualityRehau stateFormat transmission-state
attr airqualityRehau subscribeReading_voc /airquality/buero/voc

Update 03.05.2018: Wie bekommt Fhem mit, wenn keine Daten gesendet werden, z. B. zweiter Raspi down oder Sensorausfall?

Wenn ein Event vom Sensor airqualityRehau ausbleibt, sende eine Telegram-Message set user1 message Rehau-Raumluftsensor ausgefallen . Prüfe das alle 600 Sekunden und setze den Watchdog resetwait zurück.
Dieses Script kann man auch für andere Devices nehmen, um zu checken, ob die Sensoren noch senden.

defmod RehauRaumluft_push DOIF ([airqualityRehau])(set user1 message Rehau-Raumluftsensor ausgefallen)
attr RehauRaumluft_push do resetwait
attr RehauRaumluft_push room 91_Funktionen
attr RehauRaumluft_push stateFormat wait_timer
attr RehauRaumluft_push wait 600

Kaufen bei amazon.de: REHAU Raumluftsensor USB Stick

Das könnte Euch auch interessieren:

Dieser Beitrag wurde unter Fhem-Hausautomation, ioBroker abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

2 Kommentare zu ioBroker: USB-Raumluft-Sensor Daten über MQTT übertragen

  1. Robin sagt:

    Hallo Silvia,

    nein, der Raumluftsensor misst nur die VOC ( https://de.wikipedia.org/wiki/Fl%C3%BCchtige_organische_Verbindungen ), also die Summe alle Verbindungen. Hier kann man aber schon vorab die Raumluftqualität anhand der LED (grün, gelb, rot) sehen. Also, ob es Zeit ist, das Fenster zu öffnen.
    Es gibt Sensoren, die messen nur ein Gas, z.B der Co2 – Sensor, über den ich auch mal gebloggt habe: https://blog.moneybag.de/fhem-luftqualitaet-messen-mit-dem-mh-z14-mh-z19-co2-sensor-und-espeasy-wemos/

    LG
    /robin

  2. Silvia sagt:

    HalloRobin,
    kann das Raumluftmessgerät auch die Schadstoffe benennen?-

    Würde ganz gerne eines bei dir bestellen und hast du Pulsoximeter ca. 2 0,o0 Euro.

    Wenn die bestellt werden müssen, kannst du die Sachen für mich bestellen, überweise dir auch vorher das Geld. Brauche nur deine Kontonummer hab auch Onlinebanking.
    GLG Silvia

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.