FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Parador am 22 November 2018, 19:43:51

Titel: Stromzähler & Watchdog
Beitrag von: Parador am 22 November 2018, 19:43:51
Hallo Zusammen,

ich versuche einen Verbraucher mit einem Watchdog zu überwachen und scheine irgendwo einen Knoten zu haben und freue mich auf Euere Unterstüzung.
Vielleicht zuerst was ich habe.... Es gibt einen Eltako Stromzähler mit Impulsausgang den ich von einem Wemos D1 Mini Pro mit ESP Easy / Impuls Counter an FHEM angebunden habe... Dieser liefert mir folgende Readings:
Readings
Count                         72.00
PulsZeit                      0.839
StromverbauchAktuell          4290.82
TagesVerbrauch                6.309
Time                          839.00
Total                         12618.00
ZaehlerStand                  7850.85600001114
presence                      present
state                         Cou: 72.00 Tim: 839.00 Tot: 12618.00


Jetzt würde ich gerne mittels Watchdog wissen, wenn länger als 12 Minuten mind. 60 Pulse/Count kommen. Wenn der Verbrauch vorher schon wieder unter die 60 fällt soll nix passieren...
Also habe ich einen Watchdog (Stromzaehler_Watchdog) wie folgt aufgebaut:

Stromzaehler:Count.[0-2]?[6-9][0-9] 00:12:00 Stromzaehler:Count.[0-5][0-9]
set Dummy_stromzaehler 1;
trigger Stromzaehler_Watchdog


Leider komme ich damit nicht weiter, er löst nicht aus... (ich bin nicht der Regexp-Profi und versuche mich hierbei gerade mal...)

Was hab ich falsch gemacht, bzw. was muss ich noch machen damit es läuft? Der Dummy dient mir nur der Überwachung ob es läuft, hätte hier auch eine andere Form der Benachrichtigung nehmen können...

Vielen Dank für euere Hilfe schon jetzt!
Titel: Antw:Stromzähler & Watchdog
Beitrag von: amenomade am 22 November 2018, 20:37:18
Ich würde die .00 in die Regex mitnehmen...
Zur Sicherheit, im Eventmonitor schauen, eine entspr. Eventzeile markieren, und auf "Create/modify device" klicken und "notify" oder "watchdog" auswählen. So wirst Du die richtige Regex sehen
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Parador am 22 November 2018, 21:35:18
Hallo amenomade,
und danke für Deine Tipps... noch eine Rückfrage/Verständnisfrage.. habe ich die 00 nicht schon? Ich meine beim Rücksetz-Teil [0-5][0-9] das geht doch von 00 bis 59, oder?
Titel: Antw:Stromzähler & Watchdog
Beitrag von: amenomade am 22 November 2018, 21:55:17
Ja, geht von 00 bis 59, aber nicht von 0.00 bis 59.00
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Parador am 23 November 2018, 06:42:03
ah, ok ;-) probier ich aus!
Danke
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Parador am 23 November 2018, 20:10:45
so ich habe nun die regexp auf folgendes geändert:
Stromzaehler:Count.[0-2]?[6-9][0-9](.?)[0-9]?[0-9]? 00:12:00 Stromzaehler:Count.[0-5][0-9](.?)[0-9]?[0-9]

Parallel habe ich einen zweiten Watchdog mittels Eventmonitor angelegt... (dort habe ich die CountZahl gegen das obige Regexp ausgetauscht)
Beide greifen nicht...

Kann es daran liegen, wie oft die Werte aktuallisiert werden? der Wemos übermittelt alle 60 Sekunden

Ein DOIF mit [Stromzaehler:Count] > 60 funktioniert.. da kann ich aber die 12Min. nicht abgreifen
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Damian am 23 November 2018, 21:04:35
Zitat von: Parador am 23 November 2018, 20:10:45
Ein DOIF mit [Stromzaehler:Count] > 60 funktioniert.. da kann ich aber die 12Min. nicht abgreifen

Warum nicht?

wait 720
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Parador am 23 November 2018, 21:08:59
Naja, aber mein bescheidenes Wissen zeigt mir schon einen Unterschied zwischen
einem Doif das zu einem einmaligen Count >60 reagiert und dann 12 Minuten wartet und etwas auslöst egal wo der Wert dann liegt
und einem Watchdog der 12 Minuten einen Count>60 erwartet bevor er reagiert
oder lieg ich da falsch?
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Damian am 23 November 2018, 21:19:54
Deine Anforderung war aber:

Zitatwenn länger als 12 Minuten mind. 60 Pulse/Count kommen
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Parador am 24 November 2018, 07:15:42
ja, es sollen mind 12 Minuten lang mind 60 Impule kommen...
ich habe deshalb mit einem watchdog gearbeitet (und es noch nicht hinbekommen)
mit einem Doif, kann ich aber doch nicht prüfen ob es 12 minuten lang die ganze Zeit mehr als 60 impulse sind, oder sehe ich das falsch?
mit wait verzögere ich doch nur die reaktion auf die einmalig erreichten 60 Impulse...
also ist meine Anforderung damit doch nicht erfüllt...
Aber Du bist der DOIF Profi... bitte zeig mir doch mit einem Beispiel (nicht nur "wait 720" - das verstehe ich im geschilderten Zusammenhang noch nicht - ) wie ich das mit einem DOIF hinbekomme...
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Damian am 24 November 2018, 10:23:47
define di_count DOIF ([Stromzaehler:Count] > 60)
attr di_count wait 720
attr di_count cmdState on|off



Wenn count > 60 wahr wird und innerhalb von 12 Minuten nicht unter 60 fällt, dann nimmt das Modul den Zustand "on" an und bleibt in diesem, sobald count unter 60 fällt, nimmt das Modul den Zustand "off" an.


Titel: Antw:Stromzähler & Watchdog
Beitrag von: Parador am 24 November 2018, 10:36:34
ok, danke, probier ich aus und meld mich wieder...
war mir bisher nicht bekannt, dass sich das auch so lösen läßt!
Titel: Antw:Stromzähler & Watchdog
Beitrag von: Damian am 24 November 2018, 10:39:14
Zitat von: Parador am 24 November 2018, 10:36:34
ok, danke, probier ich aus und meld mich wieder...
war mir bisher nicht bekannt, dass sich das auch so lösen läßt!

siehe Beispiel "Waschmaschine fertig" https://fhem.de/commandref_DE.html#DOIF_timerWithWait

Titel: Antw:Stromzähler & Watchdog
Beitrag von: Parador am 24 November 2018, 20:12:00
Klappt! Danke für die Unterstützung!