Da es im Ursprungspost im Verlauf der Disksussion viel "Rauschen" gab, beziehe ich mich hier darauf und löse die Frage auf.
Aufgabenstellung:
Zu einem definierten Zeitpunkt/Datum sollen die aufgelaufenen Verbrauchswerte (Energy in kWh) von verschiedenen Geräten auf Null zurückgesetzt werden, um mit Beginn eines neuen Abrechnungszeitraumes mit der Aufzeichnung neu beginnen zu können.
1. Lösung für Steckdosen mit Tasmota:
Die über die Konsole möglichen Befehle lassen sich per http request zu den Geräten übertragen.
Es sind die Befehle
- EnergyToday 0
- EnergyTotal 0
- EnergyYesterday 0
In Blockly sieht das dann so aus (hier nur für ein Gerät gezeigt):
Es reichte nicht, nur den Gesamtverbrauch (EnergyTotal) zu löschen. Die hier gezeigte Reihenfolge hat sich bewährt, auf alle Fälle ist aber als Erstes EnergyToday zu resetten. Damit wird wohl auch EnergyTotal auf Null gesetzt, der "Yesterday"-Wert bleibt aber.
Ich habe letztlich die hier gezeigte Reihenfolge gewählt.
Über die Pausen zwischen den Befehlen kann man sich streiten, ob diese sinnvoll sind oder entbehrlich kann ich nicht beurteilen. Mir erschien es vorteilhaft die Geräte nicht mit Aktionen zu "erschlagen". Es handelt sich jauch nicht um zeitkritischen Abläufe.
2. Lösung für Shelly's (1PM und Steckdosen)
Um aufgelaufene Werte zu "löschen", müssen Geräte mit Shelly-Software per reboot resettet werden.
Die aufgelaufenen Werte befinden sich ja hierbei nicht "im Gerät", sondern werden im Shelly-Adapter vorgehalten.
Um die Geräte per http Befehl zu resetten, müssen bei passwortgeschützten Geräten (restrict login) im http-request Benutzername und Passwort mit übergeben werden.
Die Lösung fand ich hier.
Das nachfolgende Blockly zeigt aber etwas mehr:
Wer das Shelly-Script von Stefan Kreyenborg nutz um die aufgelaufenen Verbrauchswerte vor Verlust durch Stromausfall etc. zu schützen, muss natürlich auch hier radikal löschen lassen.
Ich reboote zunächst also das Gerät und setze im Shelly-Script alle relevanten DP ebenfalls auf Null.
Ob hier die Reihenfolge eine Rolle spielt, habe ich nicht getestet. Ich habe einfach die DP abgearbeitet.
Wie zu erkennen habe ich hierbei nicht mit timeouts gearbeitet, geht also auch.
Das Script arbeitet am Stichtag sowohl die "Nullung" der Tasmota-Geräte, als auch die der Shelly's ab. Der Trigger sitzt somit am Beginn der Blöcke, ebenso die Definition und Zuweisung des Null-Wertes zur Variablen "Nullung".
Alle Angaben ohne Gewähr und ohne Anspruch auf Vollständigkeit und Richtigkeit.