HmIP-WRCD - Textzeile per Skript setzen

HMIP lokale Installation

Moderator: Co-Administratoren

Thomas1984
Beiträge: 68
Registriert: 25.10.2016, 21:50
Hat sich bedankt: 7 Mal
Danksagung erhalten: 3 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von Thomas1984 » 21.10.2020, 19:16

Danke dir, das Tool kannte ich noch nicht, sehe ich mir mal näher an. :D

Gibt es auf der CCU (RaspberryMatic) eine Möglichkeit zu sehen, was die CCU sendet um mal zu gucken, wo plötzliche DC Anstiege her kommen? Müsste doch eigentlich gehen.

blixageld
Beiträge: 1
Registriert: 25.10.2020, 15:47
System: CCU
Hat sich bedankt: 1 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von blixageld » 26.10.2020, 14:24

schrubi64 hat geschrieben:
10.04.2020, 19:28
Eure geleistete Vorarbeit hat es mir ermöglicht, in meinem WRCD die Werte von Temperatur und Luftfeuchte des Aussenfühlers anzuzeigen. Im Moment mache ich nichts Weiteres damit.
Kannst Du mir bitte erklären wie die Wetterdaten vom Fühler in das Display mit dem Skript eingepflegt hast?

Viele Grüße Ingo
Zuletzt geändert von Roland M. am 26.10.2020, 14:32, insgesamt 1-mal geändert.
Grund: Quoting repariert und gekürzt

stefanr
Beiträge: 45
Registriert: 03.02.2019, 19:42
Danksagung erhalten: 1 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von stefanr » 13.12.2020, 18:14

Endlich ist es mir gelungen, die Temperaturen aufs Display zu bekommen wie ich es mir vorgestellt hatte, aber leider habe ich den Effekt, dass es mal geht und mal nicht, ohne dass sich das Script geändert hätte...

Folgendes Script nutze ich:

Code: Alles auswählen

string Geraet = "Displayname"; ! Name von Kanal 3 des Displays

string temp_garten = dom.GetObject("HmIP-RF.0010D8A98AD586:1.ACTUAL_TEMPERATURE").Value().ToString(1);
string temp_hasen = dom.GetObject("HmIP-RF.0010D8A990A265:1.ACTUAL_TEMPERATURE").Value().ToString(1);

string ZEILE_2 = "Temperaturen"; ! Überschrift

! Zusammenbau der String für die jeweiligen Temperaturen
! Nutzung der Systemvariablen "Gradsymbol" mit Wert "^C" für die Darstellung des Grad-Symboles auf dem Display, geht wohl über eine lokale Variable nicht
string ZEILE_3 = "Garten: "#temp_garten#dom.GetObject(ID_SYSTEM_VARIABLES).Get("Gradsymbol").Value();
string ZEILE_4 = "Hasen: "#temp_hasen#dom.GetObject(ID_SYSTEM_VARIABLES).Get("Gradsymbol").Value();

! String in einem zusammenbauen, nur einen Befehl abzusetzen kostet weniger Duty Cycle
string ZeilenRefresh = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#ZEILE_2#",DDID=2,DDC=true},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#ZEILE_3#",DDID=3,DDC=true},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#ZEILE_4#",DDID=4,DDC=true}";

! neuen Inhalt auf dem Display setzen
channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State(ZeilenRefresh);
Manchmal klappt das, manchmal leider eben nicht. Im Syslog finde ich dann folgendes:

Code: Alles auswählen

Dec 13 17:58:27 homematic-raspi local0.warn ReGaHss: WARNING: XMLRPC 'setValue': rpcClient.isFault() failed (url: xmlrpc://127.0.0.1:32010, params: {"002A5A49A6D6F1:3","COMBINED_PARAMETER","{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS=Temperaturen,DDID=2,DDC=true},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS=Garten: 6.7^C,DDID=3,DDC=true},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS=Hasen: 7.4^C,DDID=4,DDC=true}"}, result: [faultCode:-1,faultString:"Generic error (UNREACH)"]) [CallXmlrpcMethod():iseXmlRpc.cp
:2608]
Dec 13 17:58:27 homematic-raspi local0.err ReGaHss: ERROR: XMLRPC 'setValue' call failed (interface: 1009, params: {"002A5A49A6D6F1:3","COMBINED_PARAMETER","{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS=Temperaturen,DDID=2,DDC=true},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS=Garten: 6.7^C,DDID=3,DDC=true},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS=Hasen: 7.4^C,DDID=4,DDC=true}"}) [CallSetValue():iseXmlRpc.cpp:1505]
Dec 13 17:58:27 homematic-raspi local0.err ReGaHss: ERROR: rpc.CallSetValue failed; address = 002A5A49A6D6F1:3 [WriteValue():iseDOMdpHSS.cpp:76]
Hat es ggf. damit zu tun, dass das Display batteriebetrieben ist und eben manchmal nicht erreicht werden kann?
Was könnte noch das Problem sein?

Grüße,
Stefan

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von jp112sdl » 13.12.2020, 18:31

stefanr hat geschrieben:
13.12.2020, 18:14
Hat es ggf. damit zu tun, dass das Display batteriebetrieben ist und eben manchmal nicht erreicht werden kann?
Die Antwort steht in deinem Beitrag
stefanr hat geschrieben:
13.12.2020, 18:14

Code: Alles auswählen

"Generic error (UNREACH)"

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

stefanr
Beiträge: 45
Registriert: 03.02.2019, 19:42
Danksagung erhalten: 1 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von stefanr » 14.12.2020, 12:44

Ok, dann müsste ich ja vorher immer entsprechend ein Wake-on-Radio Paket absetzen wenn ich die Beschreibung hier richtig verstehe:
Ein weiterer Empfangsmodus speziell für batteriebetriebene Homematic IP Geräte ist Wake-On-Radio. Hier lässt sich der Empfänger „aufwecken“, um Funkdaten zu empfangen. Während der restlichen Zeit verweilt der Empfänger im energiesparenden „Schlafmodus“. Dank dieser Funktion kann zum Beispiel der Homematic IP Fenster- und Türkontakt die Heizkörperthermostate eines Raums unmittelbar herunterregeln, wenn ein geöffnetes Fenster erkannt wurde. Sind die Signale für ein anderes Homematic IP Gerät bestimmt, kehrt der Empfänger wieder in den energiesparenden „Schlafmodus“ zurück.
Wie lautet denn der entsprechende Befehl? Ich konnte leider imer nur obige Umschreibung bzw. Angaben von Sendefrequenzen finden über die das realisiert wird, aber nirgend eine konkrete Umsetzung, wie man solch ein Paket absetzen könnte...

Viele Grüße,
Stefan

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von MichaelN » 14.12.2020, 13:02

Du brauchst keinen speziellen Befehl. Dein Display ist wohl sporadisch nicht erreichbar. Kann natürlich an zur Neige gehenden Batterien liegen. Das kannst Du durch Abfragen der Batteriespannung herausfinden. Aber wenn Empfang nicht gestört, dann reagiert das Display auch auf jeden gesendeten Befehl.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

DJDieter
Beiträge: 311
Registriert: 11.01.2008, 14:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 33 Mal
Danksagung erhalten: 19 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von DJDieter » 14.12.2020, 13:10

Ich bin nicht der Experte, aber ich denke, da gibt's ein Problem mit den Anführungszeichen in deinem string ZeilenRefresh.
Zuletzt geändert von DJDieter am 14.12.2020, 14:05, insgesamt 1-mal geändert.
Raspberry PI 4 mit RaspberryMatic, 4 LAN-Gateways, zwei HmIP-HAP und 248 Geräte
CUxD mit 357 Kanälen auf 64 Geräten
Zusatzsoftware: XML-API, CUxD-Highcharts, NEO-Server, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, CCU-Historian, JB-HP-Devices, HomeKit HomeMatic
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von MichaelN » 14.12.2020, 13:14

Ich sehe da auf den ersten, und auch auf den 2. Blick, keinen Fehler.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

DJDieter
Beiträge: 311
Registriert: 11.01.2008, 14:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 33 Mal
Danksagung erhalten: 19 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von DJDieter » 14.12.2020, 13:23

Sein String wird meines Erachtens als Zeichenkette interpretiert und als übergeben.
Da fehlen dann die Anführungszeichen:

channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State( " {DDBC=...DDC=true} " );

Aber wie gesagt, ich bin kein Experte.
Zuletzt geändert von DJDieter am 14.12.2020, 14:06, insgesamt 1-mal geändert.
Raspberry PI 4 mit RaspberryMatic, 4 LAN-Gateways, zwei HmIP-HAP und 248 Geräte
CUxD mit 357 Kanälen auf 64 Geräten
Zusatzsoftware: XML-API, CUxD-Highcharts, NEO-Server, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, CCU-Historian, JB-HP-Devices, HomeKit HomeMatic
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von MichaelN » 14.12.2020, 13:26

DJDieter hat geschrieben:
14.12.2020, 13:23
Aber wie gesagt, ich bin kein Experte.
Stimmt
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Antworten

Zurück zu „HomeMatic IP mit CCU“