Robins Blog – Technik und Multimedia

Luftqualitäts-Sensor Voltcraft CO 20 / Rehau – ein Erfahrungsbericht

Update 01.02.2019 Filterung nach Gut / Schlecht z.B. für Tablet UI
Update 28.04.2018 Beachtet auch den neuen Blog-Beitrag zur Übertragung mit MQTT für ioBroker etc.
Update 07.01.2016 Luftqualitäts-Sensor von Rehau – Bilder eingefügt

Update 03.01.2016 Luftqualitäts-Sensor wieder verfügbar, bitte lesen im Blog-Beitrag!

Luftqualitäts-Sensor von Voltcraft CO 20, klick  um zu vergrößern

30.10.2015 Bitte auch meinem Beitrag: 

Update 11.11.2013, Erweiterung Blog-Beitrag: Netatmo-Wetterstation mit Luftqualitäts-Sensor

Update 01.11.2013, Aktualisierung Fhem Code
Ursprünglicher Beitrag:
Der Luftqualtitäts-Sensor Voltcraft CO 20 (Rehau, Velux) erfaßt sämtliche in der Luft enthaltene reduzierende Gase, dazu gehören vor allem CO und die große Zahl der VOCs (engl. volatile organic compounds, zu deutsch: flüchtige organische Verbindungen) zum Beispiel aus Parfüm, Reinigungsmitteln, Gebäudematerialien, Zigarettenrauch, Kochvorgänge und besonders vom Menschen und seinen Aktivitäten :-). Ein großer Vorteil ist, das er als USB-Stick daherkommt und man so mobil ist. Man kann also schnell die Raumluft in seinem Büro auf der Arbeit messen. Ein anderer Meßvektor wäre eine Messung im Auto. Einfach den USB-Stick in die USB-Buchse des Autos stecken, und so sieht man durch die eingebauten LEDs sofort, ob ggf. schädliche Gase den Innenraum des Autos erreichen.

Logging-Funktion: Die Meßwerte werden aufgezeichnet und können später mit einer Software ausgelesen werden. Die Windows-Software zeichnet einen Graphen in Abhängigkeit von der Luftqualität als Funktion der Zeit auf. Die Luftqualität wird in 3 Abschnitten aufgeteilt: Gut = Grün – Messwert von 450 bis 1000, Mäßig = Gelb – Messwert von 1001 bis 1500 und Schlecht = Rot – Messwert von 1501 bis 2000 und darüber. Diese Werte haben sich in der Klimaindustrie etabliert.
Einfache Tests: Ein einfacher Test genügt, um die Funktion zu überprüfen. Einfach mal den Sensor anhauchen und kurz abwarten. Wenn man das Windows-Programm live mitlaufen lässt, erkennt man sofort einen Ausschlag der Meßkurve. Ich bin natürlich hingegangen und habe den Extrem-Test durchgeführt: Ein Aldi-Brillentuch genommen (welches Alkohol enthält) und einfach nur in die Nähe des Sensors bewegt: Die Meßwerte sind nahezu explodiert, bei mir lagen die innerhalb Sekunden bei über 13000 (bei 2000 ist eigentlich die Grenze).

Stromaufnahme: Die Stromaufnahme beträgt 40mA, getestet mit dem USB-Doktor

Er sollte mit jedem handelsüblichen Akkupack (Power Bank) funktionieren.
Fake oder kein Fake?: In einigen Foren habe ich gelesen, das der Sensor ein Fake ist, weil dieser nur eine Zahl ausgibt, aber keine Aufschlüsselung der einzelnen (Schad)-Stoffe. Die Firma Applied-Sensor, welche diesen Sensor entwickelte, beliefert die Industrie (Automobil, Gebäudeautomationsfirmen) mit dieser Art von Sensoren. Der Grund für die Ausgabe mit nur einer Zahl bekam ich auf Nachfrage: „Der Sensor ist nicht selektiv und erfaßt nur einen Summenparameter aller vorhandenen reduzierenden Gase. Wir messen eine Widerstandsänderung und rechnen diese mittels Algorithmus in ppm CO2.“
Fhem und Voltcraft CO 20: Jetzt wird die Sache interessant für alle, die meinen Blog hier kennen und auch den kostenlosen Hausautomations-Server Fhem benutzen: Der USB-Stick kann leicht an den Raspberry Pi (-> mein Erfahrungsbericht) angeschlossen werden, sodass hier die Luftqualitäts-Daten geloggt werden können. Interessierte können sich in dem entsprechenen Thread des fhem-Forums und in Google-Code die notwendigen Informationen holen. Ich benutze immer noch eine (von mir modifizierte) C-Version mit einem Cron-Job, welcher alle 5 Minuten einen Wert von 450-2000 in die Log-Datei von Fhem schreibt.

Cron-Job:

*/5 * * * * /opt/fhem/send2fhem.sh

send2fhem.sh

#!/bin/bash

SERVER=“localhost:7072″

# Get temperature
VOC=`/opt/fhem/airsensor -v -o |tr -d ‚\040\010\012\015’`

# If TEMP contains value then send it to fhem

VARNAME=“airquality.livingroom“
VARVALUE=“$VOC“

# Send data
/opt/fhem/fhem.pl $SERVER „set $VARNAME $VARVALUE“

Die Eingabe muss mit einem LINUX-kompatiblen Editor erfolgen, z. B. nano oder vi, sonst kommen Fehlermeldungen.

Wenn man nach der Google-Anleitung vorgegangen ist, dann die airsensor-Datei in /opt/fhem kopieren und alle Rechte geben (777):

Testen kann man es auf der Konsole, wenn man

sudo /opt/fhem/send2fhem.sh

eingibt. Nach ein paar Sekunden sollte dann ein gemessener Luftqualitäts-Wert auf der Console sichtbar sein.

Einige Blog-Leser haben danach folgenden Fehler erhalten:

send2fhem.sh: 14: send2fhem.sh: /opt/fhem/fhem.pl: Permission denied

-rw-r–r– 1 fhem dialout 105283 Dec 15 18:58 fhem.pl

Lösung: Ich gebe bei jedem Update Root-Rechte auf die fhem.pl – Datei, dann funktioniert es.

Das Snippet für die Cfg sieht so aus:

# airquality sensor VOLTCRAFT CO-20
define airquality.livingroom dummy
attr airquality.livingroom alias Luftqualität 450 bis 1000 ist gut, 1001 bis 1500 mittelmäßig, darüber schlecht
attr airquality.livingroom room Plots
define FileLog_airquality.livingroom FileLog ./log/airquality.livingroom-%Y.log airquality.livingroom
attr FileLog_airquality.livingroom logtype airquality:airquality,text
define weblink_airquality.livingroom SVG FileLog_airquality.livingroom:airquality:CURRENT

der gplot sieht so aus (noch etwas beta)

# Created by FHEM/98_SVG.pm, 2013-10-24 18:46:23
set terminal png transparent size crop
set output '.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title ''
set ytics
set y2tics
set grid ytics
set ylabel "Luftqualität"
set y2label ""

#FileLog 3:airquality.livingroom.*::$fld[2]>1000?1000:$fld[2]
#FileLog 3:airquality.livingroom.*::$fld[2]>1500?1500:$fld[2]
#FileLog 3:airquality.livingroom.*::
#FileLog 3:airquality.livingroom.*::
#FileLog 3:airquality.livingroom.*::

plot „“ using 1:2 axes x1y2 title ‚.‘ ls l1fill lw 0.2 with lines,\
„“ using 1:2 axes x1y2 title ‚.‘ ls l4fill lw 1 with lines,\
„“ using 1:2 axes x1y2 title ‚.‘ ls l0fill lw 1 with lines,\
„“ using 1:2 axes x1y2 title ‚.‘ ls l4fill lw 1 with lines,\
„“ using 1:2 axes x1y2 title ‚Luftqualität‘ ls l7 lw 1 with lines

Als Snapshot zeige ich Euch mal das Ergebnis (die dritte Grafik):

Diese Funktion läuft bei mir im Dauerbetrieb schon seit November 2013 störungsfrei. Wichtig: Den Stick nicht direkt in den USB-Anschluß des Raspberry-Pi anstecken, sondern nur über einen mit externer Spannungsquelle versorgten USB-Hub, zum Beispiel diesen hier: Hama USB 2.0 Hub 1:4 mit Netzteil schwarz

 

Update: 05.01.2016: Ihr könnt auch noch einfacher den Stick in Fhem einbinden. André aus dem Fhem-Forum hat ein Plug-In für diesen Sensor geschrieben. Hier müsst ihr folgendes Modul mit sudo apt-get install libdevice-usb-perl oder mit cpan install Device::USB installieren. Ebenfalls sind folgende Zeilen in Fhem eintragen, und schon klappt es:

define co20 CO20
attr co20 interval 1800
define FileLog_co20 FileLog ./log/co20-%Y.log co20:voc:.*

 

Filterung nach Literal (gut / schlecht)

define doif_luftquali_wz DOIF (([co20:voc] > 200) && [co20:voc] < 700) (setreading co20 Luftqualiliteral gut) (setreading co20 Luftqualino 1)\ DOELSEIF (([co20:voc] > 700) && ([co20:voc] )< 1400 )(setreading co20 Luftqualiliteral mäßig) (setreading co20 Luftqualino 2)\ DOELSEIF ([co20:voc] > 1400) (setreading co20 Luftqualiliteral Schlecht)(setreading co20 Luftqualino 3)\
DOELSE ([co20:voc] = 0) (setreading co20 Luftqualiliteral Fehler)(setreading co20 Luftqualino 0)

Kalibrierung des Sensors: Der Sensor wird bei jedem Einstecken normalerweise kalibriert, will heißen, das beim Einstecken des Sensors eine gute Luft herrschen sollte. Leider geht dieser Wert wieder verloren, wenn man ihn vom Strom abzieht. Doch dafür gibt es Abhilfe: Einen Doppelclick mit gedrücker STRG-Taste auf das Applied-Sensor-Logo (bzw. Rehau-Logo) und schon erscheint ein zusätzliches Menü Support Tools bzw. Hilfsmittel. Dort ruft man den Menü-Punkt edit Knobs auf und ändert den letzten Punkt

ui16StartupBits=0

Ebenfalls kann man die Grenzen (1500) usw. verändern, was man aber aus oben genannten Gründen nicht machen sollte. Diese Werte werden dann auf dem Chip des Sticks dauerhaft gespeichert.Damit ihr jetzt nicht den Support der Firma nervt, die Version der Firmware ist aktuell :  1.12p5 Rev 346 $. Diese Firmware ist beim Kauf des Sticks (link siehe unten) auch draufgespielt. Im Logging-Mode loggt er immer eine neue Session wenn er eingesteckt wird. Damit kann man also von Zimmer zu Zimmer gehen und die Daten aufnehmen. Anschließend im Menüpunkt File -> Download Flash gehen. Wenn der Speicher voll ist dann überschreibt er alte Daten.

Aufstellung des Sensors bei Langzeitmessung: Möchte man den Sensor dauerhaft platzieren, so sollte er in ungefähr 1.1 m Höhe und frei stehen. Also nicht in dem Schrank stellen oder ins Regal um eine optimale Messung zu erreichen.

Fazit: Der Voltcraft CO 20 Sensor in Form eines USB-Sticks ist eine einfache und sinnvolle Möglichkeit, schnell die Qualtität der Raumluft zu testen. Durch die 3 Ampel-LEDs  hat man auch schnell unterwegs die Ergebnisse  – auch ohne Computer. Interessant wird der Stick, wenn man ihn an einem Hausautomations-Server (z. B. Fhem) anschließt. Hierdurch kann bei schlechter Luft beispielsweise eine eMail ausgelöst werden oder auch automatisch ein Fenster geöffnet oder geschlossen werden.


Nachtrag: Ein anderes interessantes Gerät, um die Luftqualität und sogar noch die Temperatur / Luftfeuchtigkeit zu messen heißt Netatmo. Hierzu gibt es auch eine IOS / Android-App, welche die Werte ständig auf das Display gezeigt werden. Mehr Informationen über Netatmo gibts bei amazon: Netatmo NWS01 Wetterstation für Apple iPhone und Android
Über ein Python-Script kann man Netatmo auch in Fhem integrieren. Mehr Infos gibt es wie immer im Fhem-Forum.

Kaufen bei amazon.de: REHAU Raumluftsensor USB Stick

.
.
Das könnte Euch auch interessieren:

Die mobile Version verlassen