HM-ES-TX-WM .... einige Unklarheiten

Begonnen von roedert, 11 März 2016, 18:57:42

Vorheriges Thema - Nächstes Thema

roedert

Ich habe mir einen HM-ES-TX-WM zugelegt und in FHEM eingebunden .... sieht allerdings alles etwas anders aus als im Wiki.

Nach dem Autocreate wurden erstellt:
Ein Device HM_xxxxx mit 2 Kanälen - Kanal 1 enthält die Readings peerList, recentStateType und state - in Kanal 2 sind die aus dem Wiki bekannten Readings wie energy, power etc.

Von 2 Kanälen ist im Wiki gar keine Rede, auch soll angeblich ein Device Namens CUL_HM_HM_ES_TX_WM_xxx statt nur HM_xxxx erstellt werden.

Was ist da schief gelaufen bei mir? ... FHEM und Module sind alle aktueller Stand.
Im Device selbst steht immer wieder CMDs_pending und Nack .... im Kanal 2 werden aber die korrekten Werte regelmäßig empfangen.

Auch ist die Doku (Wiki/Forum) zur Einrichtung relativ rar ... wie zB setze ich den nun den initialen Zählerstand ... eigentlich will ich ja diesen darstellen und nicht nur den Verbrauch seit Einschalten des Gerätes?

marvin78

Alles gut. Das Wiki hängt bei vielen Dingen hinterher. Oft werden Artikel eingestellt und keiner aktualisiert sie. Die Doku ist das Nachschlagewert für aktuelle Dinge.

setreading setzt ein Reading auf einen Wert. Das ist in deinem Device, wie in jedem anderen auch.

roedert

Zitat von: marvin78 am 11 März 2016, 19:43:15
setreading setzt ein Reading auf einen Wert.

energyOffset mittels setreading zu setzen war auch mein erster Gedanke.
Aber diese Reading wurde ja vom Zählersensor empfangen, mit setreading ändere ich es nur in FHEM. Wird dieses dann nicht irgendwann wieder vom Zählersensor überschrieben?

frank

ändere energyoffset. in energycalc steht dann das gesamtergebnis.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

franky08

Wegen dem NACK keine Sorgen, mein ES-TX-WM zeigt seit 2 Jahren NACK und funktioniert problemlos.

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Hauenschild

#5
Auch ich habe mir einen HM-ES-TX-WM Zählersensor für Strom- und Gaszähler zugelegt und bin jetzt am Wochenende am implementieren an einem Drehstromzähler der Marke Elster AS1440. Über die Anfangs gestellte Frage bin ich auch gestolpert und habe dann diesen Forumsbeitrag entdeckt. Soweit hat bis jetzt aber das anlegen in FHEM funktioniert. Zur besseren Übersicht habe ich das was FHEM automatisch erkannt hat wie folgt umbenannt:
Zitat
- Stromzaehlersensor (das eigentliche Device HM-ES-TX-WM wie oben schon beschrieben mit seinen 2 Kanälen)
- Stromzaehlerdaten_01 (channel_01 vom umbeannten Device Stromzaehlersensor)
- Stromzaehlerdaten_02 (channel_02 vom umbeannten Device Stromzaehlersensor)
- FileLog_Stromzaehlersensor

Dann habe ich eins zu eins das Userreading:
attr <DeviceName> userReadings kWh {sprintf("%.1f",ReadingsVal("<DeviceName>","energy","???")/1000+72031.5639)}

aus dem Wiki http://www.fhemwiki.de/wiki/HM-ES-TX-WM_Z%C3%A4hlersensor_f%C3%BCr_Strom-_und_Gasz%C3%A4hler übernommen.

Jetzt hänge ich aber beim FileLog und beim userReading fest und habe mich hier mit "eingelinkt", da meine Frage nahtlos zur Eingangsfrage paßt und meiner Meinung nach auch für andere Anfänger sicherlich von Interesse ist.

Wie bereits oben beschrieben erstellt FHEM anhand von Autocreate verschiedene Einträge. Darunter auch das von mir umbenannte FileLog_Stromzaehlersensor, welches Daten wie z. B.:
Zitat2016-03-12_10:01:57 Stromzaehlersensor CMDs_done
2016-03-12_10:01:58 Stromzaehlersensor Activity: alive
2016-03-12_10:01:58 Stromzaehlersensor D-firmware: 1.0
.
.
.
enthält. Mit diesen Daten ist also ist das Log für die eine Verbrauchsauswertung nicht weiter von Belang. Somit muss man ein eigenes FileLog anlegen. Auch bei mir erscheinen die benötigten Readings im channel_02 (umbenant bei mir in Stromzaehlerdaten_02).Ich habe das anlegen eines eigenen FileLog's hieraus wie folgt versucht mit:
define FileLog_Stromzaehlerdaten_02 FileLog ./log/Stromzaehlerdaten_02 -%Y-%m.log Stromzaehlerdaten_02

Im Ergebnis funktioniert das aber nicht und ich erhalte von FHEM den Hinweis:
Zitatwrong syntax: define <name> FileLog filename regexp [readonly]

Beim userReading ist mir nicht klar, ob es sich im Wiki nur um ein Beispiel handelt und man am Ende von attr <DeviceName> userReadings kWh {sprintf("%.1f",ReadingsVal("<DeviceName>","energy","???")/1000+72031.5639)} eingene individuelle Zahlen eingeben muss.

Auch ist mir der Hinweis von frank
Zitatändere energyoffset. in energycalc steht dann das gesamtergebnis.
nicht klar?

Meine Readings sehen zur Zeit wie folgt aus:

ZitatRegL_01.   
boot   off
current   0
eState   E: 2880 P: 997 I: 0 U: 0 f: 50
energy 2880
energyCalc 2880
frequency 50
kWh 72031.6
power 997
state 2880
voltage 0


Kann mir jemand helfen wie ich jetzt weiter vorgehen muss?

roedert

#6
Zitat von: Hauenschild am 12 März 2016, 13:03:04define FileLog_Stromzaehlerdaten_02 FileLog ./log/Stromzaehlerdaten_02 -%Y-%m.log Stromzaehlerdaten_02

Im Ergebnis funktioniert das aber nicht und ich erhalte von FHEM den Hinweis...

Zwischen ./log/Stromzaehlerdaten_02 und -%Y-%m.log darf kein Leerzeichen sein.

Zu den Readings:
Bei mir gibts auch noch ein Reading energyOffset .... dieses wurde automatisch angelegt und enthielt den Wert 56. Woher der Wert kam, weiss ich nicht ... ich hatte den Sensor aber auch schon einige Male angelernt und resettet.
energyCalc enthält dann immer energyOffset+energy.
EnergyOffset ist also sowas wie der "Anfangszählerstand". Mir ist/war aber dessen Herkunft nicht klar und somit auch nicht ob er evtl. irgendwann wieder überschrieben wird und somit der Zählerstand nicht mehr stimmt.

Hauenschild

Oh, wie peinlich :o ::) :-[ ! Ich hatte den code wirklich x-mal geprüft und immer wieder das Leerzeichen übersehen. Jetzt klappt alles. Danke für die schnelle Hilfe und die Hinweise.

StefanD

Ich muss den Thread noch mal aufwärmen. Habe bei meinem HM-ES-TX-WM diese Tage die Firmware aktualisiert, wodurch natürlich das Device auch die beiden o.g. Kanäle bekommen hat. Die Messwerte laufen nun auf Kanal 2 auf. Um nun wieder auf den korrekten Zählerstand zu kommen, wollte ich beim 2. Kanal mit regSet energyOffset 51220300 den derzeitigen Zählerstand setzen bekomme dann aber die Fehlermeldung:
energyOffset failed: supported register are baudrate mtrConstGas mtrConstIr mtrConstLed mtrSensIr mtrType pairCentral powerMode protocolMode samplPerCycl serialFormat transmDevTryMax transmitTryMax

Für mich stellt sich das so dar, als unterstütze FHEM das setzen des Offsets (noch) nicht auf dem Kanal.

Trifft das zu oder bin ich da auf dem Holzweg?

VG
Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer

roedert

Zitat von: StefanD am 07 Mai 2016, 17:19:43... wollte ich beim 2. Kanal mit regSet energyOffset 51220300 den derzeitigen Zählerstand setzen.

energyOffset ist ein "reading" - also einfach setreading xyz_Ch2 energyOffset 1234

StefanD

Zitat von: roedert am 07 Mai 2016, 18:55:09
energyOffset ist ein "reading" - also einfach setreading xyz_Ch2 energyOffset 1234

jepp, setreading war das Zauberwort!  :)

Danke + VG Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer

vbs

Danke für den Hinweis, hab das FW-Update gar nicht mitbekommen. Wie ist wohl das beste Vorgehen bei diesem Update? Ich hab das Update jetzt gemacht und die beiden neuen Kanäle bekommen. Das alte Device gibt es natürlich auch noch. Ich befürchte, dass ich jetzt an dem alten Device haufenweise "tote" Readings habe, die jetzt nur noch in den Kanälen upgedatet werden?
Wäre es wohl sauberer, wenn man aus FHEM nochmal alle Devices (des TX..) löscht und dann noch einmal sauber neu pairt?

StefanD

Zitat von: vbs am 07 Mai 2016, 20:26:13
Danke für den Hinweis, hab das FW-Update gar nicht mitbekommen. Wie ist wohl das beste Vorgehen bei diesem Update? Ich hab das Update jetzt gemacht und die beiden neuen Kanäle bekommen. Das alte Device gibt es natürlich auch noch. Ich befürchte, dass ich jetzt an dem alten Device haufenweise "tote" Readings habe, die jetzt nur noch in den Kanälen upgedatet werden?
Wäre es wohl sauberer, wenn man aus FHEM nochmal alle Devices (des TX..) löscht und dann noch einmal sauber neu pairt?

Neu gepairt habe ich nicht. Hab beim Device alle readings gelöscht, meine Attribute in den 2. Kanal übernommen, wo die Daten jetzt auflaufen und die "Pfeil nach rechts" Taste am TX gedrückt, damit die "Core-Readings" wieder kommen. Einen getConfig habe ich auch noch hinterhergeschickt.

VG Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer

vbs

Hast du denn dann das Firmware-Reading (mit "1.1")? Mir wurde mal gesagt, dass u.a. dieses Reading nur beim Pairen übertragen wird.

StefanD

Zitat von: vbs am 07 Mai 2016, 21:54:41
Hast du denn dann das Firmware-Reading (mit "1.1")? Mir wurde mal gesagt, dass u.a. dieses Reading nur beim Pairen übertragen wird.

Ja, habe ich. Es wird immer übertragen, wenn du das Device nochmal in den Pairing Modus versetzt, ganz egal ob du es pairen möchtest oder nicht. Dazu musst du aber das Device nicht aus FHEM löschen und neu anlegen lassen oder den HM-LAN oder CUL in den Pairing Modus versetzen.

VG Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer

vbs