In diesem Blogbeitrag möchte ich euch zeigen, wie ich die Feinstaubsensormesswerte an mein SmartHome-System Homematic übertrage. Die Idee und dieser Blogbeitrag beruhen größtenteils auf eine Diskussion im Homematic-Forum, wo bereits ein Initialesskript geteilt wurde. Ich habe es nur noch an meine Bedürfnisse angepasst. Was dazu notwendig war, beschreibe ich an dieser Stelle.
Was wird benötigt?
Die Durchführung ist eigentlich recht einfach. Die Messstation bietet bereits von selbst Schnittstellen an, um auf die Messdaten zugreifen zu können. Somit benötigt man in dem Homematic-System nur einen Mechanismus, der auf diese Daten zugreift und sie in das Homematic-System integriert. Dazu benötigt man drei Schritte:
- Ein Skript, das die Daten von der Messstation abfragt.
- Eine Speichermöglichkeit der abgefragten Messwerte
- Ein Homematic-Programm, das das Skript in regelmäßigen Zeitintervallen ausführt
Die Umsetzung
Das Skript
Das Skript kann entweder aus dem ursprünglichen Forum-Beitrag oder von meiner GitHub-Repo verwendet werden. Meine Skript ist bereits auf den besseren Luftdruck-/-temperatur- und -feuchtigkeitssensor BME280 angepasst.
Speichermöglichkeit
Für das Speichern der Messwerte verwenden wir Homematic CCU Systemvariablen. Für die fünf Messwerte wird jeweils eine Variable gebraucht, die gleich benannt sein muss wie im Skript.
CUx-Daemon (optional)
Da die Messstation nicht durchgängig Messdaten liefert, frage ich mithilfe der Erweiterung CUx ab, ob die Messstation Daten bereitstellt. CUx ist eine sehr umfangreiche Erweiterung, um die CCU um virtuelle Geräte zu erweitern. Damit lassen sich auch Aktoren, die nicht aus dem Homematic-Universum stammen, in das Homematic-System integrieren. Ich verwende hier allerdings nur die Möglichkeit, eine Ping-Anfrage an die Messstation zu senden. Nach der Installation von CUx ist es im Homematic Menü unter Einstellungen > Systemsteuerung zu finden.
Durch Klick auf Geräte können neue virtuelle Geräte erstellt werden.
Als CUxD Gerätetyp ist "16 Kanal Universalsteuerung" zu wählen. Ein Name kann dem Gerät vergeben werden, damit man es in der CCU-Geräteauflistung finden kann. Als Control wird "Schalter" ausgewählt.
Mit Klick auf "Gerät auf CCU erzeugen!" erfolgt die Generierung des virtuellen Gerätes.
Wechselt man nun zur Auflistung der Homematic-Geräte auf der CCU, so findet man das soeben erstellte CUxD-Gerät unter dem gewählten Namen. Beim ersten Kanal klickt man auf Einstellungen, um das Gerät zu konfigurieren.
Da es sich in diesem Fall um eine einfache Ping-Abfrage handelt, brauchen nicht viele Einstellungen durchgeführt werden.
Unter "IP_DNS_ADR" ist die IP-Adresse der Messstation anzugeben. Die anderen Zeitintervall-Einstellungen habe ich bei den Standardwerten belassen. Durch Klick auf die "OK"-Schaltfläche werden die Einstellungen gespeichert.
Das Programm
Da wir nun alle notwendigen Vorbereitungen abgeschlossen haben, können wir uns nun dem eigentlichen Homematic-Programm widmen.
Das Programm umfasst zwei Bedingungen und eine Aktivität.
Bedingung 1 legt fest, wie oft das Programm ausgeführt werden soll. Ich habe mich entschieden, dass es ganztägig und alle 2 Minuten ausgeführt wird. Anfangs hatte ich den Wert auf 5 Minuten festgesetzt, stellte aber fest, dass ich hier nicht regelmäßig Messwerte erhalte.
Bedingung 2 legt fest, dass das Programm nur ausgeführt wird, wenn die Messstation aktiv ist. Hier kommt das zuvor erstellte CUxD-Geräte zum Einsatz. Da es als Schalter erstellt wurde, muss hier nur auf den Schaltzustand geachtet werden. Der Schaltzustand "ein" wird dabei erreicht, wenn der Ping zur Messstation erfolgreich verlaufen ist.
Die Aktivität beinhaltet das anfangs erwähnte Skript. Dieses wird mit der Ausführungseinstellung "Sofort" konfiguriert.
Mit Klick auf die "OK"-Schaltfläche wird das Skript im Programm gespeichert. Der finale Programmaufbau schaut nun wie folgt aus.
Anwendung
Ich lasse mir zur Zeit die Messwerte nur auf der CCU-Oberfläche bzw. auf meiner mobilen Homematic-App anzeigen.
Dazu hab ich unter dem Homematic-Menü Einstellungen > Benutzerverwaltung meine Benutzer-Einstellungen bearbeitet. Über "Systemvariable hinzufügen" kann ich die entsprechenden Variablen einzeln nacheinander auswählen.
Das finale Ergebnis schaut dann wie folgt aus.
Fazit
Ich fand es für mich sehr interessant, die Feinstaubsensor-Messstation mit meinem SmartHome-System zu verbinden. Dadurch habe ich eine erweiterte Wetterstation geschaffen, deren Werte ich über eine App auch auf meinem Smartphone anzeigen lassen kann.