HmIP-WRCD - Textzeile per Skript setzen

HMIP lokale Installation

Moderator: Co-Administratoren

EnricoL
Beiträge: 266
Registriert: 11.12.2017, 17:46
Hat sich bedankt: 26 Mal
Danksagung erhalten: 5 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von EnricoL » 01.11.2022, 18:59

Hallo Michael,

Entschuldigung!
Ich löste das Skript per Taste 1 am HmIP-WRCD aus. Wenn es läuft, soll es per Zeit alle 20 min auslösen. So das es 3 mal in einer Stunde ist.
Was passiert! Wenn ich die Taste drücke. Wird das ganze Display schwarz und flackert schwarz und weiß. Dann kommt das alte Bild wieder.
Mit den Zeichen ^, habe ich ihr gelesen. Das es die kleine Null bei Grad kommt.
viewtopic.php?f=60&t=55269&start=170#p684261
.



Gruß Enrico
Zuletzt geändert von EnricoL am 03.11.2022, 20:36, insgesamt 1-mal geändert.

Oliver900
Beiträge: 278
Registriert: 01.11.2021, 14:32
System: CCU und Access Point
Hat sich bedankt: 86 Mal
Danksagung erhalten: 23 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von Oliver900 » 01.11.2022, 19:06

Da steht aber auch das es mit der orig CCU nicht geht.
CCU3 mit RaspberryMatic

EnricoL
Beiträge: 266
Registriert: 11.12.2017, 17:46
Hat sich bedankt: 26 Mal
Danksagung erhalten: 5 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von EnricoL » 01.11.2022, 19:18

Habe das Zeichen ^ vor mein C wieder gelöscht.
Aber bleibt das gleich!
Was passiert! Wenn ich die Taste drücke. Wird das ganze Display schwarz und flackert schwarz und weiß. Dann kommt das alte Bild wieder.

Gruß Enrico

MichaelN
Beiträge: 9654
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von MichaelN » 01.11.2022, 19:35

Hat das Display jemals funktioniert?
vielleicht erstmal klein anfangen und nur 1 Zeile ändern?
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 +++

Oliver900
Beiträge: 278
Registriert: 01.11.2021, 14:32
System: CCU und Access Point
Hat sich bedankt: 86 Mal
Danksagung erhalten: 23 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von Oliver900 » 02.11.2022, 05:14

Was ist denn das alte Bild und was meinst du soll es anzeigen?? Meine Glaskugel aktualisiert sich gerade nicht richtig; ist wohl im Burst Limit. :mrgreen:
CCU3 mit RaspberryMatic

EnricoL
Beiträge: 266
Registriert: 11.12.2017, 17:46
Hat sich bedankt: 26 Mal
Danksagung erhalten: 5 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von EnricoL » 02.11.2022, 14:43

Hallo,

ich habe ein Programm was das ganze Display löscht und sieht dann weiß aus. Das rufe ich durch eine Taste auf.
6666.jpg
Dann drückte ich auf den WRCD die Taste 1 und es soll das Skript ablaufen.

Code: Alles auswählen

! WRCD beschreiben mit Wetterdaten
string Geraet = "Display Büro 1:3"; ! kompl. Kanalname einsetzen

string zeile1 = "Entfernen 1";
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile1#",DDID=1}";

string zeile2 = "Temp " # datapoints.Get("HmIP-RF.000ED709B2848F:1.ACTUAL_TEMPERATURE" ).Value().ToString(1)# " C";
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile2#",DDID=2}";

string zeile3 = "Luft " # datapoints.Get("HmIP-RF.000ED709B2848F:1.HUMIDITY" ).Value().ToString(1)# " %";
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile3#",DDID=3,DDC=true}";

! string zeile4 = "Sonne " # datapoints.Get("HmIP-RF.000D58A98FAE02:1.CURRENT_ILLUMINATION" ).Value().ToString(1)# "";
! string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile4#",DDID=4,}";

! string zeile5 = "   ";
! string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile5#",DDID=5,DDC=true}";

! neuen Inhalt setzen
channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State(DisplayInhaltNeu);
Habe mit den ! stück für stück die Zeilen dazu genommen.
Wenn man 3 Zeilen dazu hat, kommt nur die 3 Zeile. Die 1 und 2 bleiben leer.

Gruß Enrico

MichaelN
Beiträge: 9654
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von MichaelN » 02.11.2022, 16:12

Und keine Kommunikationsstörungen?
Und keine Fehler im Fehlerprotokoll?
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 +++

EnricoL
Beiträge: 266
Registriert: 11.12.2017, 17:46
Hat sich bedankt: 26 Mal
Danksagung erhalten: 5 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von EnricoL » 02.11.2022, 17:40

Es kommt keine Kommunikationsstörungen!
Mit dem Fehlerprotokoll weiß ich nicht, nach was ich suchen soll.
Habe noch mal das andere Skript benutzt!

Code: Alles auswählen

! WRCD beschreiben mit Wetterdaten
string Geraet = "Display Büro 1:3"; ! kompl. Kanalname einsetzen

string zeile1 = "Entfernen";
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile1#",DDID=1}";

string zeile2 = "Temp " # channels.Get("Balkon Außenthermometer:1").DPByHssDP("ACTUAL_TEMPERATURE").Value().ToString(1) # " C"; 
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile2#",DDID=2}";

string zeile3 = "Luft " # channels.Get("Balkon Außenthermometer:1").DPByHssDP("HUMIDITY").Value().ToString(1) # " %";
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile3#",DDID=3}";

string zeile4 = "Sonne " # channels.Get("Balkon Lichtsensor:1").DPByHssDP("CURRENT_ILLUMINATION").Value().ToString(1) # "";;
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile4#",DDID=4,DDC=true}";


! neuen Inhalt setzen
channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State(DisplayInhaltNeu);
Da schreibt er nur die 4 Zeile und die anderen, bleiben leer.


Gruß Enrico
Zuletzt geändert von EnricoL am 03.11.2022, 20:36, insgesamt 1-mal geändert.

Tyfys
Beiträge: 544
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 123 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von Tyfys » 02.11.2022, 20:05

Ich habe zwar das Gerät nicht, aber...
So kann das auch nicht funktionieren.

Es wird 4 mal die Variable DisplayInhaltNeu definiert.
Mit jedem string DisplayInhaltNeu = "{DDBC=WHITE....... ist natürlich der vorher zugewiesene Inhalt gelöscht.

Dann wird nur der zuletzt definierte Inhalt (Zeile 4) an das Gerät übertragen.

Ich würde zumindest nach jeder Zeilen-Definition diese auch an das Gerät senden :

Code: Alles auswählen

! WRCD beschreiben mit Wetterdaten
string Geraet = "Display Büro 1:3"; ! kompl. Kanalname einsetzen

string zeile1 = "Entfernen";
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile1#",DDID=1}";
! neuen Inhalt setzen
channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State(DisplayInhaltNeu); 

string zeile2 = "Temp " # channels.Get("Balkon Außenthermometer:1").DPByHssDP("ACTUAL_TEMPERATURE").Value().ToString(1) # " C"; 
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile2#",DDID=2}";
! neuen Inhalt setzen
channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State(DisplayInhaltNeu);

string zeile3 = "Luft " # channels.Get("Balkon Außenthermometer:1").DPByHssDP("HUMIDITY").Value().ToString(1) # " %";
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile3#",DDID=3}";
! neuen Inhalt setzen
channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State(DisplayInhaltNeu);

string zeile4 = "Sonne " # channels.Get("Balkon Lichtsensor:1").DPByHssDP("CURRENT_ILLUMINATION").Value().ToString(1) # "";;
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile4#",DDID=4,DDC=true}";
! neuen Inhalt setzen
channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State(DisplayInhaltNeu);
Möglicherweise kann man das auch in einem Rutsch schicken, indem man die Zeilen verkettet mit
DisplayInhaltNeu = DisplayInhaltNeu # "{DDBC=WHITE..... :

Code: Alles auswählen

! WRCD beschreiben mit Wetterdaten
string Geraet = "Display Büro 1:3"; ! kompl. Kanalname einsetzen

string zeile1 = "Entfernen";
string DisplayInhaltNeu = "{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile1#",DDID=1}";

string zeile2 = "Temp " # channels.Get("Balkon Außenthermometer:1").DPByHssDP("ACTUAL_TEMPERATURE").Value().ToString(1) # " C"; 
DisplayInhaltNeu = DisplayInhaltNeu # ",{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile2#",DDID=2}";

string zeile3 = "Luft " # channels.Get("Balkon Außenthermometer:1").DPByHssDP("HUMIDITY").Value().ToString(1) # " %";
DisplayInhaltNeu = DisplayInhaltNeu #  ",{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile3#",DDID=3}";

string zeile4 = "Sonne " # channels.Get("Balkon Lichtsensor:1").DPByHssDP("CURRENT_ILLUMINATION").Value().ToString(1) # "";;
DisplayInhaltNeu = DisplayInhaltNeu #  ",{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS="#zeile4#",DDID=4,DDC=true}";


! neuen Inhalt setzen
channels.Get(Geraet).DPByHssDP("COMBINED_PARAMETER").State(DisplayInhaltNeu);
Gruß
Harry

MichaelN
Beiträge: 9654
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: HmIP-WRCD - Textzeile per Skript setzen

Beitrag von MichaelN » 02.11.2022, 21:40

:shock: du hast natürlich vollkommen recht. Nach so einem grundlegenden Fehler habe ich gar nicht gesucht.
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“