Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
thomasausneuss
Beiträge: 12
Registriert: 13.09.2014, 12:31

Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen

Beitrag von thomasausneuss » 22.01.2023, 13:34

Hallo liebes Forum,

ich benutze eine CCU3 ohne Addons,
und möchte gerne mit einer HMIP-PSM Messsteckdose,
die ich in den Geräteinstellungen auf Einspeisemodus gestellt habe,
die maximale Leistung einer PV Balkonanlage ermitteln.
Leistung.jpg
Meine Scriptkenntnisse sind aber leider sehr, sehr dürftig.

Die internen Systemvariablen für die Energiezähler der CCU und der Messsteckdose
habe ich durch das systeminterne Programm der HMIP-PSM gefunden und
kann diese auch gut auswerten.

Eine Variable für die aktuelle Leistung habe ich leider dort nicht gefunden.

Nun habe ich versucht mittels eines veränderten Energiezählerscripts aus dem Forum,
eine maximale Einspeise Leistung zu ermitteln. (BITTE NICHT AUSLACHEN, das ist
wahrscheinlich totaler Quatsch)
Script PV.JPG
Das Aufaddieren der Leistung hat bei mir an einer anderen Messsteckdose so funktioniert.

Der Auslöser des Scripts klappt, der maximale Leistungs Wert wird allerdings nicht
korrekt angezeigt.
PV Solar Auslöser.JPG


Nach endlosen Stunden habe ich nun aber aufgegeben.

Vielleicht kann mir jemand bei dem Script helfen, oder einen anderen Lösungsansatz
vorschlagen um die maximale Einspeiseleistung zu ermitteln.

Viele Grüße aus Neuss

MichaelN
Beiträge: 9656
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen

Beitrag von MichaelN » 22.01.2023, 13:45

Skripte bitte immer in Code-Tags posten. Niemand will Code von einem Screenshot abtippen. Oder willst Du?
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 +++

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

Re: Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen

Beitrag von Baxxy » 22.01.2023, 14:33

Die Systemvariable sollte als Objekt referenziert werden.

Außerdem addierst du ja nur die Leistungswerte, aus dem Thread-Titel lese ich aber heraus das der "Tageshöchstwert" in der SysVar landen soll.

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

Re: Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen

Beitrag von Black » 22.01.2023, 15:10

die Maximale Peak Leistung ?

zwei Systemvariablen:

bei Mitternacht :
peakGestern=PeakHeute;
peakHeute=0;


über Tag: bei Werteänderung prüfen: ist Neuer Wertwert grösser als PeakHeute dann PeakHeute = neuer Messwert

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

thomasausneuss
Beiträge: 12
Registriert: 13.09.2014, 12:31

Re: Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen

Beitrag von thomasausneuss » 22.01.2023, 15:57

Vielen Dank für die schnellen Antworten.
da habe ich heute wohl noch viel zu lesen.


„Die Systemvariable sollte als Objekt referenziert werden“,
bedeutet es, dass ich die Systemvariable dem Kanal der
HMIP-PSM zuordnen soll?

Der Hinweis mit den 2 Systemvariabeln leuchtet mir ein.

Das Auslesen des Energiezählers habe ich ja hinbekommen, leider habe ich das Problem, dass ich nicht weis wie oder wo ich den Wert der aktuellen Leistung auslese oder per Script errechnen um ihn dann in eine Variable zu schreiben.

Sorry, wenn ich mich unverständlich ausdrücke, aber mir fehlen da
weitest gehend die Grundlagen.
Ich bin da jetzt bestimmt schon 3 Wochen dran und drehe mich im Kreis.
Liegt vielleicht auch am Alter…

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

Re: Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen

Beitrag von Baxxy » 22.01.2023, 16:53

thomasausneuss hat geschrieben:
22.01.2023, 15:57
„Die Systemvariable sollte als Objekt referenziert werden“,
bedeutet es, dass ich die Systemvariable dem Kanal der
HMIP-PSM zuordnen soll?
Nein.

Code: Alles auswählen

var verbr = dom.GetObject("PVLeistung");
-->
object verbr = dom.GetObject (ID_SYSTEM_VARIABLES).Get("PVLeistung");
Hab aber gerade gemerkt das die automatisch Typkonvertierung hier aushilft, also unschön aber unkritisch.

Es fehlt aber immer noch eine klare Beschreibung dessen was erreicht werden soll.
Baxxy hat geschrieben:
22.01.2023, 14:33
Außerdem addierst du ja nur die Leistungswerte, aus dem Thread-Titel lese ich aber heraus das der "Tageshöchstwert" in der SysVar landen soll.
Ist dem so was dann?
- 00:00 resetten?
- nach "gestern" speichern... wie viele Tage zurück?
- was fängt man mit einem Tagespeak in einer SysVar an?

Könnte man doch gleich die Leistung mit Historian aufzeichnen...

Jede Menge :?:

Zum "lernen" habe ich hier aber auch noch was...

Code: Alles auswählen

string kanal_name  = "Beleuchtung Balkon PSM DCD:6 - Messwertkanal"; !- Name des Messwert-Kanals (bei PSM Kanal :6) eintragen wie in der WebUI vergeben
string sysvar_name = "PVLeistung";                                   !- Name der Speicher SysVar für den Peak-Wert

boolean testmode = true; !- true / false
real testdaten   = 11.8; !- wenn Testmode = true wird der echte Gerätewert mit den Testdaten überschrieben

object kanal_dev = channels.Get (kanal_name);
 if (!kanal_dev) { WriteLine("Kanal nicht gefunden!") ;quit; }
     real kanal_value = channels.Get (kanal_dev).DPByHssDP ("POWER").Value();
     WriteLine("Aktuelle Leistung Gerät: "# kanal_value);
      if (testmode) { kanal_value = testdaten; }

object sysvar = dom.GetObject (ID_SYSTEM_VARIABLES).Get (sysvar_name);
 if (!sysvar) { WriteLine("SysVar nicht gefunden!"); quit; }
      real sysvar_value = sysvar.Value();
       WriteLine("Aktueller Wert SysVar: "# sysvar_value);
      if ( kanal_value > sysvar_value ) {
           WriteLine("Wert Gerät / Testdaten ("# kanal_value #") > Wert SysVar ("# sysvar_value #")\nSysVar wird aktualisiert!" );
            sysvar.State(kanal_value);
            }
            else { WriteLine("Wert Gerät / Testdaten ("# kanal_value #") <= Wert SysVar ("# sysvar_value #")\nSysVar wird nicht aktualisiert!" ); }

thomasausneuss
Beiträge: 12
Registriert: 13.09.2014, 12:31

Re: Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen

Beitrag von thomasausneuss » 22.01.2023, 18:35

Vielen Dank für das Script und entschuldigt bitte meine schlecht gestellte Frage.
Ich bin absoluter Laie, habe keine Zusatzsoftware installiert und tue mich mit der
Materie wirklich schwer..

Ich hatte es geschafft den Tagesertrag in Kwh und EUR per Script zu errechnen, auszugeben und diesen
dann um 0 Uhr zurück zu setzen.
Das sieht bei mir so aus, funktioniert und ist schon für mich ein absolutes Highlight!



var a = dom.GetObject('svEnergyCounter_10404_0001DD89AE4737:6').Value();

var c = dom.GetObject("Verbrauch Kanal 6").Value();

var d = a - c;
var e = (( d/1000) * 0.45 ).ToString(2);

dom.GetObject ("PVamTag").State(d);
dom.GetObject ("PVEURamTag").State(e);


"PVamTag" hat mir die Leistung angezeigt die am Tag produziert wird, und zusätzlich entsprechend in EUR umgerechnet.
"Verbrauch Kanal 6" war dann der Tagesendstand der erzeugten Leistung, den ich bereits per Screenshot gezeigt hatte.
Das habe ich dann immer um 0 Uhr zurück gesetzt.

Ich hatte nun vor auf diesem Weg den Leistungs Peak für einen Tag festzuhalten, deshalb habe ich
versucht an einen maximal Wert für die Leistung zukommen.

Es kann auch sein, dass ich für das Vorhaben einfach nicht genug Kenntniss habe, oder es so einfach nicht funktionieren kann.
Ich kann ja nicht mal Addons wie Historian installieren.
Trotzdem nochmals vielen Dank für Eure Mühen, ich versuche mal das Script umzusetzen.

Ich wünsche Euch einen guten Start in die Woche

Antworten

Zurück zu „HomeMatic allgemein“