Gaszählerstand korrigieren

Begonnen von stgeran, 13 März 2022, 20:21:59

Vorheriges Thema - Nächstes Thema

stgeran

Wie kann ich meinen Gaszählerstand korrigieren. Durch einen Stromausfall in der Strasse hat sich der Wert verändert. Von Zählerstand als Beispiel 27600 auf 25783. Damit stimmt die Auswertung nicht mehr. Hier ein list Gas
Internals:
   BasicFeePerMonth 0
   CODE       9
   CUL868_MSGCNT 1135
   CUL868_RAWMSG E03093D100004001000
   CUL868_RSSI -84.5
   CUL868_TIME 2022-03-13 20:14:37
   CostPerUnit 0
   DEF        9 0.005 0.005
   FUUID      5c44de89-f33f-33d2-9d2f-8d229c9ece573d2a
   IODev      CUL868
   LASTInputDev CUL868
   MSGCNT     1135
   NAME       Gas
   NR         32
   STATE      CNT: 61 CUM: 25551.570  5MIN: 0.020  TOP: 0.938
   TYPE       CUL_EM
   corr1      0.005
   corr2      0.005
   READINGS:
     2022-03-13 20:14:37   RAW             CNT: 61 CUM: 16  5MIN: 4  TOP: 16
     2022-03-13 19:59:35   basis           15434898
     2022-03-13 00:01:55   cum_day         CUM_DAY: 8.675 CUM: 25544.430 COST: 0.00
     2022-03-09 19:17:38   cum_month       CUM_MONTH: 186.715 CUM: 25514.075 COST: 0.00
     2022-03-13 20:14:37   current         0.02
     2022-03-13 20:14:37   current_cnt     4
     2022-03-13 20:14:37   peak            0.9375
     2022-03-13 20:14:37   peak_cnt        16
     2022-03-13 20:14:37   seqno           61
     2022-03-13 20:14:37   state           CNT: 61 CUM: 25551.570  5MIN: 0.020  TOP: 0.938
     2022-03-13 20:14:37   total           25551.57
     2022-03-13 20:14:37   total_cnt       16
     2022-03-13 20:14:37   tsecs           1647198877
Attributes:
   CounterOffset -51623,75
   IODev      CUL868
   room       Gas,CUL_EM

Es gibt im Webview einen Punkt "attr Gas state format". Bei der Beschreibung komme ich aber ins schleudern. Ist wahrscheinlich nicht der richtige Ansatz.
PS: In welchem thread ist das Thema ab Besten aufgehoben?
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Thomas0401

#1
Ich würde es mit einem userReading ändern


attr Gas userReading Verbrauch_korregiert {ReadingsNum($name, "total", 0) + 12345}

KölnSolar

dazu gibt es das Attribut counteroffset. Steht auch in der help.  ::)

Nimm den GasCalculator, dann hast Du das Problem nicht mehr und Statistikwerte.

Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

stgeran

Mit dem Couteroffset habe ich Probleme mit meiner def. Der steht auf -51623,75 aber von was?? Der tatsächliche Zählerstand ist jetzt die 27600. Waren das mal Werte aus der Urzeit der Aufzeichnung? Ich weis es nicht mehr. Ich muss mich ja an dem aktuellen Wert in der Tabelle orientieren und da z.B. +1817 eintragen um auf die 27600 zu kommen. Das klappt aber nur mit der def von "9 1 1" und nicht mit "9 0.005 0.005".
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

KölnSolar

Hmm, dann noch ein Faktor 200 ?  :-\
ZitatNimm den GasCalculator, dann hast Du das Problem nicht mehr
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

stgeran

Da muss ich mich erst einlesen. Auf Anhieb ist mir noch nicht klar, woher der calculator seine Werte bezieht.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

KölnSolar

aus dem EM-device.  ;)

Allerdings habe ich gerade in meiner def gesehen, dass es leider doch nicht direkt Dein Problem löst. Denn die Verknüpfung ist der regexp auf total
defmod StatGasZaehler GasCalculator GasZaehler:total:.*  :'( Ggfs. könntest Du das über das bereits vorgeschlagene userreadings lösen.

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

stgeran

Noch mal zu userReading
attr Gas userReading Verbrauch_korregiert {ReadingsNum($name, "total", 0) + 12345}
Bedeutet das in meinem Fall
attr Gas userReading Verbrauch_korregiert {ReadingsNum($name, "25783", 0) + 1817}
Oder steh ich auf den Schlauch
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

KölnSolar

#8
etwas angepasstattr Gas userReadings Verbrauch_korrigiert:total {ReadingsNum($name, "total",0) + 1817}
bedeutet: zusätzliches reading Verbrauch_korrigiert durch user erstellt und berechnet. Neuberechnung, wenn total aktualisiert wird. Inhalt des neuen readings = aktueller Wert des readings Gas:total + 1817(Sollte total nicht vorhanden sein[was aber schon durch :total ausgeschlossen wird] liefert ReadungsNum den Wert 0)
Verstanden ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

stgeran

Ich habs zwar begriffen, aber trotzdem ändert sich "total" nicht :-(
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

MadMax-FHEM

#10
total ändert sich ja auch nicht!

Es gibt (wie ja schon mal geschrieben wurde) ein NEUES Reading Verbrauch_korrigiert wo dann der korrekte Wert drin stehen sollte...
EDIT: wenn dir Verbrauch_korrigiert nicht gefällt, nenn es anders... ;)


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

stgeran

Da brauche ich nochmal Hilfe: Wo finde ich dieses userreading um im Plot darauf zugreifen zu können?
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

MadMax-FHEM

Bestimmt nachzulesen in der commandref oder Wiki...

Also: wenn sich das Reading total in deinem Device ändert und (somit hoffentlich) einen Event erzeugt, wird das (darauf lauschende) userReadings "ausgewertet" und das NEUE Reading AM SELBEN Device "erzeugt" oder eben aktualisiert wo dann der KORRIGIERTE Wert drin stehen sollte/müsste.

Dieses Reading nimmst du einfach als "Trigger" für dein FileLog oder was auch immer fertig...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Der trigger war m.E. zu eingeschränkt:
attr Gas userReadings Verbrauch_korrigiert:total:.* {ReadingsNum($name, 'total',0) + 1817}

Prinzipiell würde ich aber überlegen, ob das nicht als "monotonic" angelegt werden kann und dann einfach der Initialwert gesetzt wird.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

stgeran

#14
Etwas stimmt nicht Wenn ich euch richtig interpretiere müsste ich im Eventmanager ein Ereignis sehen, dass irgend etwas mit userReading; Gas; Total; oder meiner Zahl(27xxx) zu tun hat. Ich seh aber nix.

Ah, sorry mit dem "neuen"
attr Gas userReadings Verbrauch_korrigiert:total:.* {ReadingsNum($name, 'total',0) + 1817}
sehe ich es bei den Readings im Device. Jetzt muss es NUR noch in das logfile, damit ich es im svg plot auch auswählen kann.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2