Sebastian hat euch in seinem Artikel „DIY-Homematic LCD Statusdisplay“ ein sehr interessantes DIY-Projekt vorgestellt. Wenn ihr das LCD Statusdisplay zusammen gebaut habt, möchte ich euch in diesem Artikel beschreiben, wie ihr verschiedene Informationen (Temperaturen, Luftfeuchtigkeit, usw.) auf dem Statusdisplay ausgeben könnt. Ich möchte euch hier erklären, wie ihr diverse Datenpunkte von HomeMatic Aktoren auslesen und den Wert auf dem LCD Display darstellen könnt.

Der Artikel zeigt beide Möglichkeiten auf, aus dem HomeMatic heraus HTTP Befehle abzuschicken. Zum einen die Variante über das AddOn Cux-Daemon (kurz: CUx-D) und zweitens die Variante über SYSTEM.EXEC. In dem Artikel „AddOn CUx-Daemon (CUxD) – System.Exec ersetzen“ habe ich die Unterschiede im Detail beschrieben. Beides funktioniert, meine Empfehlung ist aber CUxD zu verwenden.

Allgemeines

Ein HomeMatic Gerät hat immer einen oder mehrere Kanäle, über diese Kanäle können Informationen über den Status bzw. die Steuerung vorgenommen werden kann.

Über diese Kanäle wird die eigentliche Funktionalität des Geräts realisiert und abgebildet. Kanäle können in zwei Kategorien eingeteilt werden:

  • Sensoren (Sender) haben eine überwachende Funktion. Sie überwachen einen Zustand, wie zum Beispiel die Temperatur oder Luftfeuchtigkeit und generieren bei Bedarf Ereignisse.
  • Aktoren (Empfänger) haben dagegen eine ausführende Funktion. Aktoren verändern den Zustand eines Objektes. So können Dimmaktoren z.B. eine Lampe dimmen.

Sowohl Sensoren als auch Aktoren besitzen einen Zustand. Dieser Zustand kann auch mittels eines HomeMatic-Scriptes abgefragt bzw. verändert werden. Dazu verfügt jeder Kanal über einen oder mehrere sogenannte Datenpunkte. Ein Datenpunkt symbolisiert einen Teil des Zustandes eines Kanals.

Ein Datenpunkt verfügt immer über einen Namen und einen Datentyp. Auch die Zugriffsart muss für jeden Datenpunkt immer definiert sein. Alle übrigen Attribute sind optional.

Datenpunkte – Quelle eQ-3 Script Dokumentation

Datentypen

Ein Datenpunkt ist von einem bestimmten Datentyp. Hier werden fünf verschiedene Datentypen unterschieden:

  • action
  • boolean
  • float
  • integer
  • option

Datenpunkte Kombi Wetterstation

Da ich in diesem Artikel die Datenpunkte der HomeMatic Kombi Wetterstation auswerten möchte, habe ich mir diese einmal angeschaut und nachfolgend aufgelistet. Die Kombi Wetterstation hat zwei Kanäle und je Kanal verschiedene Datenpunkte. Die Datenpunkte für den Kanal 0 sind für uns nicht von Interesse. Wir möchten lediglich die Datenpunkte des Kanals 1 auswerten.

Datenpunkte Kanal 0:

  • BidCos-RF.NEQ0343825:0.CONFIG_PENDING
  • BidCos-RF.NEQ0343825:0.DEVICE_IN_BOOTLOADER
  • BidCos-RF.NEQ0343825:0.LOWBAT
  • BidCos-RF.NEQ0343825:0.RSSI_DEVICE
  • BidCos-RF.NEQ0343825:0.RSSI_PEER
  • BidCos-RF.NEQ0343825:0.STICKY_UNREACH
  • BidCos-RF.NEQ0343825:0.UNREACH
  • BidCos-RF.NEQ0343825:0.UPDATE_PENDING

Datenpunkte Kanal 1:

  • BidCos-RF.NEQ0343825:1.BRIGHTNESS
  • BidCos-RF.NEQ0343825:1.HUMIDITY
  • BidCos-RF.NEQ0343825:1.RAINING
  • BidCos-RF.NEQ0343825:1.RAIN_COUNTER
  • BidCos-RF.NEQ0343825:1.SUNSHINEDURATION
  • BidCos-RF.NEQ0343825:1.TEMPERATURE
  • BidCos-RF.NEQ0343825:1.WIND_DIRECTION
  • BidCos-RF.NEQ0343825:1.WIND_DIRECTION_RANGE
  • BidCos-RF.NEQ0343825:1.WIND_SPEED

Erklärung der Datenpunkte:

BidCos-RF gibt an, das es sich um ein HomeMatic Funk Gerät handelt
NEQ0343825 Ist die Seriennummer meiner Kombi Wetterstation (müsst ihr im Script anpassen)
1 Kanal Nummer
TEMPERATURE Datenpunkt Name

Darstellung in WebUI

Datenpunkte Kombi Wetterstation – Quelle: Technikkram.net

Im Screenshot aus der WebUI könnt ihr sehen, das es sich genau um die neun Datenpunkte handelt, die ich oben aufgelistet habe. Die Datenpunkte haben lediglich einen englischen Namen, was von den Angaben in der WebUI abweicht.

Datenpunkt Temperatur auslesen via Script (CUxD)

Nachfolgend findet ihr ein Script, mit dem ich als erstes das LCD Display inhaltlich lösche. Anschließend wir ein fester Text in die Zeile eins des Displays geschrieben. Im dritten Schritt lese ich den Datenpunkt „TEMPERATURE“ meiner Kombi Wetterstation aus (aktuelle Temperatur) und schreibe diese in bestimmter Art formatiert in die Zeile zwei des LCD Displays.

Erklärung:

In der ersten Zeile wird der Befehl zum Löschen des LCD Displays in die Variable „url“ geschrieben. Ihr müsst hier natürlich die IP Adresse eintragen, die euer LCD Display in eurem Netzwerk hat. In der zweiten Zeile wird mit den entsprechenden CUxD Command der Befehl aus „url“ abgeschickt.

In der dritten Zeile wird ein neuer Befehl mit dem festen Text „TEMP      Garten“ in die Variabe „url“ geschrieben. Ihr müsst hier natürlich die IP Adresse eintragen, die euer LCD Display in eurem Netzwerk hat. In der vierten Zeile wird mit den entsprechenden CUxD Command der Befehl aus „url“ abgeschickt. Damit wird die 1 Zeile des LCD Displays beschrieben.

In der fünften Zeile wird der Inhallt des Datenpunktes „TEMPERATURE“ meiner Kombi Wetterstation in die Variable „Kombi01“ geschrieben. Ihr müsst hier natürlich die IP Adresse eintragen, die euer LCD Display in eurem Netzwerk hat. Auch müsst ihr die Seriennummer eurer Wetterstation eintragen. Mit dem Command „ToString(2)“ begrenze ich die Ausgabe der Temperatur auf 2 Nachkomma Stellen. In der sechsten Zeile wird ein neuer Befehl mit dem Inhalt der Variable „Kombi01“ und dem Hex-Wert für das Grad Celsius Zeichen (%C2%B0) in die Variabe „url“ geschrieben. Ihr müsst hier natürlich die IP Adresse eintragen, die eurer LCD Display in eurem Netzwerk hat. In der siebten Zeile wird mit den entsprechenden CUxD Command der Befehl aus „url“ abgeschickt. Damit wird die 2 Zeile des LCD Displays beschrieben.

Hier seht ihr das Ergebnis des Scripts mit dem AddOn CUx-Daemon

Datenpunkt Temperatur auslesen via Script (System.Exec)

Die Methode mit System.Exec funktioniert auch, es gibt aber Probleme, welche ich hier ausführlich beschrieben habe. Mein Empfehlung ist daher solche Aktivitäten mit CUxD zu  erledigen. Im obigen Artikel wird auch die Installation des AddOns CUx-Daemon beschrieben.

Nachfolgend findet ihr ein Script, mit dem ich als erstes das LCD Display inhaltlich lösche. Anschließend wir ein fester Text in die Zeile eins des Displays geschrieben. Im dritten Schritt lese ich den Datenpunkt „TEMPERATURE“ meiner Kombi Wetterstation aus (aktuelle Temperatur) und schreibe diese in bestimmter Art formatiert in die Zeile zwei des LCD Displays.

Erklärung:

In der ersten beiden Zeilen sind Pflichtangaben bei Verwendung von „System.Exec“. In der dritten Zeile wird der Befehl zum Löschen des LCD Displays in die Variable „url“ geschrieben. Ihr müsst hier natürlich die IP Adresse eintragen, die euer LCD Display in eurem Netzwerk hat. In der vierten Zeile wird mit den entsprechenden CUxD Command der Befehl aus „url“ abgeschickt.

In der fünften Zeile wird ein neuer Befehl mit dem festen Text „TEMP      Garten“ in die Variabe „url“ geschrieben. Ihr müsst hier natürlich die IP Adresse eintragen, die euer LCD Display in eurem Netzwerk hat. In der sechsten Zeile wird mit den entsprechenden CUxD Command der Befehl aus „url“ abgeschickt. Damit wird die 1 Zeile des LCD Displays beschrieben.

In der siebten Zeile wird der Inhallt des Datenpunktes „TEMPERATURE“ meiner Kombi Wetterstation in die Variable „Kombi01“ geschrieben. Ihr müsst hier natürlich die IP Adresse eintragen, die euer LCD Display in eurem Netzwerk hat. Auch müsst ihr die Seriennummer eurer Wetterstation eintragen. Mit dem Command „ToString(2)“ begrenze ich die Ausgabe der Temperatur auf 2 Nachkomma Stellen. In der achten Zeile wird ein neuer Befehl mit dem Inhalt der Variable „Kombi01“ und dem Hex-Wert für das Grad Celsius Zeichen (%C2%B0) in die Variabe „url“ geschrieben. Ihr müsst hier natürlich die IP Adresse eintragen, die eurer LCD Display in eurem Netzwerk hat. In der neunten Zeile wird mit den entsprechenden CUxD Command der Befehl aus „url“ abgeschickt. Damit wird die 2 Zeile des LCD Displays beschrieben.

Ergebnis ist natürlich das Gleiche, nur über System.Exec

Zusammenfassung

Mit den obigen Informationen und Beispielen solltet ihr in der Lage sein, beliebige Datenpunkte aus der Kombi Wetterstation auszulesen und auf dem LCD Display anzuzeigen. Das Gleiche ist natürlich auch mit anderen Aktoren möglich, beispielsweise mit dem Homematic Funk-Wandthermostat oder auch dem Homematic IP Wandthermostat

Bei HomeMatic IP Aktoren müsst ihr aber „BidCos-RF“ im Script durch „HmIP-RF“ ersetzen. Sonst könnt ihr die Datenpunkte nicht auslesen. Viel Spass beim ausprobieren.

Beispiel Programm zum Anzeigen diverser Informationen

In dem folgenden Programm lese ich verschiedene Datenpunkte (Temperatur und Luftfeuchtigkeit) und zeige diese im Abstand von 5 Sekunden auf dem LCD Display an.

Als Besonderheit schalte ich das LCD Display EIN, wenn der Bewegungsmelder eine Bewegung erkennt. Das LCD Display wird eingeschaltet, gelöscht und dann werden die Werte angezeigt. Am Ende wird das LCD Display wieder ausgeschaltet.

Nachfolgend seht ihr das WebUI Programm, in dem in zeitlicher Abfolge verschiedene Scripte zum Auslesen von Datenpunkten gestartet werden.

© Technikkram.net

In dem folgenden Screenshot seht ihr im Detail die ersten beiden Skripte und die Bedingung mit dem Bewegungsmelder. Wenn euch diese Art des Ausdruckes von Programmen gefällt, so empfehle ich euch folgenden Artikel. Da erfahrt ihr mehr über das wirklich tolle AddOn „Programme Drucken“.

© Technikkram.net

Video der Programm Ausgaben

Nachfolgend findet ihr noch ein kurzes Video, wo ihr das Ergebnis aus oben beschriebenen Programm anschauen könnt

Fazit

Das LCD Display ist ein wirklich interessantes DIY Projekt und einfach über Script anzusprechen. Wir experimentieren zur Zeit mit weiteren Displays und Erweiterungen (Taster bzw. Bewegungsmelder) und werden darüber berichten.

 

Das könnte Dich auch interessieren

Homematic – CCU2 als LAN Gateway verwenden
Aufrufe 392
Wie viele von euch bin auch ich irgendwann mal der CCU2 auf eine andere Plattform (Raspberry Pi und Asus Tinker Board) umgestiegen. Die Anzahl der U...
NEUHEIT – Homematic IP Funk-Klingeltaster HmIP-DBB, ARR-Bausatz
Aufrufe 2037
Bereits am 25.07.2018 habe ich euch in dem Artikel "Vorschau - Neuigkeiten 09.2018" über diesen Aktor informiert. Nun ist er verfügbar und ich möchte...
Flexibel melden – Homematic IP Kombisignalgeber HmIP-MP3P
Aufrufe 1224
Nicht immer muss es ein aufwendiges Display, das Smartphone oder ein PC-Bildschirm sein, wenn es gilt, im Smart Home lediglich etwas zu signalisieren...
Homematic – Wochenprofile im Aktor direkt erstellen – unabhängig von...
Aufrufe 874
Heute möchte ich euch eine Möglichkeit vorstellen, welche in allen HomeMatic IP Aktoren zur Verfügung steht. In diesen Aktoren könnt ihr im Gerät sel...
Die warscheinlich kleinste und günstigste CCU3 der Welt
Aufrufe 1216
Heute will ich Euch mal wieder ein kleines Tutorial zu DIY CCU3 mit piVCCU3 schreiben. Genauer geht es darum, die CCU3 Software auf einen kleinen Ora...
Homematic piVCCU Update auf piVCCU3
Aufrufe 1721
Wenn Ihr unseren Blog verfolgt, dann wisst Ihr auch, dass ich ein großer Fan von piVCCU bin. Ich habe die aktuelle piVCCU3 Version schon länger im Ein...
0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

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

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend. Dieses Formular speichert Ihren Namen, Ihre Email Adresse sowie den Inhalt, damit wir die Kommentare auf unsere Seite auswerten können. Weitere Informationen finden Sie auf unserer Seite der Datenschutzbestimmungen.

Ich akzeptiere die Speicherung der Daten.