Von PV Anlage Werte auslesen und in Variable schreiben

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Selekta
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

Beitrag von Selekta » 10.01.2023, 11:12

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.....

MichaelN
Beiträge: 9728
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 705 Mal
Danksagung erhalten: 1642 Mal

Re: Von PV Anlage Werte auslesen und in Variable schreiben

Beitrag von MichaelN » 10.01.2023, 11:42

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 +++

Selekta
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

Beitrag von Selekta » 10.01.2023, 11:51

Leider nicht.
Habe mehrere Stunden mit Googeln verbracht, aber nichts gefunden.

Benutzeravatar
Black
Beiträge: 5505
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 427 Mal
Danksagung erhalten: 1086 Mal
Kontaktdaten:

Re: Von PV Anlage Werte auslesen und in Variable schreiben

Beitrag von Black » 10.01.2023, 12:28

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 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

Selekta
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

Beitrag von Selekta » 10.01.2023, 12:51

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.

MichaelN
Beiträge: 9728
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 705 Mal
Danksagung erhalten: 1642 Mal

Re: Von PV Anlage Werte auslesen und in Variable schreiben

Beitrag von MichaelN » 10.01.2023, 13:21

Selekta hat geschrieben:
10.01.2023, 12:51
Daher bleibt mir nur die Lösung über das Auslesen der HTTP Seite.
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 +++

Selekta
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

Beitrag von Selekta » 10.01.2023, 13:27

Danke für die Links, die hatte ich auch gefunden.
Hatte es aber leider nicht geschafft es für mich passend umzubauen.

MichaelN
Beiträge: 9728
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 705 Mal
Danksagung erhalten: 1642 Mal

Re: Von PV Anlage Werte auslesen und in Variable schreiben

Beitrag von MichaelN » 10.01.2023, 13:40

Quick & dirty

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);
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
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 +++

Selekta
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

Beitrag von Selekta » 10.01.2023, 13:45

Ich Danke dir vielmals!
Ich werde es testen und Rückmeldung geben....

Selekta
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

Beitrag von Selekta » 10.01.2023, 13:50

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)) ;

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“