Seite 1 von 29

Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 24.01.2015, 10:49
von Herbert_Testmann
Wer ein Gerät in Betrieb hat, darf dann hier rein schreiben :)

2016-05-07
Nach dem Update de FW von 1.0 auf 1.1 muss der Energiezähler neu angelernt werden !!
Bug: Bis CCU2 FW 2.17.16 kann der Sensor mit FW1.1 nicht für Diagramme ausgewählt werden.
Einzige Änderung der 1.1 ist die Unterstützung des Sensors für SmartStromZähler.
Nach dem Ab / Anlernen hat das Gerät dann einen neuen Kanal
http://homematic-forum.de/forum/viewtop ... 50#p282812

Re: Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 14:06
von DoktorD
Hallo,

Ich habe mir dem Bausatz bestellt, zusammengebaut und nun auch schon installiert.
Ich nutze den HM-ES-TX-WM zusammen mit dem Zählersensor "Ferraris-Zähler".

Leider habe ich Probleme damit.
Der Sensor wurde richtig über der Zählerscheibe positioniert. Leider leucht die LED nicht, wenn die rot markierte Stelle der Scheibe vorbei fährt. In der Anleitung steht, dass man die Empfindlichkeit einstellen kann.
Dies habe ich zunächst am HM-ES-TX-WM probiert. In der Anleitung steht, dass im Display "Mode" erscheint, wenn man die mittlere Taste drückt. Bei mir tut sich jedoch hierbei garnichts.
Am Gerät erscheint nur etwas anderes wenn ich die rechte Taste drücke ("Conn").

Ansonsten steht im Display immer "----".
Ist das bei Euch auch so?

Das anlernen in der CCU1 hat ohne Probleme geklappt.

Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 14:47
von robbi77
PS: Herbert hat wohl seinen Post gelöscht ... dafür war folgende Antwort:

Die Frage ging doch aber um die Empfindlichkeit einzustellen.
Geht das am Gerät selbst nicht?
Wenn er schreibt man solle eine Taste drücken ... dann erscheint im Display ...

Ob das Teil mit der ccu1 funktioniert ist ja noch eine andere Sache.


Gruß
Roberto

Re: Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 14:59
von Herbert_Testmann
Hallo

ja ich hatte den Text gelöscht, nachdem ich auf der ELV Seite noch mal nachgelesen habe. Da steht nicht ausdrücklich CCU2 sondern allgemein CCU.

Die Empfindlichkeit für den Drehscheibensensor wird an der Sendeeinheit eingestellt. Dort wird auch eingestellt, wie oft die rote Marke pro Wh vorbei kommt. Steht jedenfalls so in der Bauanleitung.
HM-ES-TX-WM_Bausatz.pdf
(1.67 MiB) 988-mal heruntergeladen
PS bei meiner Sendeeinheit ergibt sich das o.g. Verhalten, wenn kein Sensor angeschlossen ist.

Re: Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 15:58
von DrTob
DoktorD hat geschrieben:Hallo,

Ich habe mir dem Bausatz bestellt, zusammengebaut und nun auch schon installiert.
Ich nutze den HM-ES-TX-WM zusammen mit dem Zählersensor "Ferraris-Zähler".

Leider habe ich Probleme damit.
Der Sensor wurde richtig über der Zählerscheibe positioniert. Leider leucht die LED nicht, wenn die rot markierte Stelle der Scheibe vorbei fährt. In der Anleitung steht, dass man die Empfindlichkeit einstellen kann.
Dies habe ich zunächst am HM-ES-TX-WM probiert. In der Anleitung steht, dass im Display "Mode" erscheint, wenn man die mittlere Taste drückt. Bei mir tut sich jedoch hierbei garnichts.
Am Gerät erscheint nur etwas anderes wenn ich die rechte Taste drücke ("Conn").

Ansonsten steht im Display immer "----".
Ist das bei Euch auch so?

Das anlernen in der CCU1 hat ohne Probleme geklappt.
Ich hatte das Problem auch. Du musst zuerst den Sensor anschließen, und erst danach die Batterien einlegen. Dann hat das Teil den IR-Sensor korrekt erkannt. Danach hat auch die Empfindlichkeitseinstellung funktioniert.
Auch danach habe ich es anfangs das Problem, dass die Markierung nicht erkannt wurde (LED entweder dauerhaft an, oder dauerhaft aus). Es hat erst funktioniert, nachdem ich den Sensor nicht genau zentriert, sondern ca. 4mm tiefer angebracht habe.

Re: Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 16:11
von leknilk0815
Servus,
mit dem Zentrieren hatte ich mit meinem EM1000 auch Probleme...
Ich habe dann mit einem Filzstift auf das Glas des Stromzählers ein Kreuz gemacht, bei dem die waagrechte Linie die Ferrarisscheibe markierte und die senkrechte Linie den Mittelpunkt.
Das selbe Verfahren auf dem Sensor mit Markierungsstrichen an den Gehäuseseiten (Zentrum natürlich hier die IR- Diode), so daß man dann die Markierungen nur noch zum Übereinstimmen bringen muss. Vorher den Backofen eingeschaltet, dann dauerts nicht so lange, bis wieder eine Umdrehung erfolgt ist.
Dann kann man etwas herumrücken, bis die ideale Lage ermittelt ist. Dies wieder mit Strichen am Glas markieren und erst dann die Klebefolie verwenden. Hört sich umständlich an, aber bei mir hats geholfen...
Bevor man das festklebt, sollte man noch mit der Empfindlichkeit experimentieren, da sich da noch Änderungen bei der Platzierung ergeben können. Bei mir war z.B. ein "Fleck" auf der F-Scheibe, der zu Doppelzählung führte. Konnte dann durch rumprobieren behoben werden.

Re: Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 17:02
von thkl
Guten Abend,

also bei mir hat auch der Backofen seinen würdigen Beitrag zum Einstellen des Zählsensors geliefert. Allerdings habe ich mir nicht die Mühe mit dem Anzeichnen etc gemacht. Einmal (Backofen einschalten) LED Blinkt, Klebefolie ab und rauf damit. Bleeding Edge halt.

Aber mal zu was konstruktivem. Ich hab inzwischen 2 Script gebaut, welche den gestrigen und aktuellen Stromverbrauch ermitteln (inkl. Kosten) und zur weiteren Nutzung in Variablen speichern. Könnte man natürlich auch für den Displaytaster nutzen.

Ich beschreib das mal kurz:

Es werden folgende Systemvariablen benötigt:

Name : eCountToday Typ: Zahl Einheit kWh
Name : eCountYesterday Typ: Zahl Einheit kWh
Name : eCostToday Typ: Zahl Einheit: EUR
Name : eCostYesterday Typ: Zahl Einheit : EUR
Name : eEXMemory Typ: Zeichenkette Einheit : WH (Einheit is egal is nur Show)


var serialCounter = "XXXXX"; in jedem der Scripts mit der Seriennummer des eigenen Aktors füllen.

Script 1 darf nur einmal am Tag (um 0 Uhr zweckmässigerweise) laufen und ermittelt den gestrigen Verbrauch und speichert den Zählerstand.

Code: Alles auswählen

!! Energy Costs Part 1                                                        
!! 
!! Berechnet die verbrauchten kWh seit dem letzten Aufruf + Preis
!! sollte einmal tgl. um 0 Uhr laufen
!! 02/15                                                  
!! (c) by thkl
!! 
!! Benötigte SystemVariablen: 
!! Name : eCountYesterday Typ: Zahl Einheit kWh 
!! Name : eCostYesterday Typ: Zahl Einheit : EUR 
!! Name : eEXMemory Typ: Zeichenkette
!! 
!! Verbrauchte Energie wird nach Scriptlauf in eCountYesterday in kWh gespeichert Kosten in eCostYesterday

!! serialCounter mit Seriennummer des HM Zählers füllen

var serialCounter = "XXXXX";
var dpname = "ENERGY_COUNTER";
var priceKey = "curPrice";

var eEXMemory = dom.GetObject("eEXMemory");
var svCountYesterday = dom.GetObject("eCountYesterday");
var svCostYesterday = dom.GetObject("eCostYesterday");
object devEnergyDP = dom.GetObject("BidCos-RF."#serialCounter#":1."#dpname);
string tmpSVal = eEXMemory.State();
real devcount = devEnergyDP.State();
real statelast = tmpSVal.ToFloat();
real cnyday = devcount-statelast;

string stdout;string stderr;
string cmd = "/bin/sh -c 'cat /etc/config/energyPrice|sed -r \"s/\\"//g\"'";
system.Exec(cmd, &stdout, &stderr);
string sep = "\n";
string part;
string strCur;
real price;

foreach(part,stdout.Split(sep)) {
  string key = part.StrValueByIndex(":",0);
  string val = part.StrValueByIndex(":",1);
  if (key==priceKey){
    price = val.ToFloat();
  }
  if (key=="currency") {
    strCur=val;
  }
}

eEXMemory.State(devcount.ToString());

integer kwf = 1;

if (priceKey=="curPrice") {
  kwf = 1000;
}

real costyed = price * (cnyday/kwf);
svCountYesterday.State((cnyday/kwf));
svCostYesterday.State(costyed);

Script 2 kann beliebig oft laufen (zb auch durch den Taster getriggert) und ermittelt den Vebrauch des aktuellen Tages

Code: Alles auswählen

!! Energy Costs Part 2                                                       
!! 
!! Berechnet die verbrauchten kWh seit dem letzten Aufruf von Script 1 also im Idealfall
!! den Verbrauch seit Mitternacht
!!
!! kann beliebig oft laufen
!! funktioniert nur in Zusammenhang mit Script 1 richtig
!!
!! 02/15                                                  
!! (c) by thkl
!! 
!! Benötigte SystemVariablen: 
!! Name : eCountToday Typ: Zahl Einheit kWh 
!! Name : eCostToday Typ: Zahl Einheit: EUR 
!! Name : eEXMemory Typ: Zeichenkette
!! 
!! Verbrauchte Energie wird nach Scriptlauf in eCountToday in kWh gespeichert Kosten in eCostToday

!! serialCounter mit Seriennummer des HM Zählers füllen


var serialCounter = "XXXXX";
var dpname = "ENERGY_COUNTER";
var priceKey = "curPrice";

var eEXMemory = dom.GetObject("eEXMemory");
var svCountToday = dom.GetObject("eCountToday");
var svCostToday = dom.GetObject("eCostToday");

object devEnergyDP = dom.GetObject("BidCos-RF."#serialCounter#":1."#dpname);
string tmpSVal = eEXMemory.State();
real devcount = devEnergyDP.State();
real statelast = tmpSVal.ToFloat();
real cntoday = devcount-statelast;

string stdout;string stderr;
string cmd = "/bin/sh -c 'cat /etc/config/energyPrice|sed -r \"s/\\"//g\"'";
system.Exec(cmd, &stdout, &stderr);
string sep = "\n";
string part;
string strCur;
real price;

foreach(part,stdout.Split(sep)) {
  string key = part.StrValueByIndex(":",0);
  string val = part.StrValueByIndex(":",1);
  if (key==priceKey){
    price = val.ToFloat();
  }
  if (key=="currency") {
    strCur=val;
  }
}

integer kwf = 1;

if (priceKey=="curPrice") {
  kwf = 1000;
}
real costtoday = price * (cntoday/kwf);
svCountToday.State((cntoday/kwf));
svCostToday.State(costtoday);
Wichtig, in der Systemsteuerung unter Allgemeine Einstellungen muss der Energiepreis eingetragen werden.

Was passiert ist :

Script 1 wenn es um 0 Uhr läuft nimmt sich aus eEXMemory den gespeicherten Wert und zieht ihn vom aktuellen Zählerstand ab.
Damit hat man den Verbrauchswert des Vortages. Dieser und die Umrechnung in Euro wird in eCountYesterday bzw eCostYesterday gespeichert.
Gleichzeitig wird in eEXMemory der aktuelle Zählerstand gespeichert.

Script 2 nimmt den Zählerstand aus eEXMemory und zieht ihn vom aktuellen Zählerstand des Gerätes ab.
Damit hat man den aktuellen Verbrauch. Der Wert und die in Euro umgerechneten Kosten werden in eCountToday und eCostToday gespeichert.

Script 2 kann ggf auch per Timer einmal / h oder ähnliches laufen.


Ich hatte das jetzt 2 Tage im Test, funktioniert ganz hervorragend ...

P.S: Ich hab das Script auch gleich für die Gasmessungen angepasst.

Hier bitte folgendes ändern:
(Variableneinheiten sind keine kWh sondern m3 und in den Scripts

var dpname = "ENERGY_COUNTER";
var priceKey = "curPrice";

wird zu

var dpname = "GAS_ENERGY_COUNTER";
var priceKey = "gasPrice";

Re: Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 19:01
von thkl
OK weil ich einmal dabei bin.

Hier ein Script für die Berrechnung der jährlichen Energiekosten.

Folgende Variablen:

Name : eLastInvoice Typ:Zahl -> hier den Zählerstand der letzten Energieabrechnung in kWh eintragen.
Name : eStart Typ: Zeichenkette -> hier den aktuellen Zählerstand und den Zählerstand des Energiemessgerätes in ganzen kWh eintragen und zwar wie folgt:
Zählerstand EZähler|Zählerstand HM Zähler (Beispiel 17456|5 ; wenn der Schwarze Kasten im E-Verteiler 17456 zeigt und gleichzeitig das HM Gerät 5) Achtung das HM Gerät zählt in WattStunden also / 1000


Name : eUsedEnergyCost Typ: Zahl Einheit :EUR
Name : eUsedEnergyCount Typ: Zahl Einheit :kWh
Name : eTotalEnergyCount Typ: Zahl Einheit :kWh

Die Variable eStart dient der Differenzrechnung um bei jedem Scriptaufruf auf den aktuellen Zählerstand des richtigen EZählers berechnen zu können.

Script :

var serialCounter = "XXXXX"; -> hier wieder Seriennummer anpassen

Code: Alles auswählen

!! Energy Costs Part 3                                                       
!! 
!! Berechnet die verbrauchten kWh seit der letzten Abrechnung des Energielieferanten
!!
!! kann beliebig oft laufen
!!
!! 02/15                                                  
!! (c) by thkl
!! 
!! Benötigte SystemVariablen: 
!! Name : eLastInvoice Typ:Zahl -> hier den Zählerstand der letzten Energieabrechnung in kWh eintragen.
!! Name : eStart Typ: Zeichenkette -> hier den aktuellen Zählerstand und den Zählerstand des Energiemessgerätes in ganzen kWh eintragen und zwar wie folgt:
!! Zählerstand EZähler|Zählerstand HM Zähler (Beispiel 17456|5 ; wenn der Schwarze Kasten im E-Verteiler 17456 zeigt und gleichzeitig das HM Gerät 5) Achtung das HM Gerät zählt in WattStunden 
!! also / 1000
!! Name : eUsedEnergyCost Typ: Zahl Einheit :EUR  
!! Name : eUsedEnergyCount Typ: Zahl Einheit :kWh 
!! Name : eTotalEnergyCount Typ: Zahl Einheit :kWh 
!! Energiekosten werden nach Scriptlauf in eUsedEnergyCost gespeichert
!! Verbrauchte KwH werden nach Scriptlauf in eUsedEnergyCount gespeichert
!! aktueller Stand des Stromzählers wird in eTotalEnergyCount gespeichert
!! serialCounter mit Seriennummer des HM Zählers füllen


var serialCounter = "XXXXX";

var dpname = "ENERGY_COUNTER";
var priceKey = "curPrice";

var svLastInvoice = dom.GetObject("eLastInvoice");
var svMemory = dom.GetObject("eStart");
var svUsedEnergyCost = dom.GetObject("eUsedEnergyCost");
var svUsedEnergyCount = dom.GetObject("eUsedEnergyCount");
var svTotalEnergyCount = dom.GetObject("eTotalEnergyCount");


var memory = svMemory.State();
var countLastIncoice = svLastInvoice.State();

object devEnergyDP = dom.GetObject("BidCos-RF."#serialCounter#":1."#dpname);

real oec = memory.StrValueByIndex("|",0).ToFloat();
real shc = memory.StrValueByIndex("|",1).ToFloat();
real chc = devEnergyDP.State();

real cec = ((chc/1000) - shc)+oec;
real uec = cec-countLastIncoice.ToFloat();

string stdout;string stderr;
string cmd = "/bin/sh -c 'cat /etc/config/energyPrice|sed -r \"s/\\"//g\"'";
system.Exec(cmd, &stdout, &stderr);
string sep = "\n";
string part;
string strCur;
real price;

foreach(part,stdout.Split(sep)) {
  string key = part.StrValueByIndex(":",0);
  string val = part.StrValueByIndex(":",1);
  if (key==priceKey){
    price = val.ToFloat();
  }
  if (key=="currency") {
    strCur=val;
  }
}


real costyear = price * (uec);
svUsedEnergyCost.State(costyear);
svUsedEnergyCount.State(uec);
svTotalEnergyCount.State(cec);
Was jetzt passiert :

Es wird die Differenz zwischen aktuellem Stand des HM Energiemeßgerätes und dem Startstand dessen berechnet.
Dieses wird auf den Startzählerstand des Elektrozählers addiert und dann die Differenz zum Stand der letzten Abrechnung berechnet.
Das ist dann der Verbrauch seit letzte Abrechnung. Das multipliziert mit dem kWh Preis aus der Systemsteuerung.
Und dann wird der Kram in der Variable eTotalEnergyCost gespeichert.

Voila ....
Das ganze kann auch einmal tgl. laufen zb nach dem obigen Tagesscript wie auch immer.


Sodele und dann kann jeder gleich mal nachrechnen ob dieses Jahr der monatliche Abschlag noch ausreicht :lol:


ACHTUNG: Da nach dem Batteriewechsel des HM Zählers dessen Stand auf 0 steht muss die Variable eStart dann angepasst werden.
Der Inhalt muss dann sein: Stand Elektrozähler|0


Edit : Variablen hübscher bezeichnet und Funktion zum Speichern des aktuellen Stand des Elektrozählers in Variable eingebaut

Re: Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 19:13
von Herbert_Testmann
Hallo

ich habe jetzt meinen GAS Sensor montiert. Funktioniert und war eigentlich problemlos.
Nur mit den Daten die da kommen kann ich noch nix anfangen :(

- die Anzeige auf dem Display der Sendeeinheit ... Was wird da angezeigt? Mit dem Text in der Beschreibung kann ich nichts anfangen :(

- der Inhalt der einzelnen Datenpunkte ... sicherlich Wh bzw. m3 aufsummiert. Da finde ich z.B. ganz schlecht, dass man keinen Offset eingeben kann. Also den wirklichen Zählerstnd beim Beginn der Zählung.
Und die anderen Datenpunkte ? m3 pro Zeiteinheit oder was kommt da ?

PS: ok, es sind offenbar immer die Datenpunkte für Strom + Gas im Gerät. Also gibt es in meinem Fall nur
GAS_POWER - und dass ist dann "m3 / Std" ????
GAS_ENERGY_COUNTER

Ausser dem fehlenden StartZählerstand vermitte ich auch eine Funktion alle Zähler des Gerätes auf 0 zu stellen. Mein Gerät hatte nach dem Zusammenbau schon einen Zählerstand von ca. 1 m3
Nach einigen tagen Testlauf hätte ich dann gern noch mal definiert auf "0" gestellt. Die Möglichkeit habe ich aber noch nicht gefunden :(

Re: Zählersensor Strom/Gas HM-ES-TX-WM - Tipps, Probleme

Verfasst: 07.02.2015, 19:19
von DrTob
Der Zähler im Gerät wird sich vermutlich, wie auch beim Zwischenstecker, beim entfernen der Batterien auf null stellen.