Hallo alle miteinander,
ich würde gerne die Differenz oder Summe von dem momentanen Energieverbrauch von 2 Stromzählern (HM-ES-TX-WM) bilden, am besten natürlich gleich die interne Systemvariable dabei nutzen.
Diese Differenz will ich dann in eine neue Systemvariable schreiben um dann darauf reagieren zu können.
Hintergrund der ganzen Geschichte: wenn der Solarstrom mehr als der Stromverbrauch des Hauses ist will ich div. Sachen schalten können.
Habt ihr vlt. ein kurzen Lösungsweg, ich habe schon viel probiert, komme aber einfach nicht weiter.
lg
Stephan
Differenz von 2 Stromzählern bilden
Moderator: Co-Administratoren
-
- Beiträge: 12
- Registriert: 28.12.2011, 21:39
-
- Beiträge: 1573
- Registriert: 28.05.2015, 12:48
- Wohnort: Willich
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 10 Mal
Re: Differenz von 2 Stromzählern bilden
Hallo,
probier es mal hiermit (kann ich leider gerade nicht testen, habe keinen dieser Sensoren):
probier es mal hiermit (kann ich leider gerade nicht testen, habe keinen dieser Sensoren):
Code: Alles auswählen
string DifferenzVariableName = "DifferenzStrom"; ! Name der Variable, in die der Differenzwert eingetragen werden soll
string NameAktorOut = "HIERdenAktor1Nameneintragen"; ! Stromverbrauch
string NameAktorIn = "HIERdenAktor2Nameneintragen"; ! Stromerzeugung
! Ab hier nichts mehr Ändern..........................................
var PowerOut = dom.GetObject(ID_CHANNELS).Get(NameAktorOut # ":1").DPByHssDP("POWER").Value();
var PowerIn = dom.GetObject(ID_CHANNELS).Get(NameAktorIn # ":1").DPByHssDP("POWER").Value();
!Wenn noch keine Systemvarible vorhanden, diese anlegen
object svObject = dom.GetObject(DifferenzVariableName);
object svObjectlist = dom.GetObject(ID_SYSTEM_VARIABLES);
if (!svObject)
{
svObjectlist = dom.GetObject(ID_SYSTEM_VARIABLES);
svObject = dom.CreateObject(OT_VARDP);
svObjectlist.Add(svObject.ID());
svObject.Name(DifferenzVariableName);
svObject.ValueType(ivtFloat);
svObject.ValueSubType(istGeneric);
svObject.ValueMin(-16000);
svObject.ValueMax(16000);
svObject.DPInfo("Differenz Eingehend zu Ausgehender Leistung");
svObject.ValueUnit("W");
svObject.Internal(false);
svObject.Visible(true);
dom.RTUpdate(0);
}
var AktDiffValue = PowerIn - PowerOut;
if (svObject.Value() != AktDiffValue)
{
! nur Aktualisieren, wenn eine Änderung stattgefunden hat
svObject.State(AktDiffValue);
}
Gruß Carsten
- funkleuchtturm
- Beiträge: 2365
- Registriert: 13.06.2011, 16:42
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 357 Mal
- Kontaktdaten:
Re: Differenz von 2 Stromzählern bilden
Danke für den Hinweis mit den Differenzwerten. Habe gerade in meinen PULSECOUNTER einen zuätzlichen "virtuellen" Differenzwertzähler eingebaut.
Der Differenzzähler misst die Differenzwerte von Energie (KWh) und Leistung (KW) der Zähler 1 und 2 und wird im nächsten Update vorhanden sein.
Natürlich sind dann auch die entsprechenden Systemvariablen mit den Differenzwerten ohne zusätzliche Berechnung per Skript auf der CCU vorhanden.
Das sieht dann auf der Webseite des PULSECOUNTERS so aus:
Für das hauseigene Energiemanagement mit Solarkollektoren kann aber insbesondere die aktuelle Leistungsdifferenz von besonderem Interesse sein:
>> ob ich gerade Strom einspeise oder verbrauche.
Der Differenzzähler misst die Differenzwerte von Energie (KWh) und Leistung (KW) der Zähler 1 und 2 und wird im nächsten Update vorhanden sein.
Natürlich sind dann auch die entsprechenden Systemvariablen mit den Differenzwerten ohne zusätzliche Berechnung per Skript auf der CCU vorhanden.
Das sieht dann auf der Webseite des PULSECOUNTERS so aus:
Für das hauseigene Energiemanagement mit Solarkollektoren kann aber insbesondere die aktuelle Leistungsdifferenz von besonderem Interesse sein:
>> ob ich gerade Strom einspeise oder verbrauche.
Viele Gruesse
Eugen
________________________________________________
SmartHome-Eintopf mit feinem Homeduino-Gemüse
... und für Feinschmecker gibt´s den WIFFI, den WEATHERMAN-2, den PULSECOUNTER und den AIRSNIFFER
mit vielen Kochrezepten für den ambitionierten Homematiker
Eugen
________________________________________________
SmartHome-Eintopf mit feinem Homeduino-Gemüse
... und für Feinschmecker gibt´s den WIFFI, den WEATHERMAN-2, den PULSECOUNTER und den AIRSNIFFER
mit vielen Kochrezepten für den ambitionierten Homematiker
-
- Beiträge: 12
- Registriert: 28.12.2011, 21:39
Re: Differenz von 2 Stromzählern bilden
Moin Moin,
ja, super. funktioniert.
Vielen vielen Dank!!!!!!
Bei der Systemvariablen musste ich den Wertebereich noch auf -10000.00 bis 10000.00 setzen.
Damit habe ich jetzt einen negativen Wert wenn Strom vom Versorger bezogen wird und einen positiven Wert wenn die PV - Anlage mehr Strom produziert als verbraucht wird.
Bei der Auswertung der Systemvariablen hapert es leider noch, negative Werte scheint die CCU nicht zu mögen.
Negative Werte, auf die ich im Programm mit " größer als" oder " kleiner als" versuche, Aktionen auszulösen, funktionieren nicht. Ist die Systemvariable im positiven Bereich funktioniert es.
Gruß
Stephan
ja, super. funktioniert.
Vielen vielen Dank!!!!!!
Bei der Systemvariablen musste ich den Wertebereich noch auf -10000.00 bis 10000.00 setzen.
Damit habe ich jetzt einen negativen Wert wenn Strom vom Versorger bezogen wird und einen positiven Wert wenn die PV - Anlage mehr Strom produziert als verbraucht wird.
Bei der Auswertung der Systemvariablen hapert es leider noch, negative Werte scheint die CCU nicht zu mögen.
Negative Werte, auf die ich im Programm mit " größer als" oder " kleiner als" versuche, Aktionen auszulösen, funktionieren nicht. Ist die Systemvariable im positiven Bereich funktioniert es.
Gruß
Stephan
-
- Beiträge: 14149
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 583 Mal
- Danksagung erhalten: 1497 Mal
Re: Differenz von 2 Stromzählern bilden
Eigentlich kann die CCU-Firmwarevauch in der GUI damit umgehen. Nur beim Scripting muss man einige Eigenheiten beachten. Es wird z.B von rechts nach links gerechnet. Und -99 ist auch bei der CCU kleiner als -50.
Gruß Xel66
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch