FHEM Unterstützung für neues HomeMatic Produkt HM-ES-TX-WM

Begonnen von octek0815, 26 Januar 2015, 16:12:53

Vorheriges Thema - Nächstes Thema

martinp876

2-3min ist die hm standardzeit zum messen. Die zeit wird nach einem algorithmus variiert, das sorgt fuer eine bessere verteilung

pipp37

Hallo.
Ich habe dieses Modul auch heute zusammenbaut und auf meinem Gaszähler mit dem ELV Sensor montiert.
Meiner hat folgende Einstellung: 1 imp = 0,1m³.
Den Wert auf dem Modul eingestellt und er zählte sofort.
Perfekt.

Ich habe mir ein neues Reading mit setreading angelegt um den aktuellen Zählerstand zu bekommen.
setreading <device>  gasCntOffset    15572.20

Auch ein neues User-Reading wurde angelegt.

userReadings gasVolume { ReadingsVal($name,"gasCnt",0) +ReadingsVal($name,"gasCntOffset",0)  }


Damit zählt er genau hoch.


Was mir nicht klar ist.
Was bedeutet der Wert gasPower 0.638 ?



Meine CFG:

AME       CUL_HM_HM_ES_TX_WM_3533EF
   NR         181
   STATE      0
   TYPE       CUL_HM
   lastMsg    No:E0 - t:53 s:3533EF d:000000 00000FA000027E
   protLastRcv 2015-02-23 00:09:46
   rssi_at_HMLAN1 avg:-67.09 min:-68 max:-66 lst:-68 cnt:10
   Readings:
     2015-02-22 23:46:58   Activity        alive
     2015-02-22 15:43:07   CommandAccepted yes
     2015-02-22 15:43:05   D-firmware      1.0
     2015-02-22 15:43:05   D-serialNr      MEQ0025673
     2015-02-22 15:43:07   PairedTo        0x29A498
     2015-02-22 15:36:12   R-mtrConstGas   0.1 m3/I
     2015-02-22 15:36:12   R-mtrConstIr    100 U/kWh
     2015-02-22 15:36:12   R-mtrConstLed   10000 i/kWh
     2015-02-22 15:36:12   R-mtrSensIr     0 %
     2015-02-22 15:36:12   R-mtrType       gas
     2015-02-22 15:43:07   R-pairCentral   0x29A498
     2015-02-22 15:36:11   R-transmDevTryMax 6
     2015-02-22 15:36:12   R-transmitTryMax 6
     2015-02-22 15:43:07   RegL_00:        02:01 32:64 0A:29 0B:A4 0C:98 2E:39 14:06 00:00
     2015-02-22 15:43:08   RegL_01:        08:00 30:06 95:01 96:00 97:64 98:00 99:64 9A:27  9B:10 9C:00 00:00
     2015-02-22 15:43:07   aesKeyNbr       00
     2015-02-23 00:09:46   boot            off
     2015-02-23 00:09:46   eState          E: 4 P: 0.638
     2015-02-23 00:09:46   gasCnt          4
     2015-02-22 15:48:27   gasCntOffset    15572.20
     2015-02-23 00:09:46   gasPower        0.638
     2015-02-23 00:09:46   gasVolume       15576.2
   Helper:
     mId        00DE
     rxType     12
     Io:
       newChn     +3533EF,00,01,00
       nextSend   1424646586.53912
       prefIO
       rxt        2
       vccu
       p:
         3533EF
         00
         01
         00
     Mrssi:
       mNo        E0
       Io:
         HMLAN1     -66
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       At_hmlan1:
         avg        -67.1
         cnt        10
         lst        -68
         max        -66
         min        -68
Attributes:
   IODev      HMLAN1
   actCycle   000:10
   actStatus  alive
   alias      Gaszaehler1
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   1.0
   model      HM-ES-TX-WM
   room       CUL_HM,Zähler
   serialNr   MEQ0025673
   subType    powerSensor
   userReadings gasVolume { ReadingsVal($name,"gasCnt",0) +ReadingsVal($name,"gasCntOffset",0)  }
Vmware-ESX-VM-Ubuntu 16.04 Docker Main-FHEM -> Raspberry Pi-B ser2net
HMLAN mit HomeMatic, Busware SCC433 stacked SCC868 (culfw), Jeelink, MAX Heizkörperthermostate, Enigma2 (Vudo2/DM800SE), Philips 55" Ambilight PHTV - WMBUS EnergyCam+Engelmann FAW, Intertechno-Komponenten, Ubiquiti mPower

MarcelK

Zitat von: pipp37 am 23 Februar 2015, 00:22:29
Was bedeutet der Wert gasPower 0.638 ?

Meiner Meinung nach ist das der aktuelle Verbrauch in m³/h.

pipp37

Das es der aktuelle Verbrauch ist, dachte ich auch schon.

Allerdings blieb der Wert von gasPower mit 0.638 die ganze Nacht über gleich, obwohl die Heizung bis am Morgen abgeschaltet war und sich auch der Wert gasCnt, der ja die Umdrehungen zählt, den ganzen Zeitaum nicht geändert hat.
Der sollte meiner Meinung nach  wohl auf 0 sinken, oder?


Vmware-ESX-VM-Ubuntu 16.04 Docker Main-FHEM -> Raspberry Pi-B ser2net
HMLAN mit HomeMatic, Busware SCC433 stacked SCC868 (culfw), Jeelink, MAX Heizkörperthermostate, Enigma2 (Vudo2/DM800SE), Philips 55" Ambilight PHTV - WMBUS EnergyCam+Engelmann FAW, Intertechno-Komponenten, Ubiquiti mPower

MarcelK

#49
Zitat von: pipp37 am 23 Februar 2015, 11:06:13
Allerdings blieb der Wert von gasPower mit 0.638 die ganze Nacht über gleich, obwohl die Heizung bis am Morgen abgeschaltet war und sich auch der Wert gasCnt, der ja die Umdrehungen zählt, den ganzen Zeitaum nicht geändert hat.

Ja, eben weil sich gasCnt nicht ändert ändert sich gasPower auch nicht, weil der Wert nur bei einem neuen Impuls aktualisiert wird. Recht dämlich aber ist erstmal so. Meine derzeitige Lösung dazu gibt's im anderen Thread zum Zähler hier im Forum.

Edit: Ab hier http://forum.fhem.de/index.php/topic,30936.msg260721.html#msg260721

iceman6paq

Ich habe jetzt seit ein paar Wochen den Stromzähler in Benutzung. Und da mein Strom verbrauch relativ hoch ist, ist heute morgen der Zähler für energy übergelaufen.
Der Zähler energy läuft bei genau 838860.7 über. Das entspricht 0x7FFFFF.

Ich habe das so gelöst das ich zwei neue user attribute angelegt habe.

attr Strom_Zaehler overflow 1
attr Strom_Zaehler overflowvalue 838860.7


Und dann die kWh wie folgt berechne

attr Strom_Zaehler userReadings kWh {sprintf("%.2f",(ReadingsVal("Strom_Zaehler", "energy", 0)+AttrVal("Strom_Zaehler","overflowvalue",0)*AttrVal("Strom_Zaehler","overflow",0))/1000+AttrVal("Strom_Zaehler","offset",0))}


Das einzige was mir noch fehlt ist ein gute Weg "overflow" zu setzen wenn energy wieder überläuft.
Ich habe ein notify sobald ein energy Ereignis rein kommt, aber noch keinen einfachen Weg zu erkennen wann der Überlauf passiert.

frank

die werte mit setreading zwischen speichern und auf "neu < alt" vergleichen.
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

iceman6paq

Danke für den Tipp.

Habe es jetzt so gemacht. Mal gespannt ob das dann funktioniert wenn der nächste Überlauf ist.


Strom_Zaehler:energy.* {
  my $oldenergy = ReadingsVal("Strom_Zaehler","state",0);
  my $energy = ReadingsVal("Strom_Zaehler", "energy", 0);
  if ($oldenergy > $energy)
  {
    my $overflow = AttrVal("Strom_Zaehler","overflow",0);
    $overflow += 1;
    fhem("attr Strom_Zaehler overflow $overflow");
  }
  fhem("setreading Strom_Zaehler state $energy");
}


frank

ZitatMal gespannt ob das dann funktioniert wenn der nächste Überlauf ist.

wenn du dein energie reading nicht über readingsval fütterst, sondern mit der notify-variable $EVTPART1, kannst du den überlauf testen, indem du ein setreading energy xyz in die eingabezeile tippst. wobei xyz dann natürlich kleiner sein muss, als der letzte wert.
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

#54
Hallo, nach dem ich seit gestern nun auch den Bausatz fertig habe und das Teil in Betrieb ist, stellt sich folgende Frage. Angeschlossen habe ich den mitgelieferten Gas Sensor, soweit so gut. Heute habe ich bemerkt, dass gasCnt immer aufsummiert wird und damit natürlich kein Tagesplot angelegt werden kann. Der Plot fängt um 00:00 Uhr ja mit dem Wert an der zuletzt in gasCnt steht und nicht bei 0 (wie es sein sollte). Habe schon einiges an User Readings und auch an sub Routinen ausprobiert das führt aber nicht zum erhofften Ergebniss. Habt ihr vlt. einen weiterführenden Tip?
Probiert habe ich den gasCnt Wert in einen dummy zu kopieren und um 23:59:59 auf 0 zu setzen.

P.S. der untere Plot fängt nicht bei 0 an, sollte für einen Tagesplot aber so sein



VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Posti123

du kannst delta-d im Feld function im Plot eintragen bzw. suchmal nach "delta-d" im Forum.
18xHM-CC-RT-DN, 5xHM-TC-IT-WM-W-EU, HMLAN, 2xJeeLink 868, 1xJeeLink433, 1xCUL868, HM-LC-Bl1PBU-FM, HM-LC-Sw2-FM, HM-LC-SW1-FM, HM-LC-Sw1PBU-FM, 5xHM-Sec-SC-2, 2xHM-Sec-SCo, HM-ES-TX-WM, HM-Sen-MDIR-O-2, HM-WDS10-TH-O, 6xTechnoline, 2x PCA301,2xHM-PB-2-WM55-2,2xHM-RC-4-2,2xHM-WDS30-T-O, HM-SEC-WDS-2

franky08

delta-h hab ich für das Balkendiagramm schon gesetzt, dass funktioniert auch wie es soll. Für den "echten" Tagesverbrauch hab ich jetzt schon eine Lösung mit 2 dummis und at gefunden. Ich schreibe gasCnt in einen dummy und setze diesen um 00:00:00 zurück, über setreading schreibe ich diesen Wert in die Sensor Readings. Somit startet der gasCnt jedesmal um 00:00:00 mit dem Wert 0 und zählt über den Tag dann hoch.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

vbs

Kann man da nicht was mit dem average-Modul machen? Das summiert doch auch tageweise die gezählte Werte auf, oder? Hab es jedoch noch nicht benutzt...

franky08

ZitatDas summiert doch auch tageweise die gezählte Werte
Das macht es, ABER du kannst nicht bei 0 starten also ab 24:00 Uhr mit dem Hochzählen neu starten, da gasCnt fortlaufend hochzählt und nicht tagweise.
Werde ich heute Nacht sehen ob mein Konstrukt das macht, was es soll  ;)

P.S. average habe ich zum testen mal mitlaufen
VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

frank

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