http mit Cuxd absetzen.

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

Moderator: Co-Administratoren

superuser002
Beiträge: 693
Registriert: 30.08.2013, 09:55
Hat sich bedankt: 1 Mal
Danksagung erhalten: 27 Mal

Re: http mit Cuxd absetzen.

Beitrag von superuser002 » 29.12.2022, 18:08

Henke hat geschrieben:
29.12.2022, 17:38
Klar, wenn du mit fixer Länge schneidest.

Code: Alles auswählen

var R = RGB.StrValueByIndex( ",", 0);
var G = RGB.StrValueByIndex( ",", 1);
var B = RGB.StrValueByIndex( ",", 2);
Ok, das habe ich so weit hin. Aber irgendwie klappt das noch nicht, dass die richtigen Werte gesendet werden.
Kann sich mal jemand das Skript anschauen?

Code: Alles auswählen

string wert = dom.GetObject("CUxD.CUX2801002:1.RGBW").Value();
string RGB = wert.StrValueByIndex(")", 0).StrValueByIndex("(", 1);
string G = RGB.StrValueByIndex(",", 0).StrValueByIndex(",", 0);
string B = RGB.StrValueByIndex(",", 1).StrValueByIndex(",", 0);
string R = RGB.StrValueByIndex(",", 2).StrValueByIndex(",", 0);

string url="http://192.168.21.239/win&CL=" # R # G # B;
!string url="http://192.168.21.239/win&G=" # G;
!string url="http://192.168.21.239/win&B=" # B;

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");

WriteLine("Source-Value: "# RGB);
WriteLine("Source-Value R: "# R);
WriteLine("Source-Value G: "# G);
WriteLine("Source-Value B: "# B);
dom.GetObject("SRGB").State(wert);

Benutzeravatar
Baxxy
Beiträge: 7836
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 454 Mal
Danksagung erhalten: 1492 Mal

Re: http mit Cuxd absetzen.

Beitrag von Baxxy » 29.12.2022, 18:14

Gib doch mal eine Beispielausgabe für:

Code: Alles auswählen

string wert
Damit kann man dann besser selbst testen.

Edit:
Gefunden, war ja im Thread versteckt.
Die url sieht mit dem Beispiel so aus:

Code: Alles auswählen

[url               ](string ): http://192.168.21.239/win&CL=3221232
Das verdaut dein RGB-Stripe vermutlich (laut den Beispielen) nicht.


superuser002
Beiträge: 693
Registriert: 30.08.2013, 09:55
Hat sich bedankt: 1 Mal
Danksagung erhalten: 27 Mal

Re: http mit Cuxd absetzen.

Beitrag von superuser002 » 29.12.2022, 20:27

Henke hat geschrieben:
29.12.2022, 18:20
# R # G # B
gibt eine komische Zahl.

.StrValueByIndex(",", 0)
Wird nix machen.

ungetestet 8)
Doch, es kommt was raus, leider die falschen Farben.🤷‍♂️

superuser002
Beiträge: 693
Registriert: 30.08.2013, 09:55
Hat sich bedankt: 1 Mal
Danksagung erhalten: 27 Mal

Re: http mit Cuxd absetzen.

Beitrag von superuser002 » 29.12.2022, 21:08

Habe es jetzt so gemacht.

Code: Alles auswählen

 string wert = dom.GetObject("CUxD.CUX2801002:1.RGBW").Value();
string RGB = wert.StrValueByIndex(")", 0).StrValueByIndex("(", 1);
string R = RGB.StrValueByIndex(",", 0).StrValueByIndex(",", 0);
string G = RGB.StrValueByIndex(",", 1).StrValueByIndex(",", 0);
string B = RGB.StrValueByIndex(",", 2).StrValueByIndex(",", 0);

string url="http://192.168.21.239/win&R=" # R;
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");
string url="http://192.168.21.239/win&G=" # G;
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");
string url="http://192.168.21.239/win&B=" # B;
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");

WriteLine("Source-Value: "# RGB);
WriteLine("Source-Value R: "# R);
WriteLine("Source-Value G: "# G);
WriteLine("Source-Value B: "# B);
dom.GetObject("SRGB").State(wert);
Ob das alles so richtig ist, weiß ich nicht. Aber die Farben stimmen jetzt . Vielleicht kann man das Skript kompakter machen ?

Gruß Holger

Tyfys
Beiträge: 380
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 18 Mal
Danksagung erhalten: 75 Mal

Re: http mit Cuxd absetzen.

Beitrag von Tyfys » 29.12.2022, 22:00

Wenn es klappt sollte es wohl so richtig sein.

Möglicherweise kann man alle Wert auf einmal senden.
Könntest ja noch dies probieren :

Code: Alles auswählen

string url="http://192.168.21.239/win&R="#R#"&G="#G#"&B="#B;
!WriteLine(url);
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");
Gruß
Harry

Antworten

Zurück zu „CUxD“