Anzahl Einschaltvorgänge im Tasmota Script auf Nous A1T

  • Hallo zusammen,

    ich habe mir eine Nous A1T Steckdose gekauft und möchte damit eine Bilgenpumpe im Keller überwachen.

    Über die gemessene Stromaufnahme möchte ich die Abpumpvorgänge zählen und einfach einen Zähler entsprechend hochzählen.

    Keins der Beispiele hier habe ich entsprechend erfolgreich anpassen können.

    Vorarbeiten: Stromaufnahme liegt mit Netzteil im Leerlauf bei <0,020A. Wenn die Bilgenpumpe abpumpt, sind es > 0,300 A.


    Ich bin wie folgt vorgegangen:

    1.) Configuration -> Template -> GPIO16 von NONE auf Counter_n 1 geändert um den Counter auch auf dem HTTP API angezeigt zu bekommen (Das Hardware Template für Nous A1T ist eingestellt)

    2.) script.

    Bei meinem ersten und bisher einzig halbwegs sichtbaren Ergebnis zählt der Zähler während der Pumplaufzeit von ca. 2-4 Sekunden nicht die Stromaufnahme über dem Schwellwert

    Code
    Rule1
    on Energy#Current>0.100 do backlog counterdebounce1 10000; Counter1 +1
    endon

    Anschließend natürlich Rule1 1
    Ergebnis:

    02:34:33.417 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/tele/STATE = {"Time":"2024-06-10T02:34:33","Uptime":"0T05:52:14","UptimeSec":21134,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":24,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"SabineFranz","BSSId":"DC:39:6F:73:C2:E2","Channel":11,"Mode":"11n","RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:18"}}
    02:34:33.432 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/tele/SENSOR = {"Time":"2024-06-10T02:34:33","COUNTER":{"C1":0},"ENERGY":{"TotalStartTime":"2024-03-25T10:09:21","Total":0.007,"Yesterday":0.005,"Today":0.002,"Period":0,"Power":0,"ApparentPower":3,"ReactivePower":3,"Factor":0.07,"Voltage":234,"Current":0.012}}
    02:34:43.438 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/tele/STATE = {"Time":"2024-06-10T02:34:43","Uptime":"0T05:52:24","UptimeSec":21144,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"SabineFranz","BSSId":"DC:39:6F:73:C2:E2","Channel":11,"Mode":"11n","RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:18"}}
    02:34:43.450 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/tele/SENSOR = {"Time":"2024-06-10T02:34:43","COUNTER":{"C1":0},"ENERGY":{"TotalStartTime":"2024-03-25T10:09:21","Total":0.007,"Yesterday":0.005,"Today":0.002,"Period":0,"Power":0,"ApparentPower":2,"ReactivePower":2,"Factor":0.09,"Voltage":234,"Current":0.009}}
    02:34:48.304 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:48.313 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":1}
    02:34:48.924 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:48.935 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":2}
    02:34:49.524 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:49.533 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":3}
    02:34:50.189 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:50.198 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":4}
    02:34:50.875 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:50.883 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":5}
    02:34:51.486 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:51.495 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":6}
    02:34:52.090 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:52.098 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":7}
    02:34:52.693 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:52.702 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":8}
    02:34:53.322 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:53.330 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":9}
    02:34:53.410 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/tele/STATE = {"Time":"2024-06-10T02:34:53","Uptime":"0T05:52:34","UptimeSec":21154,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":23,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"SabineFranz","BSSId":"DC:39:6F:73:C2:E2","Channel":11,"Mode":"11n","RSSI":70,"Signal":-65,"LinkCount":1,"Downtime":"0T00:00:18"}}
    02:34:53.425 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/tele/SENSOR = {"Time":"2024-06-10T02:34:53","COUNTER":{"C1":9},"ENERGY":{"TotalStartTime":"2024-03-25T10:09:21","Total":0.007,"Yesterday":0.005,"Today":0.002,"Period":0,"Power":1,"ApparentPower":26,"ReactivePower":26,"Factor":0.05,"Voltage":234,"Current":0.109}}
    02:34:54.027 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:54.035 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":10}
    02:34:54.629 RUL: ENERGY#CURRENT>0.100 performs "Counter1 +1"
    02:34:54.638 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/stat/RESULT = {"Counter1":11}
    02:35:03.406 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/tele/STATE = {"Time":"2024-06-10T02:35:03","Uptime":"0T05:52:44","UptimeSec":21164,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":24,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"SabineFranz","BSSId":"DC:39:6F:73:C2:E2","Channel":11,"Mode":"11n","RSSI":76,"Signal":-62,"LinkCount":1,"Downtime":"0T00:00:18"}}
    02:35:03.420 MQT: SmartHome/Haus/Keller/Hausanschlussraum/Bilgenpumpe/tele/SENSOR = {"Time":"2024-06-10T02:35:03","COUNTER":{"C1":11},"ENERGY":{"TotalStartTime":"2024-03-25T10:09:21","Total":0.007,"Yesterday":0.005,"Today":0.002,"Period":0,"Power":0,"ApparentPower":2,"ReactivePower":2,"Factor":0.11,"Voltage":234,"Current":0.008}}


    Auch der folgende Code brachte nicht das gewünschte Ergebnis (einmalige Auslösung, 20 Sekunden sperre).

    Code
    rule1
    on Time#Initialized do rule2 5 endon
    on rules#timer=1 do rule2 5 endon
    
    rule2 
    ON Energy#Current>=0.100 DO  Counter1 +1 ENDON
    ON Energy#Current DO backlog ruletimer1 20;rule2 0 ENDON


    Ich wäre euch sehr dankbar für die Knotenlösung in meinem Gehirn.

    Viele Grüße, Franz

    • Hilfreichste Antwort

    Moin.

    Hier ist die One-Shot (ONCE) Funktion gefragt.

    Rule1 on Energy#Current>0.100 do backlog counterdebounce1 10000; Counter1 +1 endon

    backlog rule1 1;rule1 5

    Jetzt wird die "trigger energy#current>0.100" nach dem auslösen erst wieder erneut ausgelöst, wenn er mal kleiner 0.100 war und somit also die pumpe aus und erneut eingeschaltet wurde.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (10. Juni 2024 um 07:11)

  • FranzDA 10. Juni 2024 um 08:59

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.