Neues Modul: ElectricityCalculator

Begonnen von Sailor, 26 August 2016, 21:05:35

Vorheriges Thema - Nächstes Thema

Sailor

Hallo Gisbert

Zitat von: Gisbert am 19 Juni 2022, 12:53:16
gelegentlich startet mein Fhem von selbst neu. Warum, wieso und ob ich es in der Vergangenheit vielleicht selbst eingestellt habe, weiß ich leider nicht.
Der Neustart scheint wohl zu passieren, wenn irgendeine Art von Überlastung eintritt. Prinzipiell ist das ja gut, jedenfalls besser als wenn Fhem komplett lahm gelegt ist. Das ganze geschieht 2-3mal im Monat.
Der ElectricityCalculator startet dann wieder bei null, was dann den Tagesverbrauch verfälscht. Gibt es ein Gegenmittel dazu?


Es scheint immer wieder Probleme mit Crashes in Verbindung mit dem XCalculator zu geben.

Ich empfehle daher folgendes für alle:
Ein at mit intervall = 60min anlegen mit dem Befehl {WriteStatefile()} welcher alle fhem Readings in dem fhem.save speichert.
define at_AutoSaveStateFile at +*01:00:00 {WriteStatefile()}

Dies ist sogar nicht nur für die XCalculator hilfreich.
Damit sind selbst nach fhem - Crashs alle letzten Werte noch da.

Gruss
    Sailor
******************************
Man wird immer besser...

Gisbert

Hallo Sailor,

vielen Dank für deinen Rat.
Mit stündlicher Speicherung fängt bei einem Crash die Tageszählung nicht bei null sondern beim letzten gespeicherten Wert an. D.h. der Fehler ist auf max. eine Stunde begrenzt - gebe ich das richtig wieder?

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Sailor

Hallo Gisbert

Zitat von: Gisbert am 19 Juni 2022, 22:58:11
Mit stündlicher Speicherung fängt bei einem Crash die Tageszählung nicht bei null sondern beim letzten gespeicherten Wert an. D.h. der Fehler ist auf max. eine Stunde begrenzt - gebe ich das richtig wieder?

Korrekt!
******************************
Man wird immer besser...

Wasserwerk33

#738
Hallo Leute,

könnte mir jemand erklären was der Unterschied zwischen diesen beiden ist?? Es sind bei mir zwei verschieden kosten drin.

        <DestinationDevice>_<SourceCounterReading>_EnergyCostYear : Energiekosten in gewählter Währung seit Beginn des laufenden Kalenderjahres.
                <DestinationDevice>_<SourceCounterReading>_EnergyCostMeter : Energiekosten in gewählter Währung seit Beginn der laufenden Ableseperiode.


Ich blick da nämlich nicht durch.

haus.stromzaehler_total_consumption_EnergyCostYear  222.117  2022-07-14 08:38:36
haus.stromzaehler_total_consumption_EnergyCostMeter 205.334  2022-07-14 08:38:36



könnte es sein das das eine mit der Leitungsgebühr zusammenhängt?? Also dort wo der Preis höher ist??


Könnte mir auch jemand vielleicht sagen welche Wert für den Aktuellen Stromverbrauch steht?
Anbieter wechsel ist immer im 5 Monat des Jahres.

Internals:
   DEF        haus.stromzaehler:total_consumption:.*
   FUUID      6278c683-f33f-5e7b-c490-d552cdc97334fba2
   NAME       myElectricityCalculator
   NOTIFYDEV  haus.stromzaehler
   NR         159
   NTFY_ORDER 10-myElectricityCalculator
   REGEXP     haus.stromzaehler:total_consumption:.*
   STATE      Kosten Heute: 0.709 € <br>
Kosten Gestern: 2.750€ <br>
Kosten Monat: 49.457 €<br>
Kosten letzten Monat:85.677€<br>
Kosten Jahr: 222.121 €<br>
<br>
<br>
Reserve:160.911 €
   TYPE       ElectricityCalculator
   eventCount 845
   READINGS:
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_CounterCurrent 22561842.300
     2022-07-14 00:00:17   haus.stromzaehler_total_consumption_CounterDay1st 22559771.500
     2022-07-14 00:00:17   haus.stromzaehler_total_consumption_CounterDayLast 22559769.800
     2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterMeter1st 21962313.800
     2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterMeterLast 21962313.800
     2022-07-01 00:00:41   haus.stromzaehler_total_consumption_CounterMonth1st 22417443.600
     2022-07-01 00:00:41   haus.stromzaehler_total_consumption_CounterMonthLast 22417441.900
     2022-05-09 10:34:20   haus.stromzaehler_total_consumption_CounterYear1st 21913313.800
     2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterYearLast 21962313.800
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostDay 0.709
     2022-07-14 00:00:17   haus.stromzaehler_total_consumption_EnergyCostDayLast 2.750
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostMeter 205.339
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostMonth 49.457
     2022-07-01 00:00:41   haus.stromzaehler_total_consumption_EnergyCostMonthLast 85.677
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostYear 222.121
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyDay 2070.800
     2022-07-14 00:00:17   haus.stromzaehler_total_consumption_EnergyDayLast 7188.400
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyMeter 599528.500
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyMonth 144398.700
     2022-07-01 00:00:41   haus.stromzaehler_total_consumption_EnergyMonthLast 223991.400
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyYear 648528.500
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_FinanceReserve 160.911
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_MonthMeterReading 3
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_PowerCurrent 236.066
     2022-07-14 08:41:35   haus.stromzaehler_total_consumption_PowerDayAver 238.295
     2022-07-14 08:30:35   haus.stromzaehler_total_consumption_PowerDayMax 2436.000
     2022-07-14 05:20:34   haus.stromzaehler_total_consumption_PowerDayMin 98
     2022-05-09 09:45:08   haus.stromzaehler_total_consumption_WFRDayMax 0
     2022-05-09 09:45:08   haus.stromzaehler_total_consumption_WFRDayMin 0
   helper:
     gets:
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_CounterCurrent 22561842.300
       2022-07-14 00:00:17   haus.stromzaehler_total_consumption_CounterDay1st 22559771.500
       2022-07-14 00:00:17   haus.stromzaehler_total_consumption_CounterDayLast 22559769.800
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterMeter1st 21962313.800
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterMeterLast 21962313.800
       2022-07-01 00:00:41   haus.stromzaehler_total_consumption_CounterMonth1st 22417443.600
       2022-07-01 00:00:41   haus.stromzaehler_total_consumption_CounterMonthLast 22417441.900
       2022-05-09 10:34:20   haus.stromzaehler_total_consumption_CounterYear1st 21913313.800
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterYearLast 21962313.800
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostDay 0.709
       2022-07-14 00:00:17   haus.stromzaehler_total_consumption_EnergyCostDayLast 2.750
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostMeter 205.339
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostMonth 49.457
       2022-07-01 00:00:41   haus.stromzaehler_total_consumption_EnergyCostMonthLast 85.677
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostYear 222.121
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyDay 2070.800
       2022-07-14 00:00:17   haus.stromzaehler_total_consumption_EnergyDayLast 7188.400
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyMeter 599528.500
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyMonth 144398.700
       2022-07-01 00:00:41   haus.stromzaehler_total_consumption_EnergyMonthLast 223991.400
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyYear 648528.500
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_FinanceReserve 160.911
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_MonthMeterReading 3
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_PowerCurrent 236.066
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_PowerDayAver 238.295
       2022-07-14 08:30:35   haus.stromzaehler_total_consumption_PowerDayMax 2436.000
       2022-07-14 05:20:34   haus.stromzaehler_total_consumption_PowerDayMin 98
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_WFRDayMax 0
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_WFRDayMin 0
     sets:
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_CounterCurrent 22561842.300
       2022-07-14 00:00:17   haus.stromzaehler_total_consumption_CounterDay1st 22559771.500
       2022-07-14 00:00:17   haus.stromzaehler_total_consumption_CounterDayLast 22559769.800
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterMeter1st 21962313.800
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterMeterLast 21962313.800
       2022-07-01 00:00:41   haus.stromzaehler_total_consumption_CounterMonth1st 22417443.600
       2022-07-01 00:00:41   haus.stromzaehler_total_consumption_CounterMonthLast 22417441.900
       2022-05-09 10:34:20   haus.stromzaehler_total_consumption_CounterYear1st 21913313.800
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_CounterYearLast 21962313.800
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostDay 0.709
       2022-07-14 00:00:17   haus.stromzaehler_total_consumption_EnergyCostDayLast 2.750
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostMeter 205.339
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostMonth 49.457
       2022-07-01 00:00:41   haus.stromzaehler_total_consumption_EnergyCostMonthLast 85.677
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyCostYear 222.121
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyDay 2070.800
       2022-07-14 00:00:17   haus.stromzaehler_total_consumption_EnergyDayLast 7188.400
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyMeter 599528.500
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyMonth 144398.700
       2022-07-01 00:00:41   haus.stromzaehler_total_consumption_EnergyMonthLast 223991.400
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_EnergyYear 648528.500
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_FinanceReserve 160.911
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_MonthMeterReading 3
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_PowerCurrent 236.066
       2022-07-14 08:41:35   haus.stromzaehler_total_consumption_PowerDayAver 238.295
       2022-07-14 08:30:35   haus.stromzaehler_total_consumption_PowerDayMax 2436.000
       2022-07-14 05:20:34   haus.stromzaehler_total_consumption_PowerDayMin 98
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_WFRDayMax 0
       2022-05-09 09:45:08   haus.stromzaehler_total_consumption_WFRDayMin 0
   system:
     DecimalPlace %.3f
     SiPrefixPowerFactor 1000
Attributes:
   BasicPricePerAnnum 215
   Currency   €
   DecimalPlace 3
   ElectricityCounterOffset 0
   ElectricityKwhPerCounts 1
   ElectricityPricePerKWh 0.0003425
   MonthOfAnnualReading 5
   MonthlyPayment 140
   ReadingDestination CalculatorDevice
   SiPrefixPower kW
   group      Strom
   room       Keller
   stateFormat Kosten Heute: haus.stromzaehler_total_consumption_EnergyCostDay € <br>
Kosten Gestern: haus.stromzaehler_total_consumption_EnergyCostDayLast€ <br>
Kosten Monat: haus.stromzaehler_total_consumption_EnergyCostMonth €<br>
Kosten letzten Monat:haus.stromzaehler_total_consumption_EnergyCostMonthLast€<br>
Kosten Jahr: haus.stromzaehler_total_consumption_EnergyCostYear €<br>
<br>
<br>
Reserve:haus.stromzaehler_total_consumption_FinanceReserve €



Danke für eure Hilfe.

p.s. Ich hatte ja so Probleme damit das mein System immer Neugestartet ist, es lag daran das ich den Counter falsch eingestellt hat. Nun läuft es ohne Probleme und abstürze.

Lg Wasserwerk

Wolle02

Zitatkönnte mir jemand erklären was der Unterschied zwischen diesen beiden ist?? Es sind bei mir zwei verschieden kosten drin.

Steht doch da. Das eine sind die aufgelaufenen Kosten im laufenden Kalenderjahr und die anderen die der laufenden Ableseperiode.
Die Zeiträume müssen ja nicht deckungsgleich sein. Bei mir wird der Zähler immer im Juni abgelesen wohingegen das Jahr bei mir regelmäßig am 01.01. beginnt.   ;)

ZitatKönnte mir auch jemand vielleicht sagen welche Wert für den Aktuellen Stromverbrauch steht?

Den aktuellen Stromverbrauch liefert dir dein Zählerdevice. Wenn dein Stromzähler die aktuelle Leistung ausspuckt gibt es dort in der Regel ein Reading ´power´.

Wasserwerk33

Danke dann habe ich es verstanden. Den die lagen so nah bei mir aneinander deswegen.

Ich glaube habe mich falsch ausgedrückt. Meinte die Verbrauchten Kw/h seit der Ablese periode.

Danke für die Hilfe

Wolle02

ZitatMeinte die Verbrauchten Kw/h seit der Ablese periode.

Das wäre dann haus.stromzaehler_total_consumption_EnergyMeter

Wasserwerk33


Hauswart

Ich möchte ungefähr erahnen, wie viel Strom ich durch Photovoltaik einsparen könnte. Dazu möchte ich gerne auswerten, wie viel Strom ich von ca. 08:00 - 17:00 verbraucht habe. Wie mache ich dies am besten?





Ganz grob natürlich: Total_in_PowerDayAver * Anzahl Stunden
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Florian_GT

Hi,

in der Auflistung der durch das Module verfübaren Readings kommt zwei mal ": Energy consumption in kWh since the beginning of the current day (midnight). " vor. Ist denke ich mal ein Kopierfehler oder?

Gruß Florian
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

Nestor

#745
Attached is a patch for all 3 calculator modules that fixes following error when using set command SyncCounter and successfully displays the $ReturnMessage.
2022.07.26 11:51:11 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/73_WaterCalculator.pm line 426.


$hash is a compound data type in *Calculator_Set function, not a scalar value containing the device name.

--- - 2022-07-26 12:10:14.824823139 +0200
+++ /srv/fhem/FHEM/73_GasCalculator.pm 2022-07-26 12:03:13.583566465 +0200
@@ -423,7 +423,7 @@
$attr{$GasCalcName}{GasCounterOffset} = $CounterOffsetNew;

### Create ReturnMessage
- $ReturnMessage = $GasCalcName . " - Successfully synchronized Counter and Calculator with : " . $value . " " . $attr{$hash}{SiPrefixPower};
+ $ReturnMessage = $GasCalcName . " - Successfully synchronized Counter and Calculator with : " . $value . " " . $attr{$GasCalcName}{Volume};
}
### For Test purpose only
# elsif ($reading eq "Test")
--- - 2022-07-26 12:10:49.532027043 +0200
+++ /srv/fhem/FHEM/73_WaterCalculator.pm 2022-07-26 11:59:04.649116371 +0200
@@ -423,7 +423,7 @@
$attr{$WaterCalcName}{WaterCounterOffset} = $CounterOffsetNew;

### Create ReturnMessage
- $ReturnMessage = $WaterCalcName . " - Successfully synchronized Counter and Calculator with : " . $value . " " . $attr{$hash}{WFRUnit};
+ $ReturnMessage = $WaterCalcName . " - Successfully synchronized Counter and Calculator with : " . $value . " " . $attr{$WaterCalcName}{WFRUnit};
}
### For Test purpose only
# elsif ($reading eq "Test")
--- - 2022-07-26 12:11:26.200187862 +0200
+++ /srv/fhem/FHEM/73_ElectricityCalculator.pm 2022-07-26 12:04:29.627245885 +0200
@@ -423,7 +420,7 @@
$attr{$ElectricityCalcName}{ElectricityCounterOffset} = $CounterOffsetNew;

### Create ReturnMessage
- $ReturnMessage = $ElectricityCalcName . " - Successfully synchronized Counter and Calculator with : " . $value . " " . $attr{$hash}{SiPrefixPower};
+ $ReturnMessage = $ElectricityCalcName . " - Successfully synchronized Counter and Calculator with : " . $value . " " . $attr{$ElectricityCalcName}{SiPrefixPower};
}
### For Test purpose only
# elsif ($reading eq "Test")


My electricity meter measures in kWh and not in W. My water meter measures in m3 and not in a water flow unit. Maybe better to leave off the units?

maddinthebrain

#746
Hallo zusammen,

ich habe heute einen neuen Stromzähler bekommen. Wie kann denn den das mit Tagesverbrauch korrigieren? Aktuell steht -24000kWh. Und halt auch die anderen Werte sind z.T. Blödsinn. Wenn ich nun Stromzaehler_total_consumption_Ch1_EnergyDay auf den an dem heute bisher verbrauchten Strom setzen will, wird das zwar bestätigt aber Wertemäßig ignoriert.

Dankeschön.

Viele Grüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Kohle77

Hallo,
ich verstehe die Beschreibung des Wiki zu diesem Modul nicht wenn es um den indirekt Betrieb geht.
Ich habe folgende Aufbau:

  • Wolkszähler auf einem Pi mit einem IR Kopf
  • die vzlogger.conf habe ich so configuriert das die Daten an einen MQTT Server geschickt werden (also nur den Zählerstand)
  • FHEM bekommt die Daten über den MQTT Server
    • das Reading in diesem device is in Wh d.h. /1000 ist dann kWh

    Hier mal ein List dieses devices:
    Internals:
       FUUID      6360ea90-f33f-d2f4-ede5-f32ba980d4900fcc
       IODev      Mosquitto
       NAME       MQTT_Stromzaehler
       NR         780
       STATE      15944.2
       TYPE       MQTT_DEVICE
       eventCount 2
       READINGS:
         2022-11-02 07:17:02   IODev           Mosquitto
         2022-11-02 07:17:06   Stand_kWh       15944.2
         2022-11-01 22:22:01   chn0            15944155.700000
         2022-11-02 07:17:06   transmission-state subscription acknowledged
       message_ids:
       sets:
       subscribe:
         vzlogger/data/chn0/agg
       subscribeExpr:
         ^vzlogger\/data\/chn0\/agg$
       subscribeQos:
         vzlogger/data/chn0/agg 0
       subscribeReadings:
         vzlogger/data/chn0/agg:
           cmd       
           name       chn0
    Attributes:
       DbLogExclude .*
       alias      Stromzähler
       event-on-change-reading .*
       event-on-update-reading .*
       group      Zählerstand
       room       Stromzaehler
       stateFormat Stand_kWh
       subscribeReading_chn0 vzlogger/data/chn0/agg
       userReadings Stand_kWh {sprintf("%.1f",(ReadingsVal("MQTT_Stromzaehler","chn0",0)/1000))}
       userattr   subscribeReading_chn0


    Wenn ich es richtig verstehe aus dem Wiki sollte ich mit
    Zitatdefmod WPVerbrauch ElectricityCalculator MQTT_Stromzaehler:chn0
    ein Gerät anlegen das die Daten aus dem MQTT_Stromzaehler dann verarbeitet oder sehe ich das falsch?

    Gruß
    Christian

privat58

Hallo,
bin jetzt auf den ElectricityCalculator gestoßen. Da wir hier eine stündliche Abrechnung haben, wär es gut, wenn man den "ElectricityPricePerKWh" stündlich per setreading setzen könnte.
Rechnet der ElectricityCalculator stündlich den Preis aus und addiert dann die Werte z.Bsp. für den Monat oder nimmt er den Monatsverbrauch mal "ElectricityPricePerKWh"?
mvh Steffen

Wolle02

Schlimmer noch. Wenn sich unterjährig der Preis ändert, rechnet er rückwirkend das ganze Jahr mit dem neuen Preis.  :-\