Von PV Anlage Werte auslesen und in Variable schreiben
Moderator: Co-Administratoren
-
- Beiträge: 20
- Registriert: 23.08.2017, 12:34
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 1 Mal
Von PV Anlage Werte auslesen und in Variable schreiben
Hallo zusammen,
ich benötige Hilfe bei einem Script das mir Leistungswerte aus einer HTTP Seite eines Wechselrichters ausliest und in entsprechende variablen schreibt, damit ich mir diese Anzeigen lassen kann und weitere Aktionen ausführen kann.
Es handelt sich dabei um einen Wechselrichter Deye Sun600G3 (Baugleich mit dem Bosswerk mi600).
Bei diesem kann man per http://IPdesWelchelrichters/status.html inkl Benutzername und Passwort eine Statusseite aufrufen.
Dort stehen dann die benötigten Werte im Quelltext der Seite so drin:
var webdata_now_p = "11";
var webdata_today_e = "0.0";
var webdata_total_e = "0.0";
Diese Werte möchte ich suchen, auslesen und in die Variablen (SV_PV_Erzeugung_Aktuell, SV_PV_Erzeugung_Tag, SV_PV_Erzeugung-Total) schreiben,
Zu meiner schande muss ich gestehen dass Homematic-Scripte und ich keine Freunde werden.
Habe mir viele Scripte schon angeschaut und versucht umzubauen, jedoch leider ohne Erfolg.
Vielleicht Erbamt sich jemand und kann mir helfen.
Vielen Dank schon mal für eure Mühe.....
ich benötige Hilfe bei einem Script das mir Leistungswerte aus einer HTTP Seite eines Wechselrichters ausliest und in entsprechende variablen schreibt, damit ich mir diese Anzeigen lassen kann und weitere Aktionen ausführen kann.
Es handelt sich dabei um einen Wechselrichter Deye Sun600G3 (Baugleich mit dem Bosswerk mi600).
Bei diesem kann man per http://IPdesWelchelrichters/status.html inkl Benutzername und Passwort eine Statusseite aufrufen.
Dort stehen dann die benötigten Werte im Quelltext der Seite so drin:
var webdata_now_p = "11";
var webdata_today_e = "0.0";
var webdata_total_e = "0.0";
Diese Werte möchte ich suchen, auslesen und in die Variablen (SV_PV_Erzeugung_Aktuell, SV_PV_Erzeugung_Tag, SV_PV_Erzeugung-Total) schreiben,
Zu meiner schande muss ich gestehen dass Homematic-Scripte und ich keine Freunde werden.
Habe mir viele Scripte schon angeschaut und versucht umzubauen, jedoch leider ohne Erfolg.
Vielleicht Erbamt sich jemand und kann mir helfen.
Vielen Dank schon mal für eure Mühe.....
-
- Beiträge: 10194
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 733 Mal
- Danksagung erhalten: 1754 Mal
Re: Von PV Anlage Werte auslesen und in Variable schreiben
Gibt es auch eine API, die JSON liefert?
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 +++
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 +++
- Black
- Beiträge: 5634
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 456 Mal
- Danksagung erhalten: 1126 Mal
- Kontaktdaten:
Re: Von PV Anlage Werte auslesen und in Variable schreiben
Wird diese Seite nicht nur alle paar Minuten aktualisiert ?
Wenn du schnelle Daten brauchst...
Shelly und dann per ccujack direkt per mqtt in die ccu (geht im Sekundentakt) alternativ shelly per mqtt in eine der kostenlosen middlewares.
Das auslesen geht per http auch, ist aber string gebastel.
Black
Wenn du schnelle Daten brauchst...
Shelly und dann per ccujack direkt per mqtt in die ccu (geht im Sekundentakt) alternativ shelly per mqtt in eine der kostenlosen middlewares.
Das auslesen geht per http auch, ist aber string gebastel.
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 20
- Registriert: 23.08.2017, 12:34
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 1 Mal
Re: Von PV Anlage Werte auslesen und in Variable schreiben
Mir würden die Daten alle 10-15 Minuten reichen.
Eine Echtzeitabfrage ist soweit ich weiß eh nicht möglich, da die Anlage die Daten nur alle ca. 5 Minuten aktualisiert.
Ich hätte gerne die Daten aus der Anlage ohne weitere Hardwarekomponenten, denn davon habe ich schon genug
Daher bleibt mir nur die Lösung über das Auslesen der HTTP Seite.
Eine Echtzeitabfrage ist soweit ich weiß eh nicht möglich, da die Anlage die Daten nur alle ca. 5 Minuten aktualisiert.
Ich hätte gerne die Daten aus der Anlage ohne weitere Hardwarekomponenten, denn davon habe ich schon genug
Daher bleibt mir nur die Lösung über das Auslesen der HTTP Seite.
-
- Beiträge: 10194
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 733 Mal
- Danksagung erhalten: 1754 Mal
Re: Von PV Anlage Werte auslesen und in Variable schreiben
Dafür habe ich keine passende Lösung in der Schublade.
Aber es gibt da ein paar Ansaätze
Alchy hat hier das Prinzip beshcrieben:
viewtopic.php?f=19&t=71670#p697320
Und hier gibt es ein Beispiel:
viewtopic.php?f=41&t=60869&start=10#p604270
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 +++
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 +++
-
- Beiträge: 10194
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 733 Mal
- Danksagung erhalten: 1754 Mal
Re: Von PV Anlage Werte auslesen und in Variable schreiben
Quick & dirty
Ggf musst Du Mit den Zahlen 4 und 5 etwas rumspielen
Gepsiehcert wird in einer Systemvariable, die genauso heißt wie der Suchbegriff, die musst Du vorher anlegen
Unter "Skript testen" ausgeführt sollte eine Ausgabe erscheinen, die beim anpassen der Korretkurwerte hilft
Code: Alles auswählen
string return;
string abfrage_url = "http://xxxxx";
system.Exec("wget --timeout=10 -q -O - '" # abfrage_url # "'", &return);
string Suchbegriff = "webdata_now_p";
integer anfang = return.Find(Suchbegriff) + Suchbegriff.Length() + 4;
var Wert = return.Substr(anfang,5).ToInteger();
WriteLine(return.Substr(anfang,5)) ;
dom.GetObject(ID_SYSTEM_VARIABLES). Get(Suchbegriff).State(Wert);
Gepsiehcert wird in einer Systemvariable, die genauso heißt wie der Suchbegriff, die musst Du vorher anlegen
Unter "Skript testen" ausgeführt sollte eine Ausgabe erscheinen, die beim anpassen der Korretkurwerte hilft
Zuletzt geändert von MichaelN am 10.01.2023, 14:30, insgesamt 2-mal geändert.
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 +++
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 +++
-
- Beiträge: 20
- Registriert: 23.08.2017, 12:34
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 1 Mal
Re: Von PV Anlage Werte auslesen und in Variable schreiben
xxxx habe ich natürlich durch die passende IP ersetzt!
Diese Fehlermeldung erhalte ich:
Error 1 at row 5 col 77 near ^() + 4;
var Wert = return.Substr(anfang,5).ToInteger();
WriteLine(return.Substr
Parse following code failed:
string return;
string abfrage_url = "http://xxxx/status.html";
system.Exec("wget --timeout=10 -q -O - '" # abfrage_url # "'", &return);
string Suchbegriff = "webdata_now_p";
integer anfang = return.Find(Suchbegriff)+Suchbegriff. Lenght() + 4;
var Wert = return.Substr(anfang,5).ToInteger();
WriteLine(return.Substr(anfang,5)) ;
Diese Fehlermeldung erhalte ich:
Error 1 at row 5 col 77 near ^() + 4;
var Wert = return.Substr(anfang,5).ToInteger();
WriteLine(return.Substr
Parse following code failed:
string return;
string abfrage_url = "http://xxxx/status.html";
system.Exec("wget --timeout=10 -q -O - '" # abfrage_url # "'", &return);
string Suchbegriff = "webdata_now_p";
integer anfang = return.Find(Suchbegriff)+Suchbegriff. Lenght() + 4;
var Wert = return.Substr(anfang,5).ToInteger();
WriteLine(return.Substr(anfang,5)) ;