Stromzähler,Gaszähler und wasserzähler

Begonnen von Sebastian84, 02 Juli 2024, 23:09:56

Vorheriges Thema - Nächstes Thema

Sebastian84

  2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_PowerCurrent: 0.000
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_PowerDayAver: 101.677
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_EnergyDay: 18.400
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_EnergyMonth: 18.400
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_EnergyYear: 18.400
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_EnergyMeter: 18.400
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_EnergyCostDay: 1.809
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_EnergyCostMonth: 1.809
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_EnergyCostYear: 1.809
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_EnergyCostMeter: 1.809
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_FinanceReserve: -1.809
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_Meter: 1.900
2024-07-30 20:00:00 GasCalculator Gasverbrauch Zaehler_state_MonthMeterReading: 3
2024-07-30 20:00:00 HourCounter Zaehler countsPerDay: 19
2024-07-30 20:00:00 HourCounter Zaehler countsOverall: 24
2024-07-30 20:00:00 HourCounter Zaehler pulseTimeIncrement: 32
2024-07-30 20:00:00 HourCounter Zaehler pulseTimeEdge: 32
2024-07-30 20:00:00 HourCounter Zaehler pulseTimePerDay: 20312
2024-07-30 20:00:00 HourCounter Zaehler pulseTimeOverall: 30366
2024-07-30 20:00:00 HourCounter Zaehler pauseTimeIncrement: 769
2024-07-30 20:00:00 HourCounter Zaehler pauseTimeEdge: 10005
2024-07-30 20:00:00 HourCounter Zaehler pauseTimePerDay: 51688
2024-07-30 20:00:00 HourCounter Zaehler pauseTimeOverall: 68254
2024-07-30 20:00:00 HourCounter Zaehler value: 0
2024-07-30 20:00:00 HourCounter Zaehler 19
2024-07-30 20:00:00 HourCounter Zaehler tickUpdated: 77
2024-07-30 20:00:00 HourCounter Zaehler tickHour 

Das kommt bei Zaehler im Event Monitor raus

MadMax-FHEM

#31
Wie vermutet: kein state
EDIT: ich frage ich mich wie du dann schreiben kannst alles geht

Ich nutze ja weder HourCounter noch GasCalculator aber wenn ich die commandref lese (kannst du auch tun) steht dort, dass in der RegEx ein ständig steigender Zähler bei GasCalculator zu nehmen ist.

Da musst du halt sehen, was bei deinem Zähler der (für dich) passende Wert/Reading ist.

Eventmonitor hast du ja bereits, da dann die passende Zeile markieren und z.B. ein notify anlegen lassen oder beim Anlegen die RegEx kopieren und verwenden.
(wenn du tatsächlich ein notify anlegen hast lassen: kannst du nach dem Kopieren der RegEx wieder löschen)

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)

rih

@Sebastian: es ist wirklich schwierig, dir zu helfen. Ich bewundere Joachim für seine Geduld.

Lies dir doch bitte das Wiki zum ElectricityCalculator (ggf. nochmal) durch. Ist genau daselbe wie der GasCalculator:
https://wiki.fhem.de/wiki/ElectricityCalculator

Kannst du englisch? Du darfst z.B. bei Month1st nicht den aktuellen Zählerstand eintragen! Month1st ist der (in deinem Fall geschätzte) Zählerstand am 1.7. Der muss natürlich kleiner sein als der aktuelle!
Vermutlich ist der GasCalculator durch die falsch eingetragenen Werte so durcheinander, dass er nun nicht mehr zählt.

Ich schlage vor, du löscht den GasCalculator und legst ihn neu an. Die Definition scheint ja zu passen, wenn er schon mal gezählt hat. Und dann trägst du nur im Reading ...Meter1st deinen aktuellen Zählerstand ein. Alle anderen Readings lässt du wie sie sind und beobachtest das Ganze mal eine Weile, damit du siehst, wie sich die Readings verändern.
Die anderen 1st-Readings solltest du nur ändern, wenn du verstanden hast, wofür sie jeweils stehen! Du musst sie aber nicht unbedingt ändern, mit der Zeit werden die entsprechenden Readings die Tages-, Monats- und Jahresverbräuche automatisch beinhalten.

Sebastian84

#33
Ich hab jetzt nochmal alles gelöscht und neu gemacht. Er zäht alles wie er soll. Aber wenn ich in den Wert Meter1st des Abgelesenden Zählers eintrage, wird der Wert nicht nach dem nächsten Zählen addiert und bleibt beim Hand eingetragenden Zählerstand.

Währe ein userreading Zaehler_state_CounterMeter1st +z.b. [8173.231].
Damit hätte ich doch immer den aktuellen Zählerstand?
Ich weiß nur nicht wie ich das schreiben muss. Hab auch nachgelesen,werde daraus aber leider nicht schlau.

MadMax-FHEM

#34
Zitat von: Sebastian84 am 30 Juli 2024, 23:53:44Aber wenn ich in den Wert Meter1st des Abgelesenden Zählers eintrage
Wie hast du das gemacht?
Wäre gut zu wissen, also genau das was du getan hast (am besten wäre copy&paste des Befehls gewesen).
Zumindest ein neues list wäre schon mal was.

Nur zu schreiben: ich habe was gemacht und dann geht was nicht mehr hilft halt nicht zu helfen... :-|

Zitat von: Sebastian84 am 30 Juli 2024, 23:53:44Währe ein userreading Zaehler_state_CounterMeter1st +z.b. [8173.231].
Würde verm. gehen aber so wie ich das Modul verstehe, gehen dann die "Statistikwerte" bzw. Monats-/Jahren-Werte usw. nicht mehr. Bzw. müsstest du dir dafür selbst was überlegen und dann könntest du verm. gleich was basteln ohne das Modul zu nutzen...

Zitat von: Sebastian84 am 30 Juli 2024, 23:53:44Ich weiß nur nicht wie ich das schreiben muss. Hab auch nachgelesen,werde daraus aber leider nicht schlau.
Wo hast du nachgelesen?

Eigentlich ganz einfach:

attr DeviceName userReadings GewünschterReadingName:Trigger {Berechnung in Perl}

Evtl. so:

attr GasCalculator userReadings Zaehler_state_CounterMeter1st_calc:Zaehler_state_CounterMeter1st.* {return ReadingsNum($name, "Zaehler_state_CounterMeter1st", 0) + 8173.231}

8173.231 -> ist das ein Dezimalstellen-Punkt oder soll das 8173231 sein?
(halt entsprechend anpassen)

Aber da muss ich rih beipflichten: einfach an Readings "rumbasteln" ohne zu verstehen wie die Zusammenhänge sind, hmmm...

Oder halt gleich beim Zähler-Device korrigieren, geht im Prinzip genauso, musst du halt anpassen.
Evtl. ist das besser, da dann die weiteren Mechanismen von GasCalculator weiter funktionieren sollten/könnten.

Aber wie schon geschrieben: ich nutze das Modul nicht.

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)

rih

#35
Zitat von: Sebastian84 am 30 Juli 2024, 23:53:44Ich hab jetzt nochmal alles gelöscht und neu gemacht. Er zäht alles wie er soll. Aber wenn ich in den Wert Meter1st des Abgelesenden Zählers eintrage, wird der Wert nicht nach dem nächsten Zählen addiert und bleibt beim Hand eingetragenden Zählerstand.

@Sebastian: entschuldige bitte, im Beitrag #27 habe ich Mist bzw. missverständlich geschrieben.

Das Reading "...Meter1st" ist dein Anfangszählerstand. Der ändert sich nicht. Der ist die Grundlage für die weitere Verbrauchs- und Zählerstandsermittlung. Du hast soweit alles richtig gemacht.

Dein aktueller Zählerstand sollte im Reading "...Meter" stehen, ohne 1st hinten dran. Schau dir doch die Readings mal genau an! Und zeig bitte nochmal die aktuelle Readingsliste.

Du brauchst wirklich keine Userreadings etc. Der GasCalculator berechnet dir das alles alleine.

Sebastian84

          Zaehler:countsOverall.*
   FUUID      66aa418e-f33f-cdd4-35af-f1fad83eada07667
   NAME       Gasverbrauch
   NOTIFYDEV  Zaehler
   NR         45588
   NTFY_ORDER 10-Gasverbrauch
   REGEXP     Zaehler:countsOverall.*
   STATE      Zaehlerstand: 8175.246<br/><br/>Verbrauch_Heute:4.000 Kwh<br/> Kosten_Heute:0.393 €<br/><br/>Verbrauch_Monat:4.000 Wkh <br/>Kosten_Monat: 0.393 €<br/><br/>Verbrauch_Jahr:9.900 Wkh<br/>Kosten_Jahr:0.973 €
   TYPE       GasCalculator
   eventCount 69
   READINGS:
     2024-08-01 09:00:00   Zaehler_countsOveral_Meter_calc 8173.231
     2024-07-31 15:57:30   Zaehler_countsOverall_CounterDay1st 0.000
     2024-07-31 15:57:30   Zaehler_countsOverall_CounterDayLast 0.000
     2024-08-01 09:20:47   Zaehler_countsOverall_CounterMeter1st 8175.246
     2024-07-31 15:57:30   Zaehler_countsOverall_CounterMeterLast 0.000
     2024-07-31 15:57:30   Zaehler_countsOverall_CounterMonth1st 0.000
     2024-07-31 15:57:30   Zaehler_countsOverall_CounterMonthLast 0.000
     2024-07-31 15:57:30   Zaehler_countsOverall_CounterYear1st 0.000
     2024-07-31 15:57:30   Zaehler_countsOverall_CounterYearLast 0.000
     2024-08-01 09:00:00   Zaehler_countsOverall_EnergyCostDay 0.393
     2024-08-01 00:00:00   Zaehler_countsOverall_EnergyCostDayLast 0.580
     2024-08-01 09:00:00   Zaehler_countsOverall_EnergyCostMeter 0.973
     2024-08-01 09:00:00   Zaehler_countsOverall_EnergyCostMonth 0.393
     2024-08-01 00:00:00   Zaehler_countsOverall_EnergyCostMonthLast 0.580
     2024-08-01 09:00:00   Zaehler_countsOverall_EnergyCostYear 0.973
     2024-08-01 09:00:00   Zaehler_countsOverall_EnergyDay 4.000
     2024-08-01 00:00:00   Zaehler_countsOverall_EnergyDayLast 5.900
     2024-08-01 09:00:00   Zaehler_countsOverall_EnergyMeter 9.900
     2024-08-01 09:00:00   Zaehler_countsOverall_EnergyMonth 4.000
     2024-08-01 00:00:00   Zaehler_countsOverall_EnergyMonthLast 5.900
     2024-08-01 09:00:00   Zaehler_countsOverall_EnergyYear 9.900
     2024-08-01 09:00:00   Zaehler_countsOverall_FinanceReserve 479.027
     2024-08-01 09:00:00   Zaehler_countsOverall_Meter 1.000
     2024-08-01 09:00:00   Zaehler_countsOverall_MonthMeterReading 4
     2024-08-01 09:00:00   Zaehler_countsOverall_PowerCurrent 0.000
     2024-08-01 09:00:00   Zaehler_countsOverall_PowerDayAver 22.741
     2024-08-01 05:06:29   Zaehler_countsOverall_PowerDayMax 133.333
     2024-08-01 00:00:00   Zaehler_countsOverall_PowerDayMin 0
     2024-08-01 00:00:00   Zaehler_countsOverall_Vol1stDay 0.6
     2024-07-31 15:57:31   Zaehler_countsOverall_Vol1stMeter 0.01
     2024-08-01 00:00:00   Zaehler_countsOverall_Vol1stMonth 0.600
     2024-07-31 15:57:31   Zaehler_countsOverall_Vol1stYear 0.01
     2024-08-01 00:00:00   Zaehler_countsOverall_VolLastDay 0.600
     2024-07-31 15:57:31   Zaehler_countsOverall_VolLastMeter 0.000
     2024-08-01 00:00:00   Zaehler_countsOverall_VolLastMonth 0.600
     2024-07-31 15:57:31   Zaehler_countsOverall_VolLastYear 0.000
     2024-07-31 15:57:30   Zaehler_countsOverall_WFRDayMax 0
     2024-07-31 15:57:30   Zaehler_countsOverall_WFRDayMin 0
   system:
     DecimalPlace %.3f
     SiPrefixPowerFactor 1
Attributes:
   BasicPricePerAnnum 0
   Currency   &#8364;
   DecimalPlace 3
   GasCounterOffset 0
   GasCubicPerCounts 0.1
   GasNominalHeatingValue 10
   GasPricePerKWh 0.0983
   GaszValue  1
   MonthOfAnnualReading 5
   MonthlyPayment 120
   ReadingDestination CalculatorDevice
   SiPrefixPower W
   Volume     m&#179;
   group      Gaszaehler
   icon       gasmeter2
   room       Gaszaehler
   stateFormat Zaehlerstand: Zaehler_countsOverall_CounterMeter1st<br/><br/>Verbrauch_Heute:Zaehler_countsOverall_EnergyDay Kwh<br/> Kosten_Heute:Zaehler_countsOverall_EnergyCostDay €<br/><br/>Verbrauch_Monat:Zaehler_countsOverall_EnergyMonth Wkh <br/>Kosten_Monat: Zaehler_countsOverall_EnergyCostMonth €<br/><br/>Verbrauch_Jahr:Zaehler_countsOverall_EnergyYear Wkh<br/>Kosten_Jahr:Zaehler_countsOverall_EnergyCostYear €
   userReadings Zaehler_countsOveral_Meter_calc:Zaehler_countsOverall_Meter.* {return ReadingsNum($name, "Zaehler_  countsOverall_Meter", 0) + 8175.246}
 

Ich habe den Zaehler_countersOverall genommen weil das der vortlaufende Impuls Zähler ist.

MadMax-FHEM

#37
Zitat von: Sebastian84 am 01 August 2024, 09:27:09Ich habe den Zaehler_countersOverall genommen weil das der vortlaufende Impuls Zähler ist.
Schön.
Und was soll uns das jetzt sagen?

Funktioniert? -> gelöst? -> dann entsprechend den Thread markieren

Immer noch Probleme? -> welche?

Zitat von: Sebastian84 am 01 August 2024, 09:27:09userReadings Zaehler_countsOveral_Meter_calc:Zaehler_countsOverall_Meter.* {return ReadingsNum($name, "Zaehler_  countsOverall_Meter", 0) + 8175.246}
Warum (trotzdem) mit userReadings, obwohl ich denke (und auch geschrieben habe), dass das nicht der zielführende Weg scheint und rih das ja bestätigt hat?
Zitat von: rih am 31 Juli 2024, 21:14:23Du brauchst wirklich keine Userreadings etc. Der GasCalculator berechnet dir das alles alleine.

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)

Sebastian84

Ich hab  alles so gemacht. Aber der der abglesende Zählerstand wird nicht weiter gezählt.

rih

#39
Dem Zeitstempel nach hast du heute um 09:20:47 das Reading "Zaehler_countsOverall_CounterMeter1st" schon wieder verändert! Warum machst du das? Der Zähler kann nicht funktionieren, wenn du ständig den Grundwert veränderst!

Deinen Zählerstand müsste das Reading "Zaehler_countsOveral_Meter_calc" wiederspiegeln. Der Wert ist aber kleiner als der ...1st-Wert. Klar, wenn du ständig Readings veränderst.

Ich bin da jetzt raus, sorry.

PS: Der Zählerstand in deinem stateFormat kann sich natürlich nicht ändern. Dort hast du ja das Reading ...1st eigetragen:
stateFormat Zaehlerstand: Zaehler_countsOverall_CounterMeter1st<br/ ...

Sebastian84

#40
Wenn ich in den Zahler Zaehler_countsOveral_Meter mein Zehlerstand eingebe wird er beim nächsten Impuls wieder auf die gesamt Zählerzahl z.b. 1.200 gesetzt.

Und der Zaehler_countsOveral_Meter wird ja zum rechnen genommen.


Sebastian84

  Zaehler_countsOveral_Meter_calc:Zaehler_countsOverall_Meter.* {return ReadingsNum($name, "Zaehler_ countsOverall_Meter", 0) + 8175.246}
Zählt nicht weiter von 8175.246

MadMax-FHEM

Zitat von: Sebastian84 am 01 August 2024, 14:41:52Zählt nicht weiter von 8175.246
(Kommen Events bzgl. Zaehler_countsOverall_Meter?)

Bzw. eher ist das die Ursache: Zaehler_ countsOverall_Meter <- da ist ein Leerzeichen drin! Das kann so nicht gehen. Die ReadingsNum-Abfrage liefert hier (verm.) immer den "Ersatzwert" und der ist 0...

Und immer noch: warum hörst du nicht auf uns!?

Wenn du (wie so oft auch in anderen Threads) einfach "machst was du denkst", wie soll man da bitteschön helfen?

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)

Sebastian84

#43
Ja es kommen immer Events Zaehler_countsOverall_Meter [ das sind die aus mein Zähler. Wenn der Reedkontakt schließt.
Beispiel Zähler zählt 1 wird in Events bzgl. Zaehler_countsOverall_Meter:0.100 addiert.
Das stimmt ja alles.
Nur mein Zählerstand in m3 wird nicht weiter gezählt.

Ich hab es ja probiert, aber wenn ich mein Zählerstand in ...Meter einge wie ich das machen soll wird er von den Zähler wieder überschrieben.

Es wird sonst ja auch alles gezäht.
Nur leider nicht mein Zehlerstand fordlaufend.

Sebastian84

#44
Das mit den userreading hat super geklappt.
  Zaehler_countsOverall_EnergyDay
12.000W
Das man im userreading das nur 12 Kwh rauskommt anstadt 12.000W

Würde das so gehen?

Zaehler_countsOverall_EnergyDay.* {my $val = sprintf("%.2f",(ReadingsNum($name, "Zaehler_countsOverall_EnergyDay", 0) / 1000 )); return "$val Kwh";}