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.
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)
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.
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
Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen
Moderator: Co-Administratoren
-
- Beiträge: 12
- Registriert: 13.09.2014, 12:31
-
- 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
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 +++
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 +++
- 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
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.
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.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
- 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
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
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
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: 12
- Registriert: 13.09.2014, 12:31
Re: Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen
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…
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…
- 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
Nein.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?
Code: Alles auswählen
var verbr = dom.GetObject("PVLeistung");
-->
object verbr = dom.GetObject (ID_SYSTEM_VARIABLES).Get("PVLeistung");
Es fehlt aber immer noch eine klare Beschreibung dessen was erreicht werden 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!" ); }
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 12
- Registriert: 13.09.2014, 12:31
Re: Mittels HMIP-PSM die maximale Einspeiseleistung einer PV Anlage erfassen
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
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