Hallo,
vielleicht kann mir jemand helfen.
Ich habe eine Wasseruhr die Impuls an einem Wemos je LIter ausgibt.
Diese ESPEASY > FHEM Verbindung funktioniert auch. Die Impulse kommen in meinem Fhem an. Nicht als 0/1 sonder ON und OFF ...
soweit so gut.
Demnach scheint der Water Calculator nicht zu funktionieren.
hier mal die Config zu dem Calculator :
defmod GartenWasserRechner WaterCalculator ESPEasy_GartenWasseruhr_ImpulsWasseruhr:Literimpuls.*
attr GartenWasserRechner BasicPricePerAnnum 0
attr GartenWasserRechner Currency €
attr GartenWasserRechner DecimalPlace 3
attr GartenWasserRechner MonthOfAnnualReading 5
attr GartenWasserRechner MonthlyPayment 0
attr GartenWasserRechner ReadingDestination CalculatorDevice
attr GartenWasserRechner WFRUnit l/min
attr GartenWasserRechner WaterCounterOffset 0
attr GartenWasserRechner WaterCubicPerCounts 0,001
attr GartenWasserRechner WaterPricePerCubic 2
attr GartenWasserRechner event-on-change-reading .*
attr GartenWasserRechner event-on-update-reading .*
attr GartenWasserRechner room ESPEasy,Garten
setstate GartenWasserRechner active
setstate GartenWasserRechner 2020-06-07 16:24:26 CounterDay1st 22
setstate GartenWasserRechner 2020-06-07 16:25:11 CounterMeter1st 22
setstate GartenWasserRechner 2020-06-07 16:25:22 CounterMonth1st 22
setstate GartenWasserRechner 2020-06-07 16:25:17 CounterYEAR1st 22
_______
defmod ESPEasy_GartenWasseruhr_ImpulsWasseruhr ESPEasy 192.168.0.40 80 ESPBridge GartenWasseruhr_ImpulsWasseruhr
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr IODev ESPBridge
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr Interval 0
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr group ESPEasy Device
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr presenceCheck 1
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr readingSwitchText 1
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr room ESPEasy
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr setState 3
Das Reading selbst wird on off deklariert.
Literimpuls on 2020-06-07 16:29:51
state Lit: on 2020-06-07 16:29:51
Wie bekomme ich das jetzt dem Modul beigebogen meine Literimpulse zu schlucken?
ZitatWater Calculator
beötigt einen absoluten Zählerstand. Ggfs. mit einem userreading den Zählerstand berechnen.
Oder den HourCounter dazwischen schalten.
So mache ich das.
Zitat von: KölnSolar am 07 Juni 2020, 18:13:15
beötigt einen absoluten Zählerstand. Ggfs. mit einem userreading den Zählerstand berechnen.
Hast Du ein Beispiel für mich?
attr Impulszaehler userReadings Total_cm:Literimpuls.* {ReadingsVal($name,"Total_cm",0) + 1/1000}
Sollte klappen. Und einmalig den aktuellen Zählerstand mit
setreading Impulszaehler Total_sm aktuellerZählerstandinKubikm
Zitat von: KölnSolar am 07 Juni 2020, 22:41:56
attr Impulszaehler userReadings Total_cm:Literimpuls.* {ReadingsVal($name,"Total_cm",0) + 1/1000}
Sollte klappen. Und einmalig den aktuellen Zählerstand mit
setreading Impulszaehler Total_sm aktuellerZählerstandinKubikm
Dann muss ich aber noch einen Impulszaehler deklarieren oder? > DUMMY ?
Zitat von: Skusi am 07 Juni 2020, 18:20:38
Oder den HourCounter dazwischen schalten.
So mache ich das.
Das verstehe ich nicht. Ich brauche doch keine Uhrzeit zu dem das Event kommt... ich will doch nur die Impulse dem WaterCalculator beibiegen
Zitat von: R1F800 am 07 Juni 2020, 16:38:09
Hallo,
vielleicht kann mir jemand helfen.
Ich habe eine Wasseruhr die Impuls an einem Wemos je LIter ausgibt.
Diese ESPEASY > FHEM Verbindung funktioniert auch. Die Impulse kommen in meinem Fhem an. Nicht als 0/1 sonder ON und OFF ...
soweit so gut.
Demnach scheint der Water Calculator nicht zu funktionieren.
hier mal die Config zu dem Calculator :
defmod GartenWasserRechner WaterCalculator ESPEasy_GartenWasseruhr_ImpulsWasseruhr:Literimpuls.*
attr GartenWasserRechner BasicPricePerAnnum 0
attr GartenWasserRechner Currency €
attr GartenWasserRechner DecimalPlace 3
attr GartenWasserRechner MonthOfAnnualReading 5
attr GartenWasserRechner MonthlyPayment 0
attr GartenWasserRechner ReadingDestination CalculatorDevice
attr GartenWasserRechner WFRUnit l/min
attr GartenWasserRechner WaterCounterOffset 0
attr GartenWasserRechner WaterCubicPerCounts 0,001
attr GartenWasserRechner WaterPricePerCubic 2
attr GartenWasserRechner event-on-change-reading .*
attr GartenWasserRechner event-on-update-reading .*
attr GartenWasserRechner room ESPEasy,Garten
setstate GartenWasserRechner active
setstate GartenWasserRechner 2020-06-07 16:24:26 CounterDay1st 22
setstate GartenWasserRechner 2020-06-07 16:25:11 CounterMeter1st 22
setstate GartenWasserRechner 2020-06-07 16:25:22 CounterMonth1st 22
setstate GartenWasserRechner 2020-06-07 16:25:17 CounterYEAR1st 22
_______
defmod ESPEasy_GartenWasseruhr_ImpulsWasseruhr ESPEasy 192.168.0.40 80 ESPBridge GartenWasseruhr_ImpulsWasseruhr
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr IODev ESPBridge
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr Interval 0
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr group ESPEasy Device
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr presenceCheck 1
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr readingSwitchText 1
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr room ESPEasy
attr ESPEasy_GartenWasseruhr_ImpulsWasseruhr setState 3
Das Reading selbst wird on off deklariert.
Literimpuls on 2020-06-07 16:29:51
state Lit: on 2020-06-07 16:29:51
Wie bekomme ich das jetzt dem Modul beigebogen meine Literimpulse zu schlucken?
Nimm den Arducounter.
Gibt es auch hier im Forum, nehme ich für meinen Gaszähler.
Hier noch ein Reading mit Monotonic eingerichtet und schon hat man einen Fortlaufenden Zähler für die Berechnung.
Gruß Robert
Bedingt dann einen ESP8266 mit der Dirmware und dann das device in FHEM arducounter ...
korrekt?
ZitatDann muss ich aber noch einen Impulszaehler deklarieren oder? > DUMMY ?
Nein, ich hatte Impulszaehler als Synonym für
ZitatESPEasy_GartenWasseruhr_ImpulsWasseruhr
gewählt.
OK, Ich habe dann ein eigenes Reading innerhalb meines ESP devices angelegt mit dem Namen total_cm ...
Der soll dann alle Impulse aufaddieren... korrekt?
Ich muss nochmal blöd fragen.
Mein Userreading habe ich definiert .. das addiert schön die Impulse; zwar beide Wecshel Low auf HIGH und wieder auf LOW .. aber egal ..
userReadings GesamtWassermenge:State.* {ReadingsVal($name,"GesamtWassermenge",0)+0.5}
Das Wassermodul scheint aber den Counter (userreading) nicht zu fressen :
GartenWasserRechner WaterCalculator ESPEasy_Wasseruhr_Literimpuls:GesamtWassermenge.*
Zitat von: R1F800 am 08 Juni 2020, 10:29:09
Das verstehe ich nicht. Ich brauche doch keine Uhrzeit zu dem das Event kommt... ich will doch nur die Impulse dem WaterCalculator beibiegen
Das Hourecounter Modul ist ein "Betriebsstundenzähler" mit vielen nützlichen readings. Der generiert dir auch den fortlaufenden Zählerstand den du brauchst.
Versuch mal:
define Wasseruhr HourCounter ESPEasy_GartenWasseruhr_ImpulsWasseruhr:Literimpuls:.on ESPEasy_GartenWasseruhr_ImpulsWasseruhr:Literimpuls:.off
Und dann setzt du
Wasseruhr:countsOverall.*
in deinem Calcilator als reading ein.
ZitatuserReadings GesamtWassermenge:State.* {ReadingsVal($name,"GesamtWassermenge",0)+0.5}
Heißt das reading wirklich
State u. nicht
state, auf das Du triggerst ?
ZitatDas Wassermodul scheint aber den Counter (userreading) nicht zu fressen :
Ich vermute, dass Dein regexp nicht richtig ist. Schon mal in den event monitor geguckt wie das event genau aussieht. Ich spekuliere, dass es so
ESPEasy_Wasseruhr_Literimpuls:.GesamtWassermenge.*
lauten muss ? :-\
Zitat von: R1F800 am 08 Juni 2020, 11:29:04
Bedingt dann einen ESP8266 mit der Dirmware und dann das device in FHEM arducounter ...
korrekt?
Esp32, Esp8266 und Arduino geht auch.
Ich finde halt ein ESP32 wie ein TTGO am flexibelsten.
Beim TTGO kannst dir auch die werte direkt anzeigen lassen, dazu hast du auch die Möglichkeit einen Batterie direkt anschließen.
Der TTGO bringt alles notwendige dazu mit.
Gruß Robert
Zitat von: no_Legend am 10 Juni 2020, 07:29:10
Esp32, Esp8266 und Arduino geht auch.
Ich finde halt ein ESP32 wie ein TTGO am flexibelsten.
Beim TTGO kannst dir auch die werte direkt anzeigen lassen, dazu hast du auch die Möglichkeit einen Batterie direkt anschließen.
Der TTGO bringt alles notwendige dazu mit.
Gruß Robert
Hi Robert,
naja ESP32 ist ja mit Kanonen auf Spatzen zu schießen CUL; LoRa; WiFi; BT ... abgesehen davon kostet der das 5fache.
Die externe Antenne ist natürlich fein .. aber das ist ja eher für die 868 MHz ;-)
Und das Thema Spannungsversorgung ist analog des ESP8266. Der ESP8266 kann auf einem Display ebenfalls direkt alles anzeigen .. sogar dann via SPI ein Standars 22400 Display ...
Zitat von: KölnSolar am 09 Juni 2020, 18:38:54
Heißt das reading wirklich State u. nicht state, auf das Du triggerst ?
Ich vermute, dass Dein regexp nicht richtig ist. Schon mal in den event monitor geguckt wie das event genau aussieht. Ich spekuliere, dass es so ESPEasy_Wasseruhr_Literimpuls:.GesamtWassermenge.*
lauten muss ? :-\
Ich probiere mal aus vor dem Reading den PUNKT zu setzen ...
ESPEasy_Wasseruhr_Literimpuls:.GesamtWassermenge.*
Ja, das ist State :
Ah. State u. state als reading. Etwas unglücklich. Führt schnell zu Missverständnissen.
Zitat von: KölnSolar am 10 Juni 2020, 09:16:02
Ah. State u. state als reading. Etwas unglücklich. Führt schnell zu Missverständnissen.
Hallo, ja ... ich habe die selber aber nicht so deklariert :-)
der .DEVICE.* klappt aber auch nicht :-(
es muss doch auch das ATTR ReadingDestination auf CounterDevice stehen oder ?
> beides probiert ... ändert nichts ;-)
ZitatHallo, ja ... ich habe die selber aber nicht so deklariert :-)
schon klar. Das ging eher in Richtung Modulautor.
Zitatder .DEVICE.* klappt aber auch nicht
ZitatIch vermute, dass Dein regexp nicht richtig ist. Schon mal in den event monitor geguckt wie das event genau aussieht.
Wenn Du nicht in den event monitor guckst ::), sollte alternativ
ESPEasy_Wasseruhr_Literimpuls:.*GesamtWassermenge.*
helfen. Zur Erklärung, falls es Dir nicht bekannt ist: Ein Punkt steht immer für ein beliebiges Zeichen. Der Stern für beliebig oft. Meine Alternative bedeutet also: Reagiere auf ein event des devices ESPEasy_Wasseruhr_Literimpuls wo irgendwo im event auch GesamtWassermenge drin steckt. Zum Testen ist das immer ganz hilfreich, wenn man das event nicht genau kennt. Wenn das dann auch nicht klappt, müsstest Du dann doch mal in den event monitor gucken. 8)
Zitates muss doch auch das ATTR ReadingDestination auf CounterDevice stehen oder ?
Das attr bewirkt nur, WO das watercalculator-device seine erzeugten readings ablegt. Im calculator- oder im Zählerdevice.
Hallo.
ja das REGXP war nicht korrekt.
defmod GartenWasserRechner WaterCalculator ESPEasy_Wasseruhr_Literimpuls:GesamtWassermenge.*
der . (PUNKT) vor der Gesamtwassermenge darf da nicht hin.
Vorher hatte ich die alten Readings die scheinbar eine Aktion verhinderten ...
Habe die Readings mal resettet und siehe da es läuft
(gesamtWassermenge 18 Impulse = 18 Liter)
Nochmal eine Frage,
der Wert CounterDayLast, wann wird der berechnet?
Ich habe gestern die korrekten Mengen in den Variablen gefuinden, aber heute vermisse ich die Werten von gestern bei %Last...
Readings:
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_ConsumptionCostDay 40.28 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_ConsumptionCostMeter 40.28 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_ConsumptionCostMonth 40.28 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_ConsumptionCostYear 40.28 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_ConsumptionDay 20.142 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_ConsumptionMeter 20.142 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_ConsumptionMonth 20.142 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_ConsumptionYear 20.142 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterCurrent 20.143 2020-06-14 21:30:25
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterDay1st 0.001 2020-06-14 09:32:43
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterDayLast 0.001 2020-06-14 09:32:43
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterMeter1st 0.001 2020-06-14 09:32:43
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterMeterLast 0.001 2020-06-14 09:32:43
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterMonth1st 0.001 2020-06-14 09:32:43
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterMonthLast 0.001 2020-06-14 09:32:43
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterYear1st 0.001 2020-06-14 09:32:43
ESPEasy_Wasseruhr_Literimpuls_GesamtWassermenge_CounterYearLast 0.001 2020-06-14 09:32:43
...
Wenn ich mich recht entsinne immer mit dem 1. Impuls nach dem Tageswechsel. In Deinem Fall gab es ja noch keinen Impuls von heute.
Zitat von: KölnSolar am 15 Juni 2020, 13:15:20
Wenn ich mich recht entsinne immer mit dem 1. Impuls nach dem Tageswechsel. In Deinem Fall gab es ja noch keinen Impuls von heute.
bedeutet, dass am Folgetag, sofern keine neuen Readings kommen dieser Tag nicht berechnet wird?
Da fehlt doch dann der Trigger auf den Tageswechsel
es muss doch auf alle Fälle ein Mal am Tag kalkuliert werden...
ZitatDa fehlt doch dann der Trigger auf den Tageswechsel
es muss doch auf alle Fälle ein Mal am Tag kalkuliert werden...
In der Theorie sind wir uns einig. ;)
Ich hatte das mal bei Sailor eingekippt....
Gab es eine Antwort?
https://forum.fhem.de/index.php/topic,58579.msg1048192.html#msg1048192