Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

Marrom77
Beiträge: 73
Registriert: 27.02.2018, 22:43
Hat sich bedankt: 2 Mal
Danksagung erhalten: 4 Mal

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von Marrom77 » 17.12.2019, 00:26

Ich frag jetzt lieber nochmal nach, da ich mir nicht sicher bin, ob ich es richtig verstanden habe:

Ist es richtig, dass die internen Programme der CCU zum Setzen von svEnergyCounter... und svEnergyCounterOldVal... weiterlaufen müssen, damit das funktioniert?

Danke und Gruss
Marcel

Marrom77
Beiträge: 73
Registriert: 27.02.2018, 22:43
Hat sich bedankt: 2 Mal
Danksagung erhalten: 4 Mal

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von Marrom77 » 17.12.2019, 21:25

Ok, die Frage habe ich mir dann doch selbst beantwortet: Macht hier keinen Sinn, dass zwei Skripte parallel auf die gleiche Systemvariable schreibend zugreifen, wobei die Überlaufsberechnung noch unterschiedlich ausfällt...

Marrom77
Beiträge: 73
Registriert: 27.02.2018, 22:43
Hat sich bedankt: 2 Mal
Danksagung erhalten: 4 Mal

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von Marrom77 » 18.12.2019, 01:13

So langsam verstehe ich, warum das bei mir permanent Probleme macht mit der Verbrauchsrechnung. Sowohl im originalen internen Skript als auch in Jens Skript ist natürlich sinnvollerweise eine Überlaufsprüfung und -berechnung enthalten. Genau die wird fälschlicherweise laufend ausgelöst:

Code: Alles auswählen

real diffValue = curValue - lastValue;	
if(diffValue < 0.0)
...
Ich habe jetzt mal curValue und lastValue protokollieren lassen und dabei festgestellt, dass regelmässig lastValue > curValue ist, obwohl das offensichtlicher Quatsch ist. Damit läuft die Verarbeitung natürlich komplett in die falsche Richtung, da laufend maxValue() hinzu addiert wird...

Ich habe jetzt mal die Abfrage "diffValue < 0.0" auf "diffValue < -100" geändert, da bei einem "echten" Überlauf eine deutliche Differenz vorhanden sein sollte. Mal sehen, ob das dauerhaft hilft. Die nachfolgende Verarbeitung wird natürlich nur ausgeführt, falls "diffValue > 0.0" ist, sonst sind die Werte ja wieder falsch.

Ich habe das Skript angepasst und messe damit den Verbrauch von HMIP-FSM(16) und HMIP-PSM. Bei einigen Geräten funktioniert es völlig zuverlässig, bei anderen tritt das o. g. Problem auf. Die Abweichung zwischen curValue und lastValue ist z. T. < -5.x. Die Geräte haben alle die gleiche Firmware-Version, nämlich 2.6.2 bzw. 1.6.2.

- Hat jemand womöglich ähnliches Verhalten beobachtet?
- Ist das jetzt ein Hardware-Problem?
- Oder doch irgendwo der Software/Firmware geschuldet?

Auf jeden Fall wäre ich dankbar für jede Form von Hinweis...

P. S.: Ablernen + Anlernen der Aktoren habe ich schon versucht, hilft nichts, obwohl das interne Skript von EQ3 mittlerweile angepasst wurde. Ausserdem sind die internen Skripte jetzt deaktiviert, da sich ja das Skript von Jens (angepasst) darum kümmern soll...

Zwei HM-ES-PMSw1-DR, die pro Phase den Gesamtverbrauch erfassen funktionieren auch völlig fehlerfrei. Nur bei HomematicIP-Geräten tritt zum Teil das beschriebene Problem auf...

Danke und Gruss
Marcel

Benutzeravatar
NilsG
Beiträge: 1702
Registriert: 09.08.2013, 23:44
System: CCU
Hat sich bedankt: 386 Mal
Danksagung erhalten: 30 Mal
Kontaktdaten:

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von NilsG » 26.12.2019, 22:08

NickHM hat geschrieben:
18.10.2018, 12:19
Ja, schön. Und bei Jens steht es auf der "Was ich schon immer mal machen wollte-Liste"
Moin ... Gibt's dazu ggf schon Neuigkeiten?!?

Gruß,
Nils
Grüße und DANKE! 🍻

Nils

-----------------------------------------
CCU3 + 2x LAN-Gateway

Ghoethe
Beiträge: 48
Registriert: 18.12.2015, 12:50
Kontaktdaten:

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von Ghoethe » 20.01.2020, 22:45

Ich hab das script nun schon eine Weile laufen und alles ist schick.

Nun habe ich eine PV-Anlage hinzubekommen und möchte gerne diese auch einbinden.

Das Script geht ja davon aus das es einen HM-ES-TX-WM mit "Gas_Energy_Counter" gibt.

Ich kann der CCU über ioBroker von meinem Wechselrichter entweder einen Gesamtertrag (der fortlaufend ist) oder einen aktuellen Ertrag in eine Variable schreiben lassen.

Mit programmieren hab ich nix am Hut, wie müsste das "universelle Zählerstandberechnungs"-script aussehen, damit er statt einem Device, eine Systemvariable verarbeitet.
Alle Variablen sind analog zu den Hauszählern angelegt.

Gruß Christoph

Pahan
Beiträge: 124
Registriert: 16.07.2014, 12:29
Hat sich bedankt: 7 Mal

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von Pahan » 02.02.2020, 14:14

Hallo und vielen Dank für das Script,
welchen ich nun ebenso im Einsatz habe.

Einige wenige (triviale) Fragen hierzu hätte ich jedoch:

die jeweiligen Werte werden unter dem Messgerät selbst hinzugefügt und angezeigt
Geraet.JPG
Unter den eigentlichen Variablen-Menü finde ich jedoch nur die Variablen, die ohne Kanalzuordnung des Strommessgerätes angelegt wurden,
soweit richtig?
variablen.JPG
Frage 1:
warum werden diese (Referenz- Variablen) nicht laufend aktualisiert? Oder passiert das erst am nächsten Tag?

Frage 2:
Kann man die kanalzugeodneten Variablen irgendwie in einem Diagramm verwenden und auswerten?

Frage3:
Der Wert "Energie-Zähler CCU" ist wohl der Wert seit der letzten Ablesung bis heute.
Kann man seinen Verbrauch (monetär) auch periodisch darstellen (Tages-Wochen-Monats-Basis) und diesen sich auch noch noch per Telegram zukommen lassen?

Besten Dank nochmal für das Script

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von NickHM » 02.02.2020, 16:25

Hallo

die Referenzvariablen beinhalzen Werte zur Berechnung. Dort wird der aktuelle Wert zum Zeitpunkt derBerechnung gespeichert, um dann bei der nächsten Rechnung die Differenz zu bilden.
Also wird die Ref Jahr nur ein mal im Jahr aktualisiert.

Die an einen Kanal gekoppelten Variablen sind in einem CCU Diagramm nicht darstellbar. So wie IMHO auch alle anderen SysVar in den internen Diagrammen nicht dargestellt werden können. Mit externen Mitteln sollte das möglich sein (Historian, ioBroker ..)

Der Energiezähler CCU zählt so lange weiter hoch, bis der RESET Button in der WebUi betätigt wird. Die Berechnung erfolgt CCU intern mit einem Script. Das wurde deshalb erfunden, weil der Energiezähler Gerät bei einem Batteriewechsel oder beim Überlauf des internen Gerätezählers wieder bei 0,0 anfängt.

Pahan
Beiträge: 124
Registriert: 16.07.2014, 12:29
Hat sich bedankt: 7 Mal

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von Pahan » 04.02.2020, 22:21

NickHM hat geschrieben:
02.02.2020, 16:25
Hallo

die Referenzvariablen beinhalzen Werte zur Berechnung. Dort wird der aktuelle Wert zum Zeitpunkt derBerechnung gespeichert, um dann bei der nächsten Rechnung die Differenz zu bilden.
Also wird die Ref Jahr nur ein mal im Jahr aktualisiert.

Die an einen Kanal gekoppelten Variablen sind in einem CCU Diagramm nicht darstellbar. So wie IMHO auch alle anderen SysVar in den internen Diagrammen nicht dargestellt werden können. Mit externen Mitteln sollte das möglich sein (Historian, ioBroker ..)

Der Energiezähler CCU zählt so lange weiter hoch, bis der RESET Button in der WebUi betätigt wird. Die Berechnung erfolgt CCU intern mit einem Script. Das wurde deshalb erfunden, weil der Energiezähler Gerät bei einem Batteriewechsel oder beim Überlauf des internen Gerätezählers wieder bei 0,0 anfängt.
Danke für die Beantwortung der Fragen, nun ist es klarer

R.Thümer
Beiträge: 33
Registriert: 16.02.2020, 13:40
System: CCU
Hat sich bedankt: 9 Mal

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von R.Thümer » 19.02.2020, 22:39

Hallo,

ich komme leider nicht weiter. ich bekomme den Referenz Zählerstand nicht über das Script eingetragen. Bei Ausführen bleibt das untere Feld leer. Das setzen der letzten Zählertsandsmeldung funktioniert tadellos. ich finde leider keine Lösung. Ich habe auch schon alles gelöscht und neu erstellt. Keine Veränderung. Ich bitte um Hilfe!!

Gruß Ronny
Screenshot (6).png
Screenshot (5).png
Screenshot (4).png
Screenshot (7).png

R.Thümer
Beiträge: 33
Registriert: 16.02.2020, 13:40
System: CCU
Hat sich bedankt: 9 Mal

Re: Zählersensor HM-ES-TX-WM - Universelle Zählerstandberechnung

Beitrag von R.Thümer » 19.02.2020, 23:25

R.Thümer hat geschrieben:
19.02.2020, 22:39
Hallo,

ich komme leider nicht weiter. ich bekomme den Referenz Zählerstand nicht über das Script eingetragen. Bei Ausführen bleibt das untere Feld leer. Das setzen der letzten Zählertsandsmeldung funktioniert tadellos. ich finde leider keine Lösung. Ich habe auch schon alles gelöscht und neu erstellt. Keine Veränderung. Ich bitte um Hilfe!!

Gruß RonnyScreenshot (6).pngScreenshot (5).pngScreenshot (4).pngScreenshot (7).png
So, hab den Fehler jetzt doch gefunden.
unter:object device = dom.GetObject("Hausanschluss-" # type);
if(device)
hier musste ich: object device = dom.GetObject("Hausanschlusszähler-" # type);
if(device)
einfügen da mein Zähler halt "Hausanschlusszähler" und nicht nur "Hausanschluss" heist.
Leider habe ich von Scripten noch keine Ahnung daher hat die Erkenntniss etwas gedauert. Aber vielleicht hilft das jemanden der ein ähnliches Problem hat.

MfG Ronny

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“