HmIP-PSM / FSM usw. - Verbrauchszähler Heute / Gestern / vergangene 7 Tage / vergangene 30 Tage

HMIP lokale Installation

Moderator: Co-Administratoren

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

HmIP-PSM / FSM usw. - Verbrauchszähler Heute / Gestern / vergangene 7 Tage / vergangene 30 Tage

Beitrag von Baxxy » 08.12.2023, 13:19

Bestimmt haben es schon einige gesehen, der neue HmIP-ESI hat zusätzliche Verbrauchsanzeigen für:
  • Verbrauch heute:
  • Verbrauch gestern:
  • Verbrauch vergangene 7 Tage:
  • Verbrauch vergangene 30 Tage:
Siehe: viewtopic.php?f=60&t=80499&p=788238&hil ... si#p788238

Die gute Nachricht:
Das gibt es ab CCU3/RM-FW: 3.73.9 (vermutlich*) für alle energiemessenden HmIP-Geräte. (*getestet aktuell nur mit FSM16 und PSM)

Die inzwischen nicht mehr ganz so schlechte Nachricht:
Das geht (wohl*) nur über die eQ-3 Holzhammer Methode, also Gerät aus der Zentrale löschen und neu Anlernen.
(*ein lokaler Werksreset des Gerätes hatte es nicht gebracht)

:idea:
Weiter unten werde ich eine Anleitung veröffentlichen (samt "Hilfs-Script") mit der man das auch ohne Holzhammer Methode hinbekommt.
Ein bisschen Handarbeit bleibt aber.
>> Anleitung verfügbar! <<


Voilà:
FSM_new_Counters_WebUI.JPG
Und wer nun die passenden "counter-SysVars" sucht, die gibt es nicht.
Es wird alles in den Metadaten des Messwertkanals abgelegt.
(und da sag mal noch einer wir sollen nicht so viel in die Metadaten schreiben, oder Jens? :wink: )
FSM_new_Counters_Metadaten.JPG
Und der Vollständigkeit halber das aktualisierte "Counter-Script" aus dem zugehörigem internen WebUI-Programm:

Code: Alles auswählen

object chn = dom.GetObject('24054');
object oOverflow = chn.DPByControl('POWERMETER_PSM.ENERGY_COUNTER_OVERFLOW');
object oEnergyCounter = chn.DPByControl('POWERMETER_PSM.ENERGY_COUNTER');
object oSysVarEnergyCounter = dom.GetObject('svEnergyCounter_24054_000B98A9AB90C2:5');
object oSysVarEnergyCounterOldVal = dom.GetObject('svEnergyCounterOldVal_24054');
boolean overFlowFlag = oOverflow.Value();
real devVal = oEnergyCounter.Value();
real devValMax = oEnergyCounter.ValueMax();
real oldDevVal = oSysVarEnergyCounterOldVal.Value();
real diffVal = 0.0;
real sysVarVal = oSysVarEnergyCounter.Value();
integer tmp_devVal = (devVal.ToString().ToFloat() * 1000).ToInteger();
integer tmp_oldDevVal = (oldDevVal.ToString().ToFloat() * 1000).ToInteger();
real energy0 = chn.MetaData('energy0').ToFloat();
if (overFlowFlag == false) {
! Normal conditions
if (tmp_oldDevVal <= tmp_devVal) {
diffVal = devVal - oldDevVal;
}
! Device has rebooted
if (tmp_oldDevVal > tmp_devVal) {
diffVal = devVal;
}
} else {
!overFlow is true
if (tmp_oldDevVal > tmp_devVal) {
! An device overflow has occured
diffVal = (devVal + devValMax) - oldDevVal;
} else {
! Once the overflow flag has been set it will only be false when the device reboots
! Therefore this is the normal condition after an device overflow
diffVal = devVal - oldDevVal;
}
}
if (tmp_devVal != 0) {oSysVarEnergyCounterOldVal.State(devVal);
oSysVarEnergyCounter.State(sysVarVal + diffVal);
! Save todays energy consumption
chn.MetaData('energy0',energy0 + diffVal);
}
Mal sehen ob das funktioniert, denn im Script wird ja nur 'energy0' behandelt.
Oder es gibt noch irgendwo eine andere Funktion für die anderen 3 neuen Verbrauchszähler.
Zuletzt geändert von Baxxy am 08.12.2023, 18:16, insgesamt 2-mal geändert.

MichaelN
Beiträge: 9710
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 701 Mal
Danksagung erhalten: 1636 Mal

Re: HmIP-PSM / FSM usw. - Verbrauchszähler Heute / Gestern / vergangene 7 Tage / vergangene 30 Tage

Beitrag von MichaelN » 08.12.2023, 14:21

Baxxy hat geschrieben:
08.12.2023, 13:19
chricht:
Das geht (wohl*) nur über die eQ-3 Holzhammer Methode
Das müsste ja auch durch händisch kopieren (und anpassen) des Skript sowie ggf. Anlegen der Metadaten Struktur möglich sein
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 +++


MichaelN
Beiträge: 9710
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 701 Mal
Danksagung erhalten: 1636 Mal

Re: HmIP-PSM / FSM usw. - Verbrauchszähler Heute / Gestern / vergangene 7 Tage / vergangene 30 Tage

Beitrag von MichaelN » 08.12.2023, 14:25

Ich glaube nicht das das anlernen eines Gerätes die WebUI patcht. Also ist der Code schon vorhanden.
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 +++


jp112sdl
Beiträge: 12125
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 850 Mal
Danksagung erhalten: 2155 Mal
Kontaktdaten:

Re: HmIP-PSM / FSM usw. - Verbrauchszähler Heute / Gestern / vergangene 7 Tage / vergangene 30 Tage

Beitrag von jp112sdl » 08.12.2023, 14:32

Baxxy hat geschrieben:
08.12.2023, 14:30
Die Anzeigen erscheinen wenn die entsprechenden Metadaten vorhanden sind.
Ja, so steht es im Code geschrieben:
https://github.com/eq-3/occu/blob/maste ... #L414-L421

Und hier werden die Metadaten beim Anlernen angelegt:
https://github.com/eq-3/occu/blob/maste ... #L809-L825

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

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

Re: HmIP-PSM / FSM usw. - Verbrauchszähler Heute / Gestern / vergangene 7 Tage / vergangene 30 Tage

Beitrag von Baxxy » 08.12.2023, 14:36

Soweit so gut.
Aber wie werden jetzt "Gestern / vergangene 7 Tage / vergangene 30 Tage" gefüllt/berechnet.

Gibt's da auch ne versteckte Funktion oder ist das dem ESI vorbehalten und wir müssen das selbst adaptieren?

jp112sdl
Beiträge: 12125
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 850 Mal
Danksagung erhalten: 2155 Mal
Kontaktdaten:

Re: HmIP-PSM / FSM usw. - Verbrauchszähler Heute / Gestern / vergangene 7 Tage / vergangene 30 Tage

Beitrag von jp112sdl » 08.12.2023, 14:51

Baxxy hat geschrieben:
08.12.2023, 14:36
Aber wie werden jetzt "Gestern / vergangene 7 Tage / vergangene 30 Tage" gefüllt/berechnet.
Über ein Programm "prgEnergyCounter_..." und irgendwelche Variablen.
Hangel dich mal hier lang:
https://github.com/eq-3/occu/blob/maste ... 1801-L1819
:arrow:
https://github.com/eq-3/occu/blob/maste ... 1233-L1338
https://github.com/eq-3/occu/blob/maste ... 44C3-L2057
Zuletzt geändert von jp112sdl am 08.12.2023, 14:52, insgesamt 1-mal geändert.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon


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

Re: HmIP-PSM / FSM usw. - Verbrauchszähler Heute / Gestern / vergangene 7 Tage / vergangene 30 Tage

Beitrag von Baxxy » 08.12.2023, 15:09

Tja auch ich sehe manchmal den Wald vor lauter Bäumen nicht.
Die 00:00 Programme "prgSetEnergyValuesAtMidnightxxxxx" werden auch angelegt.

Lässt sich also auch recht leicht adaptieren.

Antworten

Zurück zu „HomeMatic IP mit CCU“