Neues Modul: GasCalculator

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

Vorheriges Thema - Nächstes Thema

no_Legend

Ich hab vorhin das Update germacht.
MIt dem neuen Gas Modul habe ich eine Endlos Bootschleife von FHEM.

Woran es genau liegt kann ich dem Log leider nicht entnehmen.

Wenn ihr mir sagt wie ich es nachschauen kann woran es genau hängt, werde ich es gerne machen.

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.

nervnet

Hallo Sailor,

FHEM startet mit der aktuellen Version (set/get) auch nicht. Restore hilft.

Aus der FHEM.log hab ich folgenden Eintrag.

Can't use an undefined value as a HASH reference at ./FHEM/73_GasCalculator.pm line 735.

Danke für das Modul !!!!  :)

Nervnet
Cubietruck mit FHEM, tabletUI und Mosquitto
HM-LAN, HM-SEC-SD(2), HM-LC-Bl1PBU-FM, HM-LC-Dim1TPBU-FM, HM-LC-Dim1T-FM, HM-Sec-SCo, HM-Sec-RHS, HM-Sen-MDIR-O-2, HM-Sec-WDS-2, HMW-LGW-O-DR-GS-EU, HMW-IO-12-Sw14-DR, ComfoAir 350, Botvac D4, ESPEasy, Tasmoata, Musiccast, FB_Callmonitor, ESP RGBWW

Sailor

Hallo Nervnet

Zitat von: nervnet am 28 Juni 2016, 13:23:25
FHEM startet mit der aktuellen Version (set/get) auch nicht. Restore hilft.
Can't use an undefined value as a HASH reference at ./FHEM/73_GasCalculator.pm line 735.

Also wenn die Readings nicht vorhanden sind, dann kann er diese nicht lesen.
Aber im nächsten Durchlauf dürften sie dann da sein...
Mehr als einmal dürfte die Fehlermeldung daher nicht kommen.

Wiederholt sich die Fehlermeldung?

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

Sailor

Hallo Robert..

Zitat von: no_Legend am 28 Juni 2016, 10:39:10
Ich hab vorhin das Update germacht.
MIt dem neuen Gas Modul habe ich eine Endlos Bootschleife von FHEM.

:o Huch!

Was ist das denn. Hast du nur ein update und restore vom 73_gasCalculator.pm gemacht oder von mehreren Modulen gleichzeitig?

Bei mir schnurrt das Teil wie ein Kätzchen... Sonst hätte ich es gar nicht reingestellt.

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

no_Legend

Ich habe heute ein Update gemacht,
dabei wurde der Gas Cal geupdatet.

Danach ein shutdown restart gemacht und Endlosschleife.

Ich hab dann nur das define des gasCal auskommentiert und schon startete FHEM wieder.
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.

nervnet

Hallo Sailor,

FHEM hat es nicht mehr geschafft nach shutdown restart mit dem neuen Modul zu starten - mehrfach probiert. Es kam immer wieder die gleiche Meldung in der FHEM.log, aber sonst kein Zugrff auf FHEM. Mit dem alten Modul startet FHEM wieder. Ich hatte noch einen Fehler mit dem Event, weshalb tatsächlich noch keine Readings vorhanden waren. Mit dem alten Modul habe ich dann das Event (mehrfach) ausgelöst, woraufhin die Readings erstellt wurden. Dann läuft es auch nach dem erneuten Update.

Grüße
Nervnet
Cubietruck mit FHEM, tabletUI und Mosquitto
HM-LAN, HM-SEC-SD(2), HM-LC-Bl1PBU-FM, HM-LC-Dim1TPBU-FM, HM-LC-Dim1T-FM, HM-Sec-SCo, HM-Sec-RHS, HM-Sen-MDIR-O-2, HM-Sec-WDS-2, HMW-LGW-O-DR-GS-EU, HMW-IO-12-Sw14-DR, ComfoAir 350, Botvac D4, ESPEasy, Tasmoata, Musiccast, FB_Callmonitor, ESP RGBWW

Jamo

Bei mir startet FHEM auch nicht mehr mit dem neuen Modul.
Kann man das mit den Readings nicht abfangen?
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Sailor

Ein herzerfrischendes "Moin" vom "hintern Deich" vorweg

Da ich den Fehler bei mir nicht nachvollziehen kann, wird das von hier aus schwierig.
Versuchen wir es mal  ;):


Ich habe an der Zeile 735 mal eine Existenzabfrage eingestellt.
if($GasCalcDev->{READINGS})

Ich hoffe die beseitigt die Abstürze und Fehlermeldungen im Log sobald keine Readings da sind.

Bitte um Rückmeldung... Danke!

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

nervnet

Die Lösung funktioniert.

Für den Test habe ich alle relevanten Readings aus der fhem.save entfernt. Mit der bisherigen Version startet dann FHEM nicht und es kommt wieder die Fehlermeldung in der fhem.log.
Dann Code im Modul angepasst:

if($GasCalcDev->{READINGS})
{
%GasCalculator_gets = %{$GasCalcDev->{READINGS}};
%GasCalculator_sets = %{$GasCalcDev->{READINGS}};
}

Damit startet FHEM wieder.

Danke !!!  :D
Cubietruck mit FHEM, tabletUI und Mosquitto
HM-LAN, HM-SEC-SD(2), HM-LC-Bl1PBU-FM, HM-LC-Dim1TPBU-FM, HM-LC-Dim1T-FM, HM-Sec-SCo, HM-Sec-RHS, HM-Sen-MDIR-O-2, HM-Sec-WDS-2, HMW-LGW-O-DR-GS-EU, HMW-IO-12-Sw14-DR, ComfoAir 350, Botvac D4, ESPEasy, Tasmoata, Musiccast, FB_Callmonitor, ESP RGBWW

Sailor

Hallo nervnet

Zitat von: nervnet am 29 Juni 2016, 13:08:22
Die Lösung funktioniert.

Na siehste... Ein bisserl Grips kann Wunder wirken.
Auch bei mir!  ;D

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

Sailor

Ein herzerfrischendes "moin" vom "hintern Deich" vorweg

Ich habe soeben neue Readings implementiert

<DestinationDevice>_<SourceCounterReading>_EnergyCostLastDay   : Energiekosten in der gewählten Währung des letzten Tages.
<DestinationDevice>_<SourceCounterReading>_EnergyCostLastMeter : Energiekosten in der gewählten Währung der letzten Zählperiode des Gas-Versorgers.
<DestinationDevice>_<SourceCounterReading>_EnergyCostLastMonth : Energiekosten in der gewählten Währung des letzten Monats.
<DestinationDevice>_<SourceCounterReading>_EnergyCostLastYear  : Energiekosten in der gewählten Währung des letzten Jahres.
<DestinationDevice>_<SourceCounterReading>_EnergyLastDay       : Gesamter Energieverbrauch des letzten Tages (Gestern).
<DestinationDevice>_<SourceCounterReading>_EnergyLastMeter     : Gesamter Energieverbrauch der letzten Zählerperiode des Gas-Versorgers.
<DestinationDevice>_<SourceCounterReading>_EnergyLastMonth     : Gesamter Energieverbrauch im letzten Monat.
<DestinationDevice>_<SourceCounterReading>_EnergyLastYear      : Gesamter Energieverbrauch in kWh des letzten Kalender-Jahres.

Mit diesen Readings lassen sich die Plots wesentlich schneller und effizienter aufbauen zumal sie nur einen Wert pro Tag/Monat/Kalenderjahr/Ableseperiode enthalten.

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

Sailor

Ein herzerfrischendes "moin" vom "hintern Deich" vorweg

Ich habe soeben das Schwestermodul fuer den Stromzaehler eingecheckt: ElectricityCalculator (73_ElectricityCalculator.pm)

https://forum.fhem.de/index.php?topic=57106.msg485195#msg485195

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

Wilm

Hallo Sailor,

zuerst einmal vielen Dank für deine Arbeit. Zuerst den GasCalculator und nun der ElectricityCalculator (und vielleicht auch bald ein WaterCalculator?  ;) ).

Leider bekomme ich den GasCalculator bei mir nicht richtig zum Laufen. Das Modul zählt zwar schön die täglichen Impulse meines Gaszählers, aber mehr passiert auch nicht. Die anderen Readings verändern sich nicht. Hast du einen Tipp für mich?


fhem> list HK_GaszaehlerRechner
Internals:
   DEF        HK_Gaszaehler:impulse:.1.*
   NAME       HK_GaszaehlerRechner
   NR         964
   NTFY_ORDER 10-HK_GaszaehlerRechner
   REGEXP     HK_Gaszaehler:impulse:.1.*
   STATE      active
   TYPE       GasCalculator
   Readings:
     2016-08-29 16:04:47   HK_Gaszaehler_impulse_EnergyCostDayLast 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_EnergyCostMeter 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_EnergyCostMonth 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_EnergyCostYear 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_EnergyDay 0.000
     2016-08-29 16:04:47   HK_Gaszaehler_impulse_EnergyDayLast 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_EnergyMeter 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_EnergyMonth 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_EnergyYear 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_FinanceReserve 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_LastDV 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_LastDt 67
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_Meter 0.010
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_PowerCurrent 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_PowerDayAver 0.000
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_PowerDayCount 28
     2016-08-29 16:04:50   HK_Gaszaehler_impulse_PowerDayMax 0
     2016-08-29 16:04:49   HK_Gaszaehler_impulse_PowerDayMin 0
     2016-08-29 19:38:00   HK_Gaszaehler_impulse_PowerDaySum 0.000
     2016-08-29 19:37:59   HK_Gaszaehler_impulse_PrevRead 0.010
     2016-08-29 16:04:48   HK_Gaszaehler_impulse_Vol1stDay 0.01
     2016-08-11 14:30:59   HK_Gaszaehler_impulse_Vol1stMeter 0.01
     2016-08-11 14:30:58   HK_Gaszaehler_impulse_Vol1stMonth 0.01
     2016-08-11 14:30:59   HK_Gaszaehler_impulse_Vol1stYear 0.01
     2016-08-29 16:04:48   HK_Gaszaehler_impulse_VolLastDay 0.010
     2016-08-11 14:30:59   HK_Gaszaehler_impulse_VolLastMeter 0.010
     2016-08-11 14:30:58   HK_Gaszaehler_impulse_VolLastMonth 0.010
     2016-08-11 14:31:00   HK_Gaszaehler_impulse_VolLastYear 0.010
Attributes:
   BasicPricePerAnnum 0
   Currency   €
   GasCounterOffset 0.00
   GasCubicPerCounts 0.01
   GasNominalHeatingValue 10
   GasPricePerKWh 1.654
   GaszValue  1
   MonthOfAnnualReading 11
   MonthlyPayment 0
   ReadingDestination CalculatorDevice
   Volume     m³
   alias      GaszählerRechner
   room       Heizungskeller


Zusätzlich hatte ich noch versucht einen zweiten GasCalculator als Wasserzähler zweckzuentfremden, dabei kam es zu komischen Effekten beim bestehenden GasCalculator:
- In der Oberfläche im FHEM wurden beim GasCalculater für die set Befehle nur noch die des neuen Wasserzählers angezeigt
- Auch per Command konnten die Readings beim GasCalculator nicht mehr gesetzt werden.

Viele Grüße,
Wilm

Sailor

Hallo Wilm

Zitat von: Wilm am 29 August 2016, 20:51:24
zuerst einmal vielen Dank für deine Arbeit. Zuerst den GasCalculator und nun der ElectricityCalculator (und vielleicht auch bald ein WaterCalculator?  ;) ).

Bitte und Danke für die Blumen. Der Wasserzähler ist erstmal außen vor. Ich habe nämlich keinen Aufnehmer für die Impulse der beiden Zähler.

Zitat von: Wilm am 29 August 2016, 20:51:24
Leider bekomme ich den GasCalculator bei mir nicht richtig zum Laufen. Das Modul zählt zwar schön die täglichen Impulse meines Gaszählers, aber mehr passiert auch nicht. Die anderen Readings verändern sich nicht. Hast du einen Tipp für mich?


Gebe mit bitte mal fhem> list HK_Gaszaehler


Zunächst bitte ich dich folgende zwei Fehlermöglichkeiten auszuschließen:
a) Verbraucht deine Heizung zurzeit überhaupt Gas. Es ist schließlich Sommer!  8)
b) Handelt es sich beio deinem HK_Gaszaehler:impulse um einen "Continous Counter" oder um einen "Delta counter". Mein Modul braucht einen "Continuous Counter"

Glossary
Countinous Counter: Ein Zähler der immer weiter aufaddiert wie ein normaler Zähler. (Und das vorzugsweise Batterie-gepuffert auch bei Stromausfall erledigt)
Delta Counter: Ein Zähler der nur die Differenz seit dem letzten Intervall angibt und jedes Mal wieder bei 0 anfängt.

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

Wilm

Hallo Sailor,

da saß der Fehler mal wieder vor dem Rechner  :-[

"HK_Gaszaehler:impulse" ist wirklich nur der Impuls des Gaszählers, An oder Aus (1 oder 0). Habe jetzt einen HourCounter dazwischen gebaut und oh Wunder nun rechnet der GasCalculator auch. Dein Hinweis ging in die richtige Richtung, danke für die Hilfe.

Kannst Du mir auch einen Tipp geben warum bei mir die Auswahl in der Oberfläche falsch ist wenn ich einen zweiten GasCalcuator anlege?

Viele Grüße,
Wilm