[Gelöst]UserReadings eines dummy will nicht

Begonnen von thgorjup, 05 Januar 2018, 12:24:20

Vorheriges Thema - Nächstes Thema

thgorjup

Hallo, ich habe einen dummy, welcher mich alle 30 Tage per notify an das Spülen meines Rückspülfilters erinnern soll.
Benachrichtigung über Pushover. Aber das UserReadings funktioniert nicht.

Config:

define Rueckspuelfilter dummy
attr Rueckspuelfilter alias Rückspülfilter
attr Rueckspuelfilter devStateIcon on:rc_GREEN off:rc_RED
attr Rueckspuelfilter group Zustände
attr Rueckspuelfilter icon refresh
attr Rueckspuelfilter readingList intervall
attr Rueckspuelfilter room 61_Waschküche
attr Rueckspuelfilter setList intervall:30,60,90 on off
attr Rueckspuelfilter userReadings time { return "expired" if ( time() - time_str2num(ReadingsTimestamp("Rueckspuelfilter","state","0")) > ((ReadingsNum("Rueckspuelfilter","intervall","0")) * 86400) );; return "intime" }

setstate Rueckspuelfilter on
setstate Rueckspuelfilter 2017-11-21 21:49:20 intervall 30
setstate Rueckspuelfilter 2017-11-21 21:47:10 state on
setstate Rueckspuelfilter 2017-11-21 21:49:20 time intime


Eigentlich müsste das UerReadings das Reading "time" auf den Wert "expired" setzen, aber es passiert nichts.
Jemand eine Idee?

Gruß
Thomas

FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

didi-fritz

hallo,

ich vermute, dass dein userreading nicht neu berechnet wird. Es fehlt dir eine zyklische Aktualisierung deines Dummies.

Im commandref steht:
userReadings
Komma getrennte Liste von benutzerdefinierten Readings. Jede Definition hat folgendes Format:

    <reading>[:<trigger>] [<modifier>] { <perl code> }

Diese benutzerdefinierte Readings werden bei jeder Aktualisierung der Gerätereadings gesetzt,
indem das spezifizierte perl code { <perl code> } ausgeführt wird, und dessen Wert dem Reading zugewiesen wird.
Falls <trigger> spezifiziert ist, dann findet diese Ausführung nur dann statt,
falls einer der aktualisierten Readings dem regexp <trigger> entspricht (matched).


versuche einmal mit AT oder DOIF ein dummy-reading zu triggern

lg
Didi

kadettilac89

#2
mit dem UserReading ist das "durch die Brust ins Auge". Ich würde es mit einem at machen. Hier kommt es sicher nicht auf einen Tag +/- an.

Schau dir das an ...

https://wiki.fhem.de/wiki/AT_zu_einem_absoluten_Datum_ausf%C3%BChren

.. mir fällt noch was ein, schau dir das Kalendermodul an und lese das aus. Kalender selbst kannst du online pflegen. Musst mal testen,, aber ein wiederkehrendes Ereignis ohne Endedatum jeden ersten Samstag im Monat oder so. Darauf reagierst du und lässt dir eine Push-Nachricht senden.

thgorjup

Ok, danke. Ich denke der Kalender ist die Beste Lösung.
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy