Ich habe eine PV Anlage mit einem Kostal Piko 5.5 (mit aktueller Firmware ) in Betrieb.
Ich möchte gerne Aktuelle Werte des Wechselrichters in eine Systemvariable in die CCU schreiben, ohne iobrocker oder ähnliches.
Ich habe schon viel im Forum gelesen was mich aber nicht wirklich weiter gebracht hat, da immer noch ein zusätzlicher Rechner mit verwendet wird, was ich nicht möchte.
Ich hoffe das ich auf dem richtigen weg bin indem ich den Quelltext der Seite auslese und dort nach meinem Ergebniss suche.
Nun die Farge wie sowas aufgebaut ist, hier mal mein Skript welches ich mir zusammen geklaut habe :
Code: Alles auswählen
var url = "http://10x.xxx.xxx.xxx/#/home";
dom.GetObject("CUxD.CUX2801002:1.CMD_SETS").State("wget --user=pvserver --password=XXXXXXXXX -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801002:1.CMD_QUERY_RET").State(1);
string stdout = dom.GetObject("CUxD.CUX2801002:1.CMD_RETS").State();
!WriteLine(stdout);
!string word = "Eigenverbrauch";
string word = "Eigenverbrauch";
integer word_laenge = word.Length();
integer word_position = stdout.Find(word);
!WriteLine(word_laenge);
!WriteLine(word_position);
string daten = stdout.Substr((word_position + word_laenge +1), 61);
!WriteLine(daten);
integer word_position = daten.Find(word);
!WriteLine(word_position);
daten = daten.Substr(53, (word_position -1));
!!!!! da hab ich was Neues gemacht
daten = daten.Substr(4, 4);
WriteLine(daten);
!if (daten == "x x ") {WriteLine("Ventile auf, lass Sonne rein!")};
if (daten == "x x ") {daten = "0";}
if (daten == "0 /t") {daten = "0";}
WriteLine(daten);
dom.GetObject("Solar_Power").State(daten);
Kann mir jemand die einzelnen Schritte erklären die im Skript gemacht werden ?
- Wie sucht das Skript nach meinem Wort
- Wie sucht das Skript nach meinem Ergebnis?
Ich habe schon unzählige Sachen versucht, wenn ich den Quelltext komplett nehme und ich mich nicht verzählt habe (gibt es hier eigentlich ne sinnvolle Variante zum Zählen ?) müsste das gesuchte Wort (Eigenverbrauch ) bei stelle 34646 beginnen und 38 stellen nach Eigenverbrauch mein Wert (den ich in die SV schreiben möchte) beginnen der bis zu 5 stellen Lang ist