Doif soll ein reading nach x Tagen löschen

Begonnen von Olaf234, 09 November 2023, 12:09:40

Vorheriges Thema - Nächstes Thema

Olaf234

Hallo zusammen,

ich versuche die Liste an geschriebene Störungsmeldungen von Geräten als readings im Doif

(
([":^MISSING"] and [?$SELF:C_$DEVICE] ne "MISSING")
)
(setreading $SELF C_$DEVICE error)

nach einer gewissen Zeit (hier 6 Monate) zu löschen mit
DOELSEIF (
[07:00]
and [?$SELF:C_$DEVICE] ne "ok"
and ReadingsAge($SELF,C_$DEVICE,0) > 15768000
)
(deletereading $SELF C_$DEVICE)

so klappt es aber nicht und ich finde keine Lösung. Was mache ich nur falsch?

betateilchen

#1
Man braucht nicht für jeden pipifax ein DOIF.

define del_at at *07:00:00 { fhem("deletreading <device> <reading> 15768000") if (ReadingsVal(<device>,<reading>,'') ne 'ok') }
https://commandref.fhem.de/#deletereading

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Olaf234

Das ist wohl richtig und zudem sehr lehrreich. Vielen lieben Dank dafür :)