technikkram.net
  • Home
  • smartkram
  • Themenfelder
    • Smart Home
      • Homematic & Homematic IP
      • Smart Home Zentrale
      • Home Assistant
      • MQTT & Messaging
      • Zigbee & Thread
      • Shelly Geräte
      • KNX Gebäudeautomation
      • Matter & Thread
      • Apple HomeKit
    • Server & DevOps
      • Docker & Container
      • Proxmox VE
      • Linux Administration
      • Monitoring & Observability
      • Kubernetes & K3s
      • Raspberry Pi
    • Netzwerk
      • UniFi Netzwerk
      • Netzwerk Grundlagen
      • WLAN Optimierung
      • VLAN Konfiguration
      • Firewall & Security
      • Managed Switches
    • Sicherheit
      • Überwachungskameras
      • IT-Security
      • Videoüberwachung
      • Alarmanlagen
      • Zutrittskontrolle
    • Energie & Solar
      • Energiemanagement
      • Solar & Photovoltaik
    • NAS & Storage
      • NAS Systeme
      • Backup & Recovery
      • Synology NAS
      • Storage Lösungen
  • Archiv
  • Kontakt
    • Datenschutz
    • Impressum
  • Click to open the search input field Click to open the search input field Suche
  • Menü Menü
  • Link zu Facebook
  • Link zu X
  • Link zu Mail
  • Link zu Rss dieser Seite
Werner
CCU2, CCU3, Programmierung, Raspberrymatic

DIY-Homematic LCD Statusdisplay – Script Programmierung

DIY-Homematic LCD Statusdisplay - Script Programmierung - Diy Lcd Homematic Wemos D1 Technikkram

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.

! --- LCD Display - Meldungen aus HomeMatic auf LCD ---
! --- © Werner Weber - Technikkram.net
! --- Temperatur aus WETTERSTATION - CUxD ---
string url = "http://192.168.1.2/control?cmd=LCDCMD,clear";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
string url = "http://192.168.1.2/control?cmd=LCD,1,1,TEMP      Garten";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
string Kombi01 = dom.GetObject("BidCos-RF.NEQ0343825:1.TEMPERATURE").Value().ToString(2);
string url = "http://192.168.1.2/control?cmd=LCD,2,1,'"#Kombi01#"' %C2%B0C";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

Erklärung:

string url = "http://192.168.1.2/control?cmd=LCDCMD,clear";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

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.

string url = "http://192.168.1.2/control?cmd=LCD,1,1,TEMP      Garten";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

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.

string Kombi01 = dom.GetObject("BidCos-RF.NEQ0343825:1.TEMPERATURE").Value().ToString(2);
string url = "http://192.168.1.2/control?cmd=LCD,2,1,'"#Kombi01#"' %C2%B0C";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

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.

! --- LCD Display - Meldungen aus HomeMatic auf LCD ---
! --- © Werner Weber - Technikkram.net
! --- Temperatur aus WETTERSTATION - System.Exec ---
string stdout;
string stderr;
string url="http://192.168.1.2/control?cmd=LCDCMD,clear";
system.Exec ("wget -q -O /dev/null " #url, &stdout, &stderr);
string url = "http://192.168.1.2/control?cmd=LCD,1,1,'TEMP      Garten'";
system.Exec ("wget -q -O /dev/null " #url, &stdout, &stderr);
string Kombi01 = dom.GetObject("BidCos-RF.NEQ0343825:1.TEMPERATURE").Value().ToString(2);
string url = "http://192.168.1.2/control?cmd=LCD,2,1,'"#Kombi01#" %C2%B0C'";
system.Exec ("wget -q -O /dev/null " #url, &stdout, &stderr);

Erklärung:

string stdout;
string stderr;
string url="http://192.168.1.2/control?cmd=LCDCMD,clear";
system.Exec ("wget -q -O /dev/null " #url, &stdout, &stderr);

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.

string url = "http://192.168.1.2/control?cmd=LCD,1,1,'TEMP      Garten'";
system.Exec ("wget -q -O /dev/null " #url, &stdout, &stderr);

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.

string Kombi01 = dom.GetObject("BidCos-RF.NEQ0343825:1.TEMPERATURE").Value().ToString(2);
string url = "http://192.168.1.2/control?cmd=LCD,2,1,'"#Kombi01#" %C2%B0C'";
system.Exec ("wget -q -O /dev/null " #url, &stdout, &stderr);

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

https://technikkram.net/wp-content/uploads/2018/11/LCD-Display-Video.mp4

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 CCU3 Backup erstellen und wiederherstellen – CCU3 Homematic Zentrale mit HTTP 500 Backup-Fehler im WebUI und Smart Home Geräte-Verbindungen
    CCU3 Backup schlägt mit HTTP 500 Fehler fehl -…
    3. Juni 2026 CCU3 Homematic Zentrale zeigt HTTP 500 Internal Server Error beim Backup-Versuch mit verbundenen Smart Home Geräten Wenn deine CCU3 beim…
  • Homematic CCU3 Backup erstellen und wiederherstellen – CCU3 Homematic Zentrale mit HTTP 500 Backup-Fehler im WebUI und Smart Home Geräte-Verbindungen
    CCU3 Backup schlägt mit HTTP 500 Fehler fehl -…
    31. März 2026 CCU3 Homematic Zentrale zeigt HTTP 500 Internal Server Error beim Backup-Versuch mit verbundenen Smart Home Geräten Wenn deine CCU3 beim…
  • Homematic CCU2 komplett auf CCU3 migrieren ohne Geräteverlust – Homematic CCU2 kaufen zu CCU3 Migration - Beide Zentralen nebeneinander mit Migrationspfeil
    Homematic CCU2 kaufen auf CCU3 migrieren: Komplette…
    3. April 2026 Die CCU2 zu CCU3 Migration erfordert eine systematische Herangehensweise, um Geräteverluste zu vermeiden Die Homematic CCU2 zu CCU3 Migration kaufen…
  • Docker Nginx Reverse Proxy Netzwerk-Architektur Diagramm mit Port-Mapping und Backend-Verbindungen
    Nginx Reverse Proxy in Raspberry Pi OS Docker…
    4. April 2026 Nginx Reverse Proxy Container mit typischen Netzwerk-Verbindungsproblemen und Fehlerzuständen Ein Nginx Reverse Proxy in Docker Container nicht erreichbar zu beheben…
  • Smart Home Sprachsteuerung Architektur-Diagramm mit Alexa, Google Assistant, Home Assistant und vernetzten Geräten
    Sprachsteuerung einrichten: Alexa und Google Home
    9. April 2026 Google Nest Mini für Sprachsteuerung von Philips Hue Lampen und smarten Geräten“ src=“ Modernes Smart Home Setup mit Alexa Echo…
  • Node-RED vs Home Assistant: Automation-Plattform für Smart Home wählen – Node-RED vs Home Assistant Interface-Vergleich für Smart Home Automation-Plattformen
    Node-RED vs Home Assistant: Die richtige…
    4. April 2026 Vergleich der Benutzeroberflächen von Node-RED und Home Assistant für Smart Home Automation Die Wahl zwischen Node-RED und Home Assistant ist…
9. November 2018/14 Kommentare/von Werner
Schlagworte: CCU2, CCU3, LCD-Display, piVCCU, piVCCU3, Programmierung, RaspberryMatic, Skript
Eintrag teilen
  • Teilen auf Facebook
  • Teilen auf X
  • Teilen auf WhatsApp
  • Teilen auf Pinterest
  • Teilen auf LinkedIn
  • Per E-Mail teilen
https://technikkram.net/wp-content/uploads/2018/11/DIY-LCD-Homematic-Wemos-D1-technikkram.jpg 500 1000 Werner https://technikkram.net/wp-content/uploads/2019/05/technikkram_transparent.png Werner2018-11-09 11:00:202018-11-09 11:21:40DIY-Homematic LCD Statusdisplay – Script Programmierung
14 Kommentare
  1. Denni
    Denni sagte:
    30. August 2023 um 19:53

    Hallo Werner

    Gibt es bereits ein Script oder eine Möglichkeit, auf dem LCD einen Lauftext anzeigen zu lassen?

    Gruss

    Denni

    Antworten
  2. Arthy
    Arthy sagte:
    21. August 2020 um 15:50

    Hallo Werner,

    habe gestern auch das Display Projekt abgeschlossen und alles eingerichtet. Möchte mir die Temperaturen von dem 8er DIY Temperaturprojekt anzeigen lassen. Soweit funktioniert auch alles bis auf die Tatsache, dass ich das Zeichen „°“ bei der Einheit C nicht angezeigt bekomme. Ich weiß, dass man hier mit ASCI arbeiten muss, die Zeichenreihenfolge scheint auch zu stimmen aber es werden nur komische Zeichen vor dem C ausgegeben. Den Code von dir habe ich kopiert und nur die Adresse und Kanal angepasst. Wie gesagt ich bekomme auch den Wert angezeigt aber das ° läuft nicht. Irgendeine Idee warum das bei dir funktioniert und bei mir nicht?
    Besten Dank

    Gruß
    Arthy

    Antworten
    • Thomas H
      Thomas H sagte:
      21. August 2020 um 17:23

      Hallo, ich verwende zum Anzeigen des „°“ das hier „ß“.
      So im Skipt dann so aus:
      string url = „http://192.168.2.104/control?cmd=LCD,1,3,’Innen „#Temp03#“ßC%20″#Hum03#“%%20%20′“;

      Antworten
      • Arthy
        Arthy sagte:
        21. August 2020 um 17:47

        Super, genau das war es. Besten Dank für den Tipp.

        Gruß
        Arthy

        Antworten
  3. Thomas H
    Thomas H sagte:
    4. März 2020 um 14:14

    Im Text steht:
    „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.“

    Da vermiss ich einen Link hinter dem „hier“, denn ohne macht das keinen Sinn!
    Ohne erfährt man nicht, weshalb der Aufruf von Sytem.Exec Probleme machen kann!

    Antworten
  4. Sebastian
    Sebastian sagte:
    18. Januar 2020 um 14:24

    Moin zusammen,

    ich habe da irgendwie ein Problem.
    Ich möchte mir einfach durchgängig die Temperatur eines Sensors anzeigen lassen.
    Wenn ich das Script direkt in der Programmierung ausführe, dann funktioniert es.
    Aber die Temperatur wird nicht aktualisiert.
    Ich habe beide Varianten (System.Exec und CUxD) ausprobiert. Immer das selbe Bild, keine Aktualisierung, wobei sie sich am Gerät selbst ändert.
    Muss ich denn was bei den „Bedingung“ eintragen?

    Vielen Dank im Voraus
    Sebastian

    Antworten
  5. Werner Wagner
    Werner Wagner sagte:
    3. März 2019 um 11:55

    Hallo Werner,
    Dein Projekt habe ich mit Erfolg umgesetzt. Vielen Dank für Deine Arbeit. Als Display nutze ich ein LCD2004. Da ich Temperaturwerte anzeige, möchte ich diese rechtsbündig setzen. Ist so etwas möglich z.Bsp. durch ein Script, welches die Stringlänge vor dem Senden ermittelt und damit den Aufsatzpunkt (rueck) berechnet?

    string url = „http://192.168.xxx.xx/control?cmd=LCD,1,'“#rueck#“‚,'“#istTemp#“‚%DFC“;

    Gruss Werner W.

    Antworten
  6. Michael Meuther
    Michael Meuther sagte:
    31. Januar 2019 um 12:52

    Hallo Werner
    ich habe nun als Alternative deinen Vorschlag mit „System.exec“ geteste. Das läuft bei mir auf Anhieb!
    Das Problem liegt wohl bei CuXD. Ich weiß aber leider nicht wo….
    Viele Grüße
    Michael

    Antworten
  7. Michael Meuther
    Michael Meuther sagte:
    29. Januar 2019 um 14:30

    Hallo Werner
    Ich habe mir diese Statusanzeige nun gebaut und kann sie auch über IP ansprechen und verändern.
    Bei der Nutzung mit Homematic klemmt es aber.
    Ausgangspunkt:
    Cuxd ist installiert, ein Gerät unter system angelernt, CCU3 neu gebootet.
    Programm geschrieben, Skript geschrieben, aber nichts passiert.
    Das Skript sieht so aus:
    string url = „http://192.168.150.20/control?cmd=LCDCMD,clear“;
    dom.GetObject(„CUxD.CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“);

    string url = „http://192.168.150.20/control?cmd=LCD,1,1,Tempertur Garten“;
    dom.GetObject(„CUxD.CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“);

    string Temp_Park = dom.GetObject(„BidCos-RF.JEQ0267520:1.TEMPERATURE“).Value().ToString(2);
    string url = „http://192.168.150.20/control?cmd=LCD,2,1,'“#Temp_Park#“‚ %C2%B0C“;
    dom.GetObject(„CUxD.HM-CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“);

    CuXD ist installiert, ein Gerät unter 28System angelernt mit der bezeichnung CUX2800001. Danach CCU3 neu gebootet.
    wenn ich das Porgramm ausführe passiert leider nichts…
    In CuXD unter Info, Full Syslog fand ich folgendes:

    Jan 29 14:09:14 ccu3-webui local0.err ReGaHss: Error: IseESP::ScriptRuntimeError: string url = „http://192.168.150.20/control?cmd=LCDCMD,clear“; dom.GetObject(„CUxD.CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); string url = „http://192.168.150.20/control?cmd=LCD,1,1,Tempertur Garten“; dom.GetObject(„CUxD.CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); string Temp_Park = dom.GetObject(„BidCos-RF.JEQ0267520:1.TEMPERATURE“).Value().ToString(2); string url = „http://192.1
    8.150.20/control?cmd=LCD,2,1,'“#Temp_Park#“‚ %C2%B0C“; dom.GetObject(„CUxD.HM-CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); [iseESPexec.cpp:12649]
    Jan 29 14:11:10 ccu3-webui local0.err ReGaHss: Error: IseESP::ScriptRuntimeError: string url = „http://192.168.150.20/control?cmd=LCDCMD,clear“; dom.GetObject(„CUxD.CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); string url = „http://192.168.150.20/control?cmd=LCD,1,1,Tempertur Garten“; dom.GetObject(„CUxD.CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); string Temp_Park = dom.GetObject(„BidCos-RF.JEQ0267520:1.TEMPERATURE“).Value().ToString(2); string url = „http://192.1
    8.150.20/control?cmd=LCD,2,1,'“#Temp_Park#“‚ %C2%B0C“; dom.GetObject(„CUxD.HM-CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); [iseESPexec.cpp:12649]
    Jan 29 14:11:15 ccu3-webui local0.err ReGaHss: Error: IseESP::ScriptRuntimeError: string url = „http://192.168.150.20/control?cmd=LCDCMD,clear“; dom.GetObject(„CUxD.CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); string url = „http://192.168.150.20/control?cmd=LCD,1,1,Tempertur Garten“; dom.GetObject(„CUxD.CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); string Temp_Park = dom.GetObject(„BidCos-RF.JEQ0267520:1.TEMPERATURE“).Value().ToString(2); string url = „http://192.1
    8.150.20/control?cmd=LCD,2,1,'“#Temp_Park#“‚ %C2%B0C“; dom.GetObject(„CUxD.HM-CUX2800001:1.CMD_EXEC“).State(„wget -q -O /dev/null ‚“#url#“‚“); [iseESPexec.cpp:12649]
    Die Fehlermeldungen kann ich leider nicht interpretieren…
    Hast du da eine Idee?
    Viele Grüße und Dank für die Mühe!!
    Michael

    Antworten
  8. Michael Meuther
    Michael Meuther sagte:
    24. Januar 2019 um 12:02

    Hallo Werner, ich finde das Projekt super toll! Ich habe das Problem, dass ich einige Temperatursensoren an meine Holzheizunh verbaut habe mit deren Hilfe ich verschiedene Kreisläufe steuere. Ich würde aber gern die Temeraturen sehen können. Dafür sind diese Anzeigen super. Wo erfahre ich allerdings die Datenpunkte der Sensoren (HM-WDS30-T-O)?
    Ein kurzer Hinweiss wäre Super!
    Vielen Dank Michael

    Antworten
    • Werner
      Werner sagte:
      24. Januar 2019 um 19:36

      Hi Michael,

      für den von dir aufgeführten Aktor HM-WDS30-T-O existieren nur zwei Kanäle (0 und 1) mit den nachfolgenden Datenpunkten:

      BidCos-RF:0.CONFIG_PENDING
      BidCos-RF:0.LOWBAT
      BidCos-RF:0.RSSI_DEVICE
      BidCos-RF:0.RSSI_PEER
      BidCos-RF:0.STICKY_UNREACH
      BidCos-RF:0.UNREACH
      BidCos-RF:1.TEMPERATURE

      Ich hoffe das hilft dir und denke lediglich der Datenpunkt für die Temperatur ist für dich von Interesse.

      Gruss
      Werner

      Antworten
  9. Richard
    Richard sagte:
    23. Januar 2019 um 19:17

    Hallo Werner,
    habe das DIY-Homematic LCD Statusdisplay projekt mit erfolg umgesetzt,hat Spaß gemacht, auch das mit den Scripten klappte prima. Ein Frage hätte ich: Bei dir steht die Abfrage der Aktoren im Vordergrund, geht dies auch mit Systemvariablen als Abfrage ??
    Gruß
    Richard

    Antworten
    • Werner
      Werner sagte:
      24. Januar 2019 um 19:38

      Hallo Richard,

      verstehe ich deine Frage richtig, das du auf dem Display den Inhalt einer Systemvariable anzeigen möchtest?

      Gruss
      Werner

      Antworten
      • Richard
        Richard sagte:
        25. Januar 2019 um 18:09

        Hallo Werner, du hast mich schon verstanden, genau das meinte ich. Ich hatte wohl Interesse die Temperatur und Luftfeuchte aus den Variablen, die ich aus den Online Wetterdaten( OWM ) beziehe, mit anzuzeigen.
        Gruß
        Richard

        Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar Antwort abbrechen

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

  •  
Smartkram Shop

Kategorien

Allgemein Apple Apps CCU2 CCU3 Charly debmatic EQ-3 Firmware Foto und Video Gadgets Gaming Geschenke Hardware Hausinstallation Haussicherheit HB-RF-USB Homematic Homematic IP Homematic IP Access Point Homematic IP wired iOS KNX Media Center Mediola Mobile Multimedia Netzwerk Neuigkeiten Nützliches Online Services piVCCU piVCCU3 Provider Rabatte & Co Raspberrymatic Security smarte Beleuchtung Smart Home Software & Co Testberichte Tipps & Tricks Wearables Windows Zubehör
© Copyright - technikkram.net -
  • Link zu Facebook
  • Link zu X
  • Link zu Mail
  • Link zu Rss dieser Seite
Nach oben scrollen Nach oben scrollen Nach oben scrollen