sunburstc Deine Hilfe ist echt super und Dein Hinweis auf chg[X]>0 war goldwert! Also mit
if chg[X]>0
then
führe irgend etwas aus
endif
kann man z.B. die Änderung des Puls-Counters triggern. Die Variable millis liefert die aktuelle Zeit in Millisekunden. Damit lässt sich die Zeitdifferenz zwischen zwei Impulsen bestimmen und daraus die aktulle Leistung berechnen:
>D
var=0 ;Zählerstand
tn=0 ;Zeit [ms] letzter Impuls
to=0 ;Zeit [ms] vorletzter Impuls
td=0 ;Zeitdifferenz zwischen den letzen zwei Impulsen [ms]
p=0 ;Leistung aktuell [W]
>B
->sensor53 r
>S
if chg[var]>0 ;wenn var sich ändert
then
tn=millis ;tn = aktuelle Zeit [ms]
td=tn-to
to=tn
p=3600000/td ;Berechnung Leistung [W] für 1 Pulse = 1Wh
endif
>T
var=Strom#Total
>W
aktuelle Leistung: {m} %p% W
>M
+1,2,c,1,0,Strom
1,1-0:1.8.0*255(@1000,Zählerstand,kWh,Total,3
#
Alles anzeigen
Die Möglichkeit in Tasmota Script ausführen zu können, begeistert mich immer mehr und mit dem ScriptEditor geht das Testen sehr einfach. Drum hier auch nochmal meinen Dank an gemu2015 und alle, die dieses Projekt voran gebracht haben.
Übrigens, mein Gaszähler läuft mit Debounce 50 seit gestern ohne irgend eine Fehlzählung - sogar mit externem 5V Netzeil am D1 Mini. Das hatte ich mit dem Tasmota Counter so nicht hinbekommen.
Viele Grüße