Verbrauch tagsüber auf Gesamttag hochrechnen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Greyhound
Beiträge: 31
Registriert: 28.09.2019, 21:30
Hat sich bedankt: 9 Mal

Verbrauch tagsüber auf Gesamttag hochrechnen

Beitrag von Greyhound » 12.08.2022, 23:57

Hallo zusammen,

ich habe folgende Idee im Kopf für meinen Stromzählersensor HM-ES-TX-WM:

- 1x pro Stunde soll ein Programm ausgelöst werden, welches per Scritp den aktuellen Verbrauch vom Tag entsprechend der Uhrzeit auf den ganzen Tag hoch rechnet.
- dieser Wert wird dann mit einem Max-Wert verglichen und bei Überschreitung Meldung (Warnung) ausgegeben (Pushover)

Akt. Wert Zählerstand auslesen, Zählerstand von gestern nachts in eine Variable schreiben und Versand Pushover sind soweit klar.
Aber ich scheitere daran, die akt. Uhrzeit auszulesen, umzuwandeln und auf 24 Stunden hochzurechnen (um den Faktor für den akt. Verbrauchswert zu haben) :roll: :lol:

Ich habe über die Suche auch noch nichts gefunden, habt Ihr einen Tipp für mich?

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

Re: Verbrauch tagsüber auf Gesamttag hochrechnen

Beitrag von MichaelN » 13.08.2022, 00:00

In meiner Signatur findest du einen link zu Skript befehlen. Da ist auch was zu Zeiten zu finden.
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
Roland M.
Beiträge: 9784
Registriert: 08.12.2012, 15:53
System: CCU
Wohnort: Graz, Österreich
Hat sich bedankt: 252 Mal
Danksagung erhalten: 1373 Mal

Re: Verbrauch tagsüber auf Gesamttag hochrechnen

Beitrag von Roland M. » 13.08.2022, 12:10

Hallo!
Greyhound hat geschrieben:
12.08.2022, 23:57
- 1x pro Stunde soll ein Programm ausgelöst werden, welches per Scritp den aktuellen Verbrauch vom Tag entsprechend der Uhrzeit auf den ganzen Tag hoch rechnet.
- dieser Wert wird dann mit einem Max-Wert verglichen und bei Überschreitung Meldung (Warnung) ausgegeben (Pushover)
Abgesehen von der Umsetzung sehe ich hier schon einen Fehler im Konzept!

Nehmen wir an, eine Waschmaschine braucht pro Waschgang 2 kWh bei einer Dauer von 2 Stunden (rein geraten).
Wenn du die Waschmaschine um Mitternacht startest, wird deine Vorhersage um 2 Uhr einen Verbrauch von 24 kWh ergeben (und eine Warnung auslösen), obwohl die Waschmaschine dann vielleicht die restlichen 22 Stunden des Tages gänzlich ausgeschaltet bleibt.
Ähnlich auch, wenn du beispielsweise um 22 Uhr schlafen gehst und das ganze Haus ist finster und hat minimalen Stromverbrauch. Trotzdem wird der mittlere Verbrauch auch noch für die beiden restlichen Stunden hochgerechnet.

Da müsstest du schon den Stromverbrauch stundenweise aufzeichnen und diese Werte miteinander vergleichen (mittags Kochen, abends Licht,...).
Und selbst da ist dann die Warnmeldung ein Lotteriespiel, denn der vergessene Heizstrahler in der Werkstatt fällt nicht auf, wenn zu dieser Zeit auch die Waschmaschine laufen könnte.

Was willst du mit dieser Berechnung überhaupt erreichen?


Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
  • Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
  • Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
  • Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
  • Fehlermeldungen genau abschreiben, besser noch...
  • Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!

-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...

Greyhound
Beiträge: 31
Registriert: 28.09.2019, 21:30
Hat sich bedankt: 9 Mal

Re: Verbrauch tagsüber auf Gesamttag hochrechnen

Beitrag von Greyhound » 13.08.2022, 20:44

Hmm, gar nicht mal so schlecht mitgedacht :roll: :wink:

Nunja, die Idee war folgende: wir wollen den Stromverbrauch zum einen tracken - da der Gesamtverbrauch im Jahr viel zu hoch liegt - aber eigentlich immer wenn wir dies mal (händisch) kontrollieren, gar nicht so schlecht sind.

-> Daher Aufzeichnung und grafische Darstellung der Verbrauchswerte über die Cloudmatic-Easy-App
-> ein Graph zeichnet Leistungswert alle 5 Minuten auf (Dartsellung der letzten ca. 26 Stunden
-> ein Graph zeichnet Verbrauchsdifferenz 1x am Tag auf (Tageswerte)
-> ein Graph zeichnet Verbrauchsdifferenz 1x pro Woche auf (Wochenwerte)

Zusätzlich war die Idee, wenn man (deutlich) über den "Normalverbrauch" am Tag hinaus schießt, dann eine Warnung zu bekommen.
- Wenn man gerade den Backofen seit Stunden an hat, die Waschmaschine zum 3. mal und der Trockner läuft und man bekommt die Meldung - weiß man ja - ok, dass passt auch so.
- Bekommt man die Meldung, obwohl eigentlich nicht wirklich großer Verbrauch sein sollte - kann man nachschauen gehen, wass da gerade so Leistung zieht...

- :idea: die Idee mit der Stunden- (oder 2,3,4 Stunden-) basis ist gar keine schlechte Idee.
Starten die Programme jeweils unterschiedlich und betrachten nur die Differenz für diesen Zeitraum, könnte man auch entsprechend jeweils andere Referenzwerte zum Vergleich hinterlegen...

Tyfys
Beiträge: 544
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 123 Mal

Re: Verbrauch tagsüber auf Gesamttag hochrechnen

Beitrag von Tyfys » 13.08.2022, 21:02

vielleicht kannst du darauf aufbauen :

Code: Alles auswählen

!Sekunden eines Tages
integer tages_sek = 86400;

!Warnschwelle Maximalverbrauch
real max_verbr = 200.000;

!Zeitstempel Tagesbeginn
integer morgens_zeit = (system.Date("%F") # " 00:00:00").ToTime().ToInteger();

!aktueller Zeitstempel
integer akt_zeit = system.Date().ToTime().ToInteger();

!Zählerstand Tagesbeginn
real morgens_wert = 1176.400000;

!aktueller Zählerstand
real akt_wert = 1276.400000;

!Zählerstand  Mitternacht aus Systemvariable auslesen
string SysVarName = "Zaehlerstand_Mitternacht";
object SVObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(SysVarName);
if (SVObj) {
    morgens_zeit = SVObj.Timestamp().ToInteger();
    morgens_wert = SVObj.Value();
}
!Kontrollausgabe
WriteLine("Tagesbeginn " # morgens_zeit.ToTime());
WriteLine("Zählerstand Tagesbeginn " # morgens_wert);

!Zählerstand  aktuell aus Systemvariable auslesen  / evtl. aus dem   Gerät HM-ES-TX-WM
string SysVarName = "Zaehlerstand_aktuell";
object SVObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(SysVarName);
if (SVObj) {
    akt_zeit = SVObj.Timestamp().ToInteger();
    akt_wert = SVObj.Value();
}
!Kontrollausgabe
WriteLine("Aktuelle Zeit " # akt_zeit.ToTime());
WriteLine("Zählerstand aktuell " # akt_wert);

!Differenzzeit und Zwischenverbrauch berechnen
integer diff_zeit = akt_zeit - morgens_zeit;
real diff_wert = akt_wert - morgens_wert;
!Kontrollausgabe
WriteLine("Sekunden seit Tagesbeginn " # diff_zeit);
WriteLine("Verbrauch seit Tagesbeginn " # diff_wert);

!Verbrauch auf 1 Sekunde herunterrechnen
real sek_wert = diff_wert / diff_zeit;
!Kontrollausgabe
WriteLine("Verbrauch je Sekunde " # sek_wert);

!Verbrauch und neuen Endstand hochrechnen
real tag_verbr = sek_wert * tages_sek;
real tag_end_wert = morgens_wert + tag_verbr;

!Kontrollausgabe
WriteLine("Hochrechnung Verbrauch: " # tag_verbr);
WriteLine("Hochrechnung Zählerstand Tagesende " # tag_end_wert)

!Prüfen ob Verbrauch Maximalwert überesteigen würde
if (tag_verbr > max_verbr) {
    !Push - Nachrich etc auslösen.
    var message = "Verbrauch würde Maxiwalwert übersteigen";
    !Kontrollausgabe
    WriteLine(message);
}





nur (m)ein Vorschlag....
Gruß
Harry

Greyhound
Beiträge: 31
Registriert: 28.09.2019, 21:30
Hat sich bedankt: 9 Mal

Re: Verbrauch tagsüber auf Gesamttag hochrechnen

Beitrag von Greyhound » 13.08.2022, 21:27

Whow! Danke! 8)
Dass ist eine super Vorlage zum basteln :)

Antworten

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