Hallo,
weiß jemand,ob man sozusagen "von aussen", also z.B. über HTTP dem ESPEasy nach einem Neustart, wo ja alle Counterwerte wieder auf null gesetzt werden, dort (bei total und Count) wieder Werte reinschreiben kann ?
Grüße
Christian
Hallo Christian, meinst du jetzt ESPEasy oder dem ESP selbst ?
ähm, also ich habe auf einem ESP ESPEasy drauf, um mit 3 Pulse-Countern Gas-, Wasser- und Aussenwasserzähler zu zählen. Die Werte lasse ich an FHEM schicken und werte das dann mit einem Notify aus, wieviel Differenz zwischen dem letzten gesendeten Stand und dem aktuellen ist und addiere das dann auf den bisherigen Stand drauf. Wenn ich den ESP nun vom Strom nehme, ist hinerher natürlich der Counter wieder auf null. Da würde ich nun gerne z.B. von FHEM oder per Hand per Laptop den Counter im ESPeasy auf dem ESP wieder auf den letzten in FHEM gespeicherten Wert zurück setzen. Geht sowas ?
Schau mal in Stromzähler S0 → ESP8266 mit ESPEasy → MQTT → FHEM
« Antwort #25 (https://forum.fhem.de/index.php/topic,61731.msg569745.html#msg569745)
Mit dem monotonic, wäre das nicht auch eine Lösung für dich?
Hallo Christian,
nutz doch das ESP interne EEprom. Ich mache das bei meinen GW60.
Damit nicht nach z.B. einem Stromausfall jedesmal eine Kalibrier fahrt nötig ist, speichere ich die maximale und die letzte Position im EEprom und rufe die Werte dann, wenn nötig, z.B. bei einem Neustart, wieder ab.
Zitat von: Papa Romeo am 15 Januar 2019, 11:22:52
Hallo Christian,
nutz doch das ESP interne EEprom. Ich mache das bei meinen GW60.
Damit nicht nach z.B. einem Stromausfall jedesmal eine Kalibrier fahrt nötig ist, speichere ich die maximale und die letzte Position im EEprom und rufe die Werte dann, wenn nötig, z.B. bei einem Neustart, wieder ab.
Das klingt super, hast du da evtl. ein Script ? Ich vermute das läuft über Rules oder ?
Zitat von: cs-online am 15 Januar 2019, 13:23:00
Das klingt super, hast du da evtl. ein Script ? Ich vermute das läuft über Rules oder ?
...ist im Sketch selber eingebunden....ich such´s mal raus....vielleicht kannst damit was anfangen...
Hallo,
ich habe es hinbekommen, eigentlich ganz einfach:
eine Rule definiert:
on setcount do
TaskValueSet 7,1,%eventvalue%
endon
Dabei ist der Counter das 7. Device, das angelegt wurde und der Count ist die 1. Variable in dem Device.
Mit
http://<IP-ESP>/control?cmd=event,setcount=5
kann dann die Variable gesetzt werden. Jetzt noch eine Rule anlegen, die nach dem booten FHEM triggert, den o.a. http-Aufruf zu senden, dann war es das schon...
Eigentlich ist es gar nicht nötig dass der ESP den echten Zählerstand weiss.
Es reicht doch und ist in meinen Augen auch sinnvoller wenn FHEM immer nur die Differenz aus dem vom ESP empfangen Wert auswertet - geht ziemlich einfach mit einem Userreading monotonic
totalCount:counter:.* monotonic {ReadingsVal($name,'counter',0)}
@Papa Romeo:
Ich habe ebenfalls das Problem mit den Counter Werten nach dem Neustart und würde diese gerne ins Eeprom schreiben.
Könntest du bitte im Script danach schauen?
Zitat von: Papa Romeo am 15 Januar 2019, 23:55:48
...ist im Sketch selber eingebunden....ich such´s mal raus....vielleicht kannst damit was anfangen...
@sparkiie:
...hier ist es ganz gut beschrieben: https://www.arduino.cc/en/Reference/EEPROM.
Solltest du nicht klar kommen, schick ich dir meinen Sketsch von meinem Gaszähler.
Da ist es auch ganz gut zu sehen.
Papa Romeo