kann man "von aussen" Counterwerte in den ESP schreiben ?

Begonnen von cs-online, 14 Januar 2019, 13:27:46

Vorheriges Thema - Nächstes Thema

cs-online

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
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

Papa Romeo

Hallo Christian, meinst du jetzt ESPEasy oder dem ESP selbst ?
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

cs-online

ä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 ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

pink99panther


Papa Romeo

#4
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.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

cs-online

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 ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

Papa Romeo

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...
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

cs-online

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...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

roedert

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)}

sparkiie

@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...

Papa Romeo

@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
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary