FHEM Forum

FHEM => Sonstiges => Thema gestartet von: R1F800 am 07 Juni 2020, 16:38:09

Titel: ModulFrage WaterCalcilator
Beitrag 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?
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: KölnSolar am 07 Juni 2020, 18:13:15
ZitatWater Calculator
beötigt einen absoluten Zählerstand. Ggfs. mit einem userreading den Zählerstand berechnen.
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: Skusi am 07 Juni 2020, 18:20:38
Oder den HourCounter dazwischen schalten.

So mache ich das.
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 07 Juni 2020, 22:07:33
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?
Titel: Antw:ModulFrage WaterCalcilator
Beitrag 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
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 08 Juni 2020, 10:26:58
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 ?
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 08 Juni 2020, 10:29:09
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
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: no_Legend am 08 Juni 2020, 11:12:14
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
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 08 Juni 2020, 11:29:04
Bedingt dann einen ESP8266 mit der Dirmware und dann das device in FHEM arducounter ...
korrekt?
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: KölnSolar am 08 Juni 2020, 14:09:30
ZitatDann muss ich aber noch einen  Impulszaehler  deklarieren oder? > DUMMY ?
Nein, ich hatte Impulszaehler als Synonym für
ZitatESPEasy_GartenWasseruhr_ImpulsWasseruhr
gewählt.
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 08 Juni 2020, 14:38:02
OK, Ich habe dann ein eigenes Reading innerhalb meines ESP devices angelegt mit dem Namen total_cm ...
Der soll dann alle Impulse aufaddieren... korrekt?
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 08 Juni 2020, 16:20:29
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.*
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: Skusi am 09 Juni 2020, 17:05:31
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.
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: KölnSolar am 09 Juni 2020, 18:38:54
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 ?  :-\
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: no_Legend am 10 Juni 2020, 07:29:10
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
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 10 Juni 2020, 08:22:18
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 ...
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 10 Juni 2020, 08:32:23
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 :
Titel: Antw:ModulFrage WaterCalcilator
Beitrag 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.

Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 10 Juni 2020, 10:47:07
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 ;-)
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: KölnSolar am 10 Juni 2020, 12:00:43
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 alternativESPEasy_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.
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 10 Juni 2020, 12:38:46
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)
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 15 Juni 2020, 12:18:11
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
...

Titel: Antw:ModulFrage WaterCalcilator
Beitrag 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.
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 15 Juni 2020, 16:07:31
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...
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: KölnSolar am 15 Juni 2020, 18:13:43
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....
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: R1F800 am 15 Juni 2020, 22:08:55
Gab es eine Antwort?
Titel: Antw:ModulFrage WaterCalcilator
Beitrag von: KölnSolar am 16 Juni 2020, 07:31:40
https://forum.fhem.de/index.php/topic,58579.msg1048192.html#msg1048192