Stromzähler HM-ES-TX-WM mit SE-IEC mit Easymeter keine Zählerstandsanzeige

Begonnen von joerhe, 29 April 2017, 13:39:03

Vorheriges Thema - Nächstes Thema

joerhe

Hallo,
ich habe ein die oben beschriebenen Komponenten verbaut und bekomme auf den laut OBIS-Protokoll (Zeitintegral 1 - Zählerstand) (Bild 2 der Beschreibung des ES-IEC von ELV.de) vorgesehenen Zählerstand in fhem nicht angezeigt. Die aktuelle Leistung (Kanal 1) wird angezeigt:
energyTariff: 0             2017-04-29 13:25:09
powerIEC:    35652     2017-04-29 13:25:09
powerTariff   0             2017-04-29 13:25:09
powerUnit    0             2017-04-29 13:25:09

HM-ES-TX-WM ist mit Firmware 1.2 ausgestattet
fhem wird auf Raspberry betrieben.
Wie kann ich den Datensatz einsehen der von der Sendeeinheit gesendet wird?
Wie kann ich die Daten in das Reading des ersten Kanals bringen - sofern von der Sendeeinheit gesendet?

JimKnopf

Hallo!

Ich habe exakt das gleiche Problem. Die aktuelle Leistung passt, sowohl Chanel1 sowie Chanel2 Einspeisung.
Auf dem Sender wird allerdings nur die Leistung des Chanel1 (Bezug) angezeigt.

CUL_HM_Stick_RAWMSG A15FEA6614D170B15036702010000095EF9000000F4B6::-67:CUL_HM_Stick
Der Zählerstand chanel 1 sollte etwa 49,8 sein,
chanel 2 steht bei 61,4.

Hier ein paar fortlaufende Daten:
A15FEA6614D170B15036702010000095EF9000000F4B6
A1502A6614D170B15036702010000096C8700000496A9
A1503A6614D170B150367020100000970EE0000054C1B
A1503A6614D170B150367020100000970EE0000054C1B
A1505A6614D170B150367020100000979C400000537A6
A1506A6614D170B15036702010000097E1000000497AB
A150AA6614D170B15036702010000098E67000002583A

Zählerstand Chanel2 62.6 inzwischen
Zu diesem Zeitpunkt wurde außschließliche eingespeist (1000 - 4000W).
Wenn die Sonne weg ist, werde ich noch ein paar Auszüge einfügen, allerdings haben wir einen Speicher (E3DC S10), so dass der Bezug von Strom evtl. ne Weile auf sich warten lässt.


Der Zähler ist easyMeter Q3DB.

Währe super wenn jemand helfen kann.  Ich wühle mich zwar gerade durch die CUL_HM.pm aber habe null Ahnung wie und wo die Umwandlung vollzogen wird oder wo in der Message die Werte versteckt sein könnten.

Gruß,
Burkhard

FHEM,LaCrosse,PCA301,Revolt,MAX!,HM,FS20, MQTT2, ebusd 3.4.v3.4-96-g96d5623, ebus Adapter 3.0 mit 20201219-offset , Wolf  CGB (-K)-20, Wolf ISM7, Wolf Solar SM, Speicher/WR E3DC S10, eGolf, Keba P30, Phoenix Contact EV, OpenWB

JimKnopf

Hi joerhe!

Die Rohmessage findest Du unter dem Device, das dem Chanel übergeordnet ist.
Bei mir HM_4D170B. Wenn Du in den Raum CUL_HM siehst wird er Dir als Powermeter gelistet.
Dort findest Du die Zeile dich ich im Beitrag drüber gepostet habe.

Bei mir A150AA6614D170B15036702010000098E67000002583A.
Klar ist, dass ..98E67.. offensichtlich der Zählerstand für chanel 2 ist, aber wie wandel ich das in 62,6 korrekt um. Es werden auf dem Zähler ja nicht alle Nachkommastellen angezeigt, aber irgendwas mit 62,6 sollte es werden.2583A ist vermutlich die aktuelle Leistung für den selben Kanal. Da aber sie Sonne sehr wechselhaft gerade scheint, kann ich da keine Referenzzahl liefern.

Gruß,
Burkhard
FHEM,LaCrosse,PCA301,Revolt,MAX!,HM,FS20, MQTT2, ebusd 3.4.v3.4-96-g96d5623, ebus Adapter 3.0 mit 20201219-offset , Wolf  CGB (-K)-20, Wolf ISM7, Wolf Solar SM, Speicher/WR E3DC S10, eGolf, Keba P30, Phoenix Contact EV, OpenWB

joerhe

98E67 ist in Hex und liefert dezimal mit Taschenrechner: 626279 - ich denke dan noch durch 10 000 teilen und schon hat man die 62,6 kWh dargestellt.
2583A aus hex in Dezimal liefert: 153658 - wahrscheinlich durch 100 geteilt liefert: 1536,58 Watt aktuelle Leistung.
Wie die Umwandlung von hex in dezimal in fhem passiert kann ich dir gerade nicht sagen, da ich das noch  nicht gemacht habe - die andere Rechnung klappt aber recht einfach:
attr  xxxxx   userReadings     Leistung {sprintf("%.2f",ReadingsVal($name,"powerIEC",0)/100)}
so hab ich bei mir die aktuelle Leistung in die Readings gebracht und in ein svg darstellen können.

Meine RawMSG liefert mir leider keinen direkten Schluss auf die eigenen Zahlen:
powerIEC    31538 was einer Verbrauchsleistung von 315,38 W steht
finde ich auch in hex nicht in der myHmUART_RAWMSG:  050000409B86604D0C20000000020100000000000000000000
was in lastMsg so ausschaut: No:9B - t:60 s:4D0C20 d:000000 020100000000000000000000
Auch meine Zählerstand von derzeitig 2718,4 kWh finden sich nicht darin.
Grüße
Josef

amenomade

So weit ich weiss, liefert den HM-ES-TX-WM kein Zählerstand, sondern die "Energy", die er gemessen hat, seitdem er im Betrieb ist.

Du musst dann deinen Zählerstand durch ein Userreading kalkulieren. Bei mir:
userReadings kWh {sprintf("%.1f",ReadingsVal("Stromzaehler","energy","")/1000 ) +17872.65 }

Mein HM-ES-TX-WM liefert E: 630578.6 P: 336. Das ist eine Kombination aus 2 Channels : E ist auf Channel 2 zu finden. Das autocreate hat bei mir 3 devices kreiert: das HM-ES-TX-WM selbst, und ein Device pro Channel.

Ich habe aber kein ES-IEC sondern ein ES-Fer.
Zeig mal ein "list <device>" von allen Geräte.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

joerhe

Hallo, den Zählerstand kann ich nicht kalkulieren, da bei mir die Momentanleistung ausgelesen wird und die Aktualisierung nur alle 3 Minuten erfolgt. Man bekommt zwar ein Bild von der Leistung, aber nur alle 3 Minuten. Passiert zwischen den drei Minuten eine Leistungsspitze oder ein Leistungstief bekommt das die Zentrale nicht mit. Selbst wenn ich nun eine Berechnung anstelle wird das nie mit dem eigentlichen Zählerstand übereinstimmen.
Beim ES-FER werden Impulse je verbrauchte Arbeitseinheit gesendet und aufsummiert. Daher kann man hier die Zählerrechnung auch selbst vornehmen und die stimmt mit dem Zählerstand auch immer überein. Die momentane Leistung scheint auch über die verbrauchte Arbeit und dem gewählten Zeitfenster zu passieren - jedoch nicht vom Zähler aus.
Daher brauche ich entweder Infos darüber ob der HM-ES-TX-WM den Zählerstand mit dem IEC ausliest und bzw. wo die Daten stehen. Die habe ich derzeitig nicht. Auch die Anzeige der Sendeeinheit liefert nur die Momentanleistung. Jedoch keinen Zählerstand.
Vielleicht muss ich doch die ImpulsLED auswerten anstatt mit dem IEC am Datenport.

Ansonsten - ja es sind drei Geräte angelegt - ein allgemeiner und zwei Kanäle wobei im ersten die Momentanleistung ausgegeben wird, im zweigen alles Null ist.
Wie bekommst du denn den Q3DB-easymeter mit dem ES-FER zusammen. Nimmt der die LED-Impulse auf?
Viele Grüße
Josef

JimKnopf

Hi!
Vielen Dank schon mal für die Tips! Mit ES-IEC wird offensichtlich der Zählerstand übertragen. In meinem Beispiel oben waren es ja 62,6, das kann der Sender aber sonst nicht wissen, denn der ist erst vier Tage nach dem Zählereinbau montiert worden.

A1544A6614D170B150367020100000DC4CF0000033B9B
33B9B = 211867 = 2.118,67W Einspeiseleistung (passt)
0DC4CF = 902351 = 90,2351 kW/h Einspeise-Zählerstand (die Hex Zahl muss noch Platz nach oben haben, passt mit dem abgelesenen Wert überein)

lastMsg No:B3 - t:61 s:4D170B d:150367 020100000F4A58000005543A

Bei CUL_HM_Stick_MSGCNT habe ich gesehen, dass der Zähler gleich um zwei weiter gesprungen ist, als ich auf die nächste Änderung gewartet habe. Es wird ja immer nur die letzte Message angezeigt. Offensichtlich ist die ausschließlich von Chanel2 und überschreibt Chanel1 in der Anzeige, sprich Chanel1 wird unmittelbar vor Chanel2 empfangen.
Somit würde ich davon ausgehen, dass beide Telegramme gleich aufgebaut sind.
Hatte eben den Wechselrichter mal ausgelegt und wir hatten ca. 800W Strombezug. Die Message hat sich null geändert.
Ich werde in einer ruhigen Minute mal sehen, ob ich alle Daten loggen kann.

Ist jemand in der Lage, aus einer RAW Message Readings zu generieren?
Das wäre genial. Es würde ewig dauern, biss ich Perl und den Aufbau von Modulen begriffen habe.

Zitat von: amenomade am 26 Mai 2017, 00:45:17
Wobei.... das Problem scheint nicht neu zu sein: https://forum.fhem.de/index.php?topic=53323.0
Der Thread ist ja schon länger inaktiv und nicht zur endgültigen Lösung gekommen  :'(.
Gruß,
Burkhard
FHEM,LaCrosse,PCA301,Revolt,MAX!,HM,FS20, MQTT2, ebusd 3.4.v3.4-96-g96d5623, ebus Adapter 3.0 mit 20201219-offset , Wolf  CGB (-K)-20, Wolf ISM7, Wolf Solar SM, Speicher/WR E3DC S10, eGolf, Keba P30, Phoenix Contact EV, OpenWB

JimKnopf

Die Logs haben es bestätigt:
A15BEA6614D170B150367020100000F69450000053F0F
A15BFA6614D170B150367020100000F6DAE0000053384
A15C0A6614D170B150367020100000F720E000005373C
A15C1A6614D170B150367020100000F720E000005373C
A15C2A6614D170B150367020100000F76750000054392

Wechselrichter abgeschaltet:
A15C786604D170B0000000101000008668B0000017F44
A15C886604D170B000000020100000F7A110000000000
A15C986604D170B0000000101000008679E000000D4D3
A15CA86604D170B000000020100000F7A110000000000

Aufgeteilt:
Message1                                                                               Mesage2
A15C786604D170B0000000101000008668B0000017F44    A15C886604D170B000000020100000F7A110000000000
A15C986604D170B0000000101000008679E000000D4D3   A15CA86604D170B000000020100000F7A110000000000
Der Zählerstand aus Message1 passt zum Zählerstand Chanel1.

Wenn über längere Zeit kein Bezug erfolgt, wird Chanel1 nicht übertragen. Das gleiche bei Einspeisung, länger keine Einspeisung, keine Übertragung.
FHEM,LaCrosse,PCA301,Revolt,MAX!,HM,FS20, MQTT2, ebusd 3.4.v3.4-96-g96d5623, ebus Adapter 3.0 mit 20201219-offset , Wolf  CGB (-K)-20, Wolf ISM7, Wolf Solar SM, Speicher/WR E3DC S10, eGolf, Keba P30, Phoenix Contact EV, OpenWB

martinp876

probiert einmal....
bezieht sich das Sign auf power counter oder tarif? kann ich noch nachbessern.

JimKnopf

Super wenn das geklappt hat, wird vermutlich morgen online sein oder?
Ich hab keine Anung was Sign bedeutet  :o.

Vielen Dank für Deine Mühe  8).
Gruß,
Burkhard
FHEM,LaCrosse,PCA301,Revolt,MAX!,HM,FS20, MQTT2, ebusd 3.4.v3.4-96-g96d5623, ebus Adapter 3.0 mit 20201219-offset , Wolf  CGB (-K)-20, Wolf ISM7, Wolf Solar SM, Speicher/WR E3DC S10, eGolf, Keba P30, Phoenix Contact EV, OpenWB

JimKnopf

Hi Martin!

Super, die Zählerstände werden jetzt übertragen. Ich will ja nicht dreist sein, aber besteht die möglichkeit, die Werte durch 10 bzw. 10000 zu teilen? Dann wäre das Ergebnis direkt in Watt/h, bzw. kWatt/h.

1000 Dank, dann hab ich mir den Sensor und Sender jetzt doch nicht vergebens gekauft  ;D.
Einen schönen Sonntag Euch allen,
Burkhard
FHEM,LaCrosse,PCA301,Revolt,MAX!,HM,FS20, MQTT2, ebusd 3.4.v3.4-96-g96d5623, ebus Adapter 3.0 mit 20201219-offset , Wolf  CGB (-K)-20, Wolf ISM7, Wolf Solar SM, Speicher/WR E3DC S10, eGolf, Keba P30, Phoenix Contact EV, OpenWB

joerhe

Mit dem teilen wäre ich vorsichtig, denn bei mir sind es für powerIEC 100 und energyIEC 10000.
Wie kann man das getrennt voneinander im Stateformat oder im userreading einbinden?
Diese beiden Zeilen sind bei mir für die Leistung eingetragen
attr XXX_IEC_01 stateformat {sprintf("P: %.2f W", ReadingsVal($name,"powerIEC",0)/100)}
attr XXX_IEC_01 userReadings Leistung {sprintf("%.2f",ReadingsVal($name,"powerIEC",0)/100)}

Wie kann ich die sinnvoll um energyIEC erweitern, ohne dass der andere Wert überschrieben wird und beides angezeigt wird?
Danke für die Aktualisierung - jetzt hab ich auch den Zählerstand auf dem Schirm.  :) - Danke -  :)