CUxD, Fehler im ersten Scriptversuch?

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
Eselfe
Beiträge: 27
Registriert: 01.12.2016, 21:45

CUxD, Fehler im ersten Scriptversuch?

Beitrag von Eselfe » 27.06.2019, 18:01

Hallo zusammen,

ich habe mich heute mal an mein erstes Script-Projekt gewagt. Eigentlich mehr Copy & Paste :lol: aber jeder fängt ja glaub ich mal klein an. Ziel soll es sein Werte (Temperatur, Luftfeuchte, ...) auszulesen und an ein Display (mit angeschlossenem Wemos d1 mini) zu senden. Das Display ist ordnungsgemäß mit dem Wemos verbunden und konfiguriert. Per HTTP kann ich direkt Text aufs Display senden. Soweit alles gut.

Allerdings sendet das CCU Programm keine Werte/keinen Text aufs Display. Das Script hierfür schaut wie folgt aus:

Code: Alles auswählen

! Display löschen
string url = "http://192.168.10.46/control?cmd=LCDCMD,clear";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null ´"#url#"´");

! Zeile 1 - Überschrift
string url = "http://192.168.10.46/control?cmd=LCD,1,1,  aktuelles Wetter";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null ´"#url#"´");

! Zeile 2 - Temperatur
string url = "http://192.168.10.46/control?cmd=LCD,2,1,Temperatur %C2%B0C";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null ´"#url#"´");

string tempaussen = dom.GetObject("BidCos-RF.JPTH10I012:1.TEMPERATURE").Value().ToString(2);
string url = "http://192.168.10.46/control?cmd=LCD,2,14,'"#tempaussen#"´ ";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null ´"#url#"´");

! Zeile 3 - Luftfeuchte
string url = "http://192.168.10.46/control?cmd=LCD,3,1,Luftfeuchte %";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null ´"#url#"´");

string humaussen = dom.GetObject("BidCos-RF.JPTH10I012:1.HUMIDITY").Value().ToString(2);
string url = "http://192.168.10.46/control?cmd=LCD,3,14,'"#humaussen#"´ Lux";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null ´"#url#"´");

! Zeile 4 - Helligkeit
string url = "http://192.168.10.46/control?cmd=LCD,4,1,Helligkeit lm";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null ´"#url#"´");

string luxaussen = dom.GetObject("BidCos-RF.OEQ0229871:1.LUX").Value().ToString(2);
string url = "http://192.168.10.46/control?cmd=LCD,4,14,'"#luxaussen#"´ ";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null ´"#url#"´");
Habe ich mich da irgendwo "verkopiert"? :|

Habe die Homematic auf einem Rapsi 3 laufen, aktuelle Version: 3.45.7.20190622 - CUxD Version 2.3.2 - XML-API 1.20

Bitte helft mir :)
VG
Markus

Baxxy
Beiträge: 66
Registriert: 18.12.2018, 15:45
Danksagung erhalten: 4 Mal

Re: CUxD, Fehler im ersten Scriptversuch?

Beitrag von Baxxy » 27.06.2019, 18:32

Hallo,
bei mir sieht das "fast" genauso aus.

Code: Alles auswählen

string SonneAuf = dom.GetObject("Sonnenaufgang").Value().ToString(2);
string SonneUnt = dom.GetObject("Sonnenuntergang").Value().ToString(2);
string url = "http://192.168.116.161/control?cmd=LCD,3,14,'"#SonneAuf#"'";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
string url = "http://192.168.11.11/control?cmd=LCD,4,14,'"#SonneUnt#"'";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
Leider bin ich bei "finde den Unterschied" nicht so gut. :shock:

Direkter Vergleich:

Code: Alles auswählen

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

string url = "http://192.168.11.11/control?cmd=LCDCMD,clear";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
Aber auf den zweiten Blick würde ich sagen es hat was mit... ' und ´ zu tun.

Hoffe das hilft weiter.
Grüße
Baxxy

Eselfe
Beiträge: 27
Registriert: 01.12.2016, 21:45

Re: CUxD, Fehler im ersten Scriptversuch?

Beitrag von Eselfe » 27.06.2019, 19:35

Hey Baxxy,

dankeeeschööööön! Volltreffer. Es waren die komischen ` welche falsch waren, hab Deinen Code kopiert, passend abgeändert und schon rennt das Display.

Gruß
Markus

nicolas-eric
Beiträge: 3144
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel
Hat sich bedankt: 9 Mal
Danksagung erhalten: 4 Mal

Re: CUxD, Fehler im ersten Scriptversuch?

Beitrag von nicolas-eric » 27.06.2019, 19:46

Eselfe hat geschrieben:
27.06.2019, 19:35
Hey Baxxy,

dankeeeschööööön! Volltreffer. Es waren die komischen ` welche falsch waren, hab Deinen Code kopiert, passend abgeändert und schon rennt das Display.

Gruß
Markus
Die ` entstehen gerne mal, wenn man am Mac mit Text Edit was bearbeitet, der ändert dann alle senkrechten ' um, neben denen man was editiert hat.

jp112sdl
Beiträge: 3192
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 22 Mal
Danksagung erhalten: 47 Mal
Kontaktdaten:

Re: CUxD, Fehler im ersten Scriptversuch?

Beitrag von jp112sdl » 27.06.2019, 19:50

nicolas-eric hat geschrieben:
27.06.2019, 19:46
Die ` entstehen gerne mal, wenn man am Mac mit Text Edit was bearbeitet, der ändert dann alle senkrechten ' um, neben denen man was editiert hat.
Das kann man einstellen, bei Tastatur:
Bildschirmfoto 2019-06-27 um 19.49.40.png

VG,
Jérôme

Eselfe
Beiträge: 27
Registriert: 01.12.2016, 21:45

Re: CUxD, Fehler im ersten Scriptversuch?

Beitrag von Eselfe » 27.06.2019, 20:29

Baxxy, hast Du eine Idee, wie ich es hinbekomme, dass die Bezeichnung Links ab Zelle 1 steht (Standard) und die Werte rechtsbündig ab Zelle 20 (nach links) geschrieben werden?
Gerade die Helligkeit schwankt ja extrem von ein- bis sechsstellig. Würde optisch schöner aussehen, finde ich :D

nicolas-eric
Beiträge: 3144
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel
Hat sich bedankt: 9 Mal
Danksagung erhalten: 4 Mal

Re: CUxD, Fehler im ersten Scriptversuch?

Beitrag von nicolas-eric » 27.06.2019, 20:40

jp112sdl hat geschrieben:
27.06.2019, 19:50
nicolas-eric hat geschrieben:
27.06.2019, 19:46
Die ` entstehen gerne mal, wenn man am Mac mit Text Edit was bearbeitet, der ändert dann alle senkrechten ' um, neben denen man was editiert hat.
Das kann man einstellen, bei Tastatur:
Bildschirmfoto 2019-06-27 um 19.49.40.png
Das probiere ich gleich mal aus. Danke!
Komischerweise passiert das bei mir nur in TextEdit und in Pages z. B. nicht.

Baxxy
Beiträge: 66
Registriert: 18.12.2018, 15:45
Danksagung erhalten: 4 Mal

Re: CUxD, Fehler im ersten Scriptversuch?

Beitrag von Baxxy » 27.06.2019, 23:01

Eselfe hat geschrieben:
27.06.2019, 20:29
Baxxy, hast Du eine Idee, wie ich es hinbekomme...
Puhh, da bin ich überfordert. Ich benutze es auch nur "von links nach rechts". Eine Grundlegende Idee dazu hätte ich aber.
Man könnte vielleicht die Länge des strings #luxaussen# erfassen und dann mit if then Schleifen den entsprechenden Befehl senden.

z.B.: 1000 lux sind 4 Zeichen, also Stringlänge 4. Wenn Stringlänge 4 dann:

Code: Alles auswählen

string url = "http://192.168.10.46/control?cmd=LCD,4,17,'"#luxaussen#"'";
oder 500 lux sind 3 Zeichen, also Stringlänge 3. Wenn Stringlänge 3 dann:

Code: Alles auswählen

string url = "http://192.168.10.46/control?cmd=LCD,4,18,'"#luxaussen#"'";
Ich weiß nicht ob das machbar ist, aber wenn dann ist das eher was für die Scripting Profis hier im Forum, da bin ich wirklich raus.
:roll:

Grüße
Baxxy

Antworten

Zurück zu „CUxD“