Energiemessung Homematic

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

Moderator: Co-Administratoren

Nichtheilig
Beiträge: 14
Registriert: 10.06.2012, 19:07

Energiemessung Homematic

Beitrag von Nichtheilig » 10.04.2016, 19:22

Hallo,

ich habe zur Energiemessung folgende Komponenten:

2 x HM-ES-PMSw1-DR (Leistungsmessung Hutschienenmontage)

und

3 x HM-ES-PMSw1-Pl (Steckdose Leistungsmessung)

Diese Dinger habe ich jetzt geraume Zeit, aber ich bekomme irgendwie keine gescheite Energiemessung damit hin. Im Prinzip würde es mir reichen die Werte des Energiezählers aufgelistet zu bekommen. Das funktioniert über Diagramme. Allerdings werden die Abstände innerhalb dieser Diagramme mit wachsenden Zeitraum immer größer, so das ich da keine gescheiten Ergebnisse damit hin bekomme. Soll heißen: Wenn ich das Diagramm täglich abrufe sind die Werteabstände bei 2 Minuten, nach einer Woche alle 18 Minuten (beide Werte sind exemplarisch und stimmen nicht). Mit diesen Diagrammen kann ich nicht arbeiten.

Richtig schön wäre eine externe Exceltabelle, in die laufend der Wert geschrieben wird. Oder ein automatisierter Export der Diagramme einmal am Tag. Das scheint aber auch nicht zu gehen, da diese Diagramme scheinbar über eine Funktion der CCU2 erst generiert werden, wenn man die Exportfunktion anklickt.

Eine andere Variante, die ich gerne angehen würde, wäre ein Script, welches die Werte der Energiezähler ausliest und mir die per eMail schickt. So könnte ich die Werte irgendwie weiterverarbeiten. Allerdings habe ich nur bedingt Ahnung vom Scripten. Kann mir jemand einen Anstoß geben wie ich den Datenpunkt eines Energiezählers auslese per Script? Oder gäbe es eine andere Möglichkeit?

Gruß Nichtheilig

Nichtheilig
Beiträge: 14
Registriert: 10.06.2012, 19:07

Re: Energiemessung Homematic

Beitrag von Nichtheilig » 10.04.2016, 20:52

Hallo,

das Script sieht so aus:

Code: Alles auswählen

var myChannel = dom.GetObject("Sicherung Wohnzimmer:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)

var myChannel = dom.GetObject("Sicherung Buero:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)

var myChannel = dom.GetObject("Funksteckdose Leistungsmessung 01:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)

var myChannel = dom.GetObject("Funksteckdose Leistungsmessung 02:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)

var myChannel = dom.GetObject("Funksteckdose Leistungsmessung 03:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)
Im Moment schickt es noch keine eMails. Über ein Programm lass ich es bei jeder Aktualisierung des Datenpunktes eine eMail an mich schicken.

So habe ich das was ich wollte: Eine Verlaufsübersicht über meinen Stromverbrauch in gleichbleibenden Zeitabständen.

saschen79
Beiträge: 94
Registriert: 07.07.2012, 12:29

Re: Energiemessung Homematic

Beitrag von saschen79 » 10.04.2016, 22:13

Hallo,

sich die Daten per Mail zuschicken zu lassen, ist schon mal eine gute Alternative.

Ist es normal, dass bei einem Neustart der CCU2 die Diagrammdaten weg sind, weil die SD Karte neu initalisiert werden muss, oder geht das auch anders?


Danke und Gruß, Sascha.

Nichtheilig
Beiträge: 14
Registriert: 10.06.2012, 19:07

Re: Energiemessung Homematic

Beitrag von Nichtheilig » 10.04.2016, 22:26

Mittlerweile habe ich mein Scriptauslöser von Datenaktualisierung auf Zeitmodul umgstellt, da es sonst zuviel wurde.

Das Problem mit der SD-Karte ist nicht nur der Neustart, sondern auch das die Datenwerte ständig verändert werden. d.h. der Zeitabstand der Punkte ändert sich, je mehr hinzukommen. So daß die Werte tlw. zu niedrig aufgelöst wurden um eine Aussage treffen zu können. Insgesamt finde ich die Diagrammfunktion "ganz nett" für Temperaturen. Aber nicht wenn man Stromspitzen oder bestimmte Verbraucher beim Strom sucht.

Gruß Nichtheilig

Droste
Beiträge: 88
Registriert: 04.02.2016, 08:34

Re: Energiemessung Homematic

Beitrag von Droste » 11.04.2016, 04:25

Hi, ich verwende dafür ccu-historian.

Zeichnet alle Werte auf. In den Diagrammen kannst du schön zoomen und die Daten sind in einer "Datenbank", auf die man für weitere Auswertungen per SQL zugreifen kann.

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Energiemessung Homematic

Beitrag von joni-blue » 02.06.2019, 18:22

Hallo zusammen,

kann man bei dem script noch die Einheit mit ausgeben lassen wh oder kWh????
Nichtheilig hat geschrieben:
10.04.2016, 20:52
Hallo,

das Script sieht so aus:

Code: Alles auswählen

var myChannel = dom.GetObject("Sicherung Wohnzimmer:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)

var myChannel = dom.GetObject("Sicherung Buero:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)

var myChannel = dom.GetObject("Funksteckdose Leistungsmessung 01:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)

var myChannel = dom.GetObject("Funksteckdose Leistungsmessung 02:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)

var myChannel = dom.GetObject("Funksteckdose Leistungsmessung 03:2");
var dp = myChannel.DPByHssDP("ENERGY_COUNTER");
dp.State(true);
! Wert eines Datenpunktes dp auslesen
var currentValue = dp.Value();
string Datum = system.Date("%d.%m.%Y");
string Uhrzeit = system.Date("%X") ;
string nachricht = "Stand " # myChannel # " am " # Datum # " um " # Uhrzeit #"Uhr = " # currentValue#"";
WriteLine(nachricht)
Im Moment schickt es noch keine eMails. Über ein Programm lass ich es bei jeder Aktualisierung des Datenpunktes eine eMail an mich schicken.

So habe ich das was ich wollte: Eine Verlaufsübersicht über meinen Stromverbrauch in gleichbleibenden Zeitabständen.
Reboot tut gut ! ! !

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Energiemessung Homematic

Beitrag von dtp » 04.06.2019, 14:53

Einfach am Ende jeder Nachricht

Code: Alles auswählen

string nachricht =
den eigentlich überflüssigen Code
ersetzen durch

Code: Alles auswählen

#" kWh."
oder dergleichen.

Das Skript sendet aber so, wie es ist, noch keine Emails oder Pushnachrichten. Dazu müsste man es entsprechend erweitern.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Energiemessung Homematic

Beitrag von joni-blue » 04.06.2019, 21:48

Das mit dem push habe ich angepasst. Aber woher weiß das Script wenn ich es statisch rein schreibe das aus wh auf einmal die Einheit in kWh wechselt?
Reboot tut gut ! ! !

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Energiemessung Homematic

Beitrag von dtp » 05.06.2019, 10:30

joni-blue hat geschrieben:
04.06.2019, 21:48
Aber woher weiß das Script wenn ich es statisch rein schreibe das aus wh auf einmal die Einheit in kWh wechselt?
Das Skript weiß das genauso wenig, wie ich es wusste. Leute, ihr müsst eure Fragen schon präzise stellen, wenn ihr präzise Antworten haben wollt. So schwer kann das doch nicht sein, oder? :roll:

Warum sollte sich plötzlich die Größeneinheit ändern?
Zuletzt geändert von dtp am 05.06.2019, 10:32, insgesamt 1-mal geändert.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
joni-blue
Beiträge: 1171
Registriert: 04.01.2012, 12:20
System: CCU
Wohnort: Hannover
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Energiemessung Homematic

Beitrag von joni-blue » 05.06.2019, 10:32

dtp hat geschrieben:
05.06.2019, 10:30
joni-blue hat geschrieben:
04.06.2019, 21:48
Aber woher weiß das Script wenn ich es statisch rein schreibe das aus wh auf einmal die Einheit in kWh wechselt?
Das Skript weiß das genauso wenig, wie ich es wusste. :roll:

Warum sollte sich plötzlich die Größeneinheit ändern?
In der pocket control app wird es erst in wh angezeigt und dann irgendwann in kWh
Reboot tut gut ! ! !

Antworten

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