Neues Modul: GasCalculator

Begonnen von Sailor, 21 Januar 2016, 12:48:11

Vorheriges Thema - Nächstes Thema

Mitch

FHEM im Proxmox Container

majorshark

#226
Genau so mache ich es.
Habe aber noch ein ESPEasy Modul dazwischen welches die Impulse vom ESP8266 empfängt.

In meinem Blog habe ich es genauer beschrieben.
http://majorshark.de/index.php/1-gaszaehler-mit-espeasy-und-fhem
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Depechem

#227
Ich möchte jetzt gern Tages, Monats, Jahreswerte bekommen.
Genau genommen möchte ich mir in einer Readingsgroup folgendes anzeigen lassen:

Gasverbrauch
Januar 2017
Februar 2017
März 2017
...u.s.w.

Also für jeden Monat den Verbrauch an Gas anzeigen lassen.

Funktioniert dies?

Gruß Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Depechem

Zitat von: majorshark am 13 Februar 2018, 21:15:06
Genau so mache ich es.
Habe aber noch ein ESPEasy Modul dazwischen welches die Impulse vom ESP8266 empfängt.

In meinem Blog habe ich es genauer beschrieben.
http://majorshark.de/index.php/1-gaszaehler-mit-espeasy-und-fhem

Hallo Frank, Danke für deine Infos. Zum Thema Zählerstand in FHEM auswerten habe ich aber nicht in deinem Blog gefunden.
Gruß Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

majorshark

Ja das stimmt.
Ich werte die Zählerstände mit dem GasCalculator und den Standard Plot's aus.

Um die Werte aus dem ESPEasy Device in das Calculator Device zu bekommen muss dieser nur entsprechend definiert werden.
define <Name> GasCalculator <ESPDevice>:<Zählerreading>.*
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Depechem

Zitat von: majorshark am 14 Februar 2018, 17:19:10
Ja das stimmt.
Ich werte die Zählerstände mit dem GasCalculator und den Standard Plot's aus.

Um die Werte aus dem ESPEasy Device in das Calculator Device zu bekommen muss dieser nur entsprechend definiert werden.
define <Name> GasCalculator <ESPDevice>:<Zählerreading>.*


Frank, kannst du mir bei meiner eigentlichen Frage irgendwie helfen?

——————————————————
Ich möchte jetzt gern Tages, Monats, Jahreswerte bekommen.
Genau genommen möchte ich mir in einer Readingsgroup folgendes anzeigen lassen:

Gasverbrauch
Januar 2017
Februar 2017
März 2017
...u.s.w.

Also für jeden Monat den Verbrauch an Gas anzeigen lassen.

Funktioniert dies?
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

majorshark

Ja das geht. Wobei ich nicht für jeden Monat ein neues Reading anlegen, sondern die Werte wie üblich in ein Logbuch schreiben würde.

Der GasCalculator stellt ja alle Readings zur Verfügung.

Hier mal die Readings von meinem:


ESPEasy_IN_Z62_Total_CostMonthLast 67.717 2016-12-01 00:01:30
ESPEasy_IN_Z62_Total_EnergyCostDay 3.293 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_EnergyCostDayLast 2.414 2018-02-14 00:01:15
ESPEasy_IN_Z62_Total_EnergyCostMeter 324.521 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_EnergyCostMeterLast 483.464 2017-06-01 00:02:13
ESPEasy_IN_Z62_Total_EnergyCostMonth 41.164 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_EnergyCostMonthLast 80.818 2018-02-01 00:00:42
ESPEasy_IN_Z62_Total_EnergyCostYear 121.982 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_EnergyCostYearLast 535.976 2018-01-01 00:02:18
ESPEasy_IN_Z62_Total_EnergyDay 58.290 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_EnergyDayLast 42.724 2018-02-14 00:01:15
ESPEasy_IN_Z62_Total_EnergyMeter 5743.739 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_EnergyMeterLast 8556.889 2017-06-01 00:02:13
ESPEasy_IN_Z62_Total_EnergyMonth 728.568 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_EnergyMonthLast 1430.406 2018-02-01 00:00:42
ESPEasy_IN_Z62_Total_EnergyYear 2158.974 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_EnergyYearLast 9486.305 2018-01-01 00:02:18
ESPEasy_IN_Z62_Total_FinanceReserve 482.869 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_Meter 8248.930 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_MonthMeterReading 9 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_PowerCurrent 35.132 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_PowerCurrent_Round 35132 2018-02-14 20:09:01
ESPEasy_IN_Z62_Total_PowerDayAver 4.056 2018-02-14 20:09:00
ESPEasy_IN_Z62_Total_PowerDayMax 966.128 2018-02-14 00:02:48
ESPEasy_IN_Z62_Total_PowerDayMin 0 2018-02-14 00:01:15
ESPEasy_IN_Z62_Total_Vol1stDay 8243.5 2018-02-14 00:01:15
ESPEasy_IN_Z62_Total_Vol1stMeter 7713.870 2017-06-01 00:02:14
ESPEasy_IN_Z62_Total_Vol1stMonth 8181.060 2018-02-01 00:00:42
ESPEasy_IN_Z62_Total_Vol1stYear 8047.810 2018-01-01 00:02:18
ESPEasy_IN_Z62_Total_VolLastDay 8243.500 2018-02-14 00:01:15
ESPEasy_IN_Z62_Total_VolLastMeter 7713.870 2017-06-01 00:02:14
ESPEasy_IN_Z62_Total_VolLastMonth 8181.060 2018-02-01 00:00:42
ESPEasy_IN_Z62_Total_VolLastYear 8047.810 2018-01-01 00:02:18


Da findest Du alle Werte. Tag, Monat und Jahr. Mit diesen Werten legst Du ein Logbuch an und machst daraus das jeweilige Plot.
Logbuch:
defmod FileLog_GasuhrEnergyDayLast FileLog /mnt/usbstick/fhem/log/GasuhrEnergyDayLast-%Y.log Gaszaehler:ESPEasy_IN_Z62_Total_EnergyCostDayLast:.*|Gaszaehler:ESPEasy_IN_Z62_Total_EnergyDayLast:.*
Das sieht dann so aus wie im Anhang.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Sailor

Moin

Zitat von: majorshark am 14 Februar 2018, 20:20:13
Ja das geht. Wobei ich nicht für jeden Monat ein neues Reading anlegen, sondern die Werte wie üblich in ein Logbuch schreiben würde.
Der GasCalculator stellt ja alle Readings zur Verfügung.

Und genau so sieht's aus. Deswegen werden die Werte ja auch ins Log geschrieben.  ;D

Zitat von: majorshark am 14 Februar 2018, 20:20:13
Da findest Du alle Werte. Tag, Monat und Jahr. Mit diesen Werten legst Du ein Logbuch an und machst daraus das jeweilige Plot.
defmod FileLog_GasuhrEnergyDayLast FileLog /mnt/usbstick/fhem/log/GasuhrEnergyDayLast-%Y.log Gaszaehler:ESPEasy_IN_Z62_Total_EnergyCostDayLast:.*|Gaszaehler:ESPEasy_IN_Z62_Total_EnergyDayLast:.*
Das sieht dann so aus wie im Anhang.

Und so könnt ihr Euch Graphen für die Tage, Monate, Jahre und die Abrechnungszeiträume machen...
Als ob der Programmierer sich was dabei gedacht hätte.  ;D

Gruß
    Sailor
******************************
Man wird immer besser...

Depechem

Zitat von: Sailor am 15 Februar 2018, 13:37:02
Moin

Und genau so sieht's aus. Deswegen werden die Werte ja auch ins Log geschrieben.  ;D

Und so könnt ihr Euch Graphen für die Tage, Monate, Jahre und die Abrechnungszeiträume machen...
Als ob der Programmierer sich was dabei gedacht hätte.  ;D

Gruß
    Sailor


Danke das habe ich nun hinbekommen.
Nur wie kann man das SVG so bearbeiten das es mir Balkendiagramme für alle Jahre anzeigt?
Also einen Balken je Jahr 2014 2015 2016 2017
Für die Monate habe ich es hinbekomme .

Vielen Dank im Voraus
Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

majorshark

Das geht nur wenn das Logbuch auch die Werte für 2014 bis 2017 enthält. Also musst du die Jahreswerte des GasCalculator loggen und ein bisschen warten. Dann hast Du die Jahreswerte ab heute.
Du kannst natürlich auch ein bisschen tricksen und die Werte für die Jahre mit einem Editor in das Logbuch schreiben sofern die Daten vorhanden sind.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

no_Legend

Hallo Leute,

mal ne frage, wie gehe ich damit um, wenn ein neuer Zähler eingebaut wurde?

Danke und Gruß Robert
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

majorshark

Device specific help ...

GasCounterOffset :
Eine gültige float-Zahl für den Volumen Unterschied = Offset (Nicht der Unterschied zwischen Zählimpulsen) zwischen dem am mechanischen Gaszähler und dem angezeigten Wert im Reading dieses Device.
Der Offset-Wert wird wie folgt ermittelt: VOffset = VMechanisch - VModule
Der Standard-Wert ist 0.00
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

stolus

Hallo Zusammen,
ich habe den Aufbau von majorshark nachgebaut.
Leider erscheint im Modul GasCalculator kein Reading, hier scheint ein Problem mit der Variable Total bei mir vorzuliegen.
Total erscheint auch nicht im Logfile.
Total wird aber richtig aufsummiert-

Hier die Defs:
ESP8266:
Internals:
   DEF        192.168.1.45 80 espBridge Nodemcu_GASZAEHLER
   ESP_BUILD  20000
   ESP_BUILD_GIT v2.0.0-dev12
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID 17: ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 2
   HOST       192.168.1.45
   IDENT      Nodemcu_GASZAEHLER
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     3
   NAME       ESPEasy_GASZAEHLER
   NOTIFYDEV  global
   NR         179
   NTFY_ORDER 50-ESPEasy_GASZAEHLER
   PORT       80
   STATE      Abs: 6059 Dif: 17 Zei: 11142
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.36
   espBridge_MSGCNT 3
   espBridge_TIME 2018-02-26 21:14:19
   READINGS:
     2018-02-26 21:14:19   Absolut         6059
     2018-02-26 21:14:19   Count_m3per5min 2.04
     2018-02-26 21:14:19   Differenz       17
     2018-02-26 21:14:19   Total           6082
     2018-02-26 21:14:19   Zeit            11142
     2018-02-26 21:12:33   presence        present
     2018-02-26 21:14:19   state           Abs: 6059 Dif: 17 Zei: 11142
   helper:
     fpc        1519675351.71215
     pm:
       Encode     1
       JSON       1
     received:
       Absolut    1519676059.91459
       Differenz  1519676059.91207
       Zeit       1519676059.91702
Attributes:
   IODev      espBridge
   Interval   300
   event-on-change-reading state
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy,Heizungsraum,Heizungsübersicht
   setState   3
   userReadings Count_m3per5min {sprintf("%.2f",ReadingsVal("ESPEasy_GASZAEHLER","Differenz",0)/100*12);;;;},Total monotonic {ReadingsVal("ESPEasy_GASZAEHLER","Absolut",0)}


GasCalculator
Internals:
   DEF        ESPEasy_GASZAEHLER:Total.*
   NAME       Gaszaehler
   NR         195
   NTFY_ORDER 10-Gaszaehler
   REGEXP     ESPEasy_GASZAEHLER:Total.*
   STATE      active
   TYPE       GasCalculator
   system:
     SiPrefixPowerFactor 1
Attributes:
   BasicPricePerAnnum 0
   Currency   €
   GasCounterOffset 0
   GasCubicPerCounts 0.01
   GasNominalHeatingValue 10
   GasPricePerKWh 0.0654
   GaszValue  1
   MonthOfAnnualReading 5
   MonthlyPayment 0
   ReadingDestination CalculatorDevice
   SiPrefixPower W
   Volume     m³
   room       Central Heating,Heizungsraum,Heizungsübersicht


Auszug logfile vom ESP8266
2018-02-26_21:14:19 ESPEasy_GASZAEHLER Abs: 6059 Dif: 17 Zei: 11142
FHEM im Proxmox LXC
Raspberrymatic mit HB-RF-USB-2 für Homematic
ESPEasy/Tasmota/Shelly
Bayernlüfter, Plenticore Solar mit KSME EM410, EVCC mit E-Auto
Vailliant Arotherm Plus Wp mit ebus

majorshark

Nimm mal das event-on-change-reading im ESPEasy_GASZAEHLER komplett raus. Dann sollte es gehen.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

stolus

Danke, ist mir auch gerade aufgefallen :o
FHEM im Proxmox LXC
Raspberrymatic mit HB-RF-USB-2 für Homematic
ESPEasy/Tasmota/Shelly
Bayernlüfter, Plenticore Solar mit KSME EM410, EVCC mit E-Auto
Vailliant Arotherm Plus Wp mit ebus