Hallo,
mein DOIF für ein konkretes Device funktioniert ({[bd_fenster:battery] ne "ok"})
die Verallgemeinerung bekomme ich leider nicht hin. Versucht habe ich ({[.*:[Bb]attery.*] ne "ok"})
wobei der Code in den eckigen Klammern als Timespec interpretiert wird.
Bitte um einen Denkanstoß ....
Hi,
Spezialität von DOIF ;D
Für DOIF gab es aber ein Beispiel in der Doku
ZitatBatteriewarnung per E-Mail verschicken
define di_battery DOIF ([":battery: low"] and [?$SELF:B_$DEVICE] ne "low")
({DebianMail('yourname@gmail.com', 'FHEM - battery warning from device: $DEVICE')}, setreading $SELF B_$DEVICE low)
DOELSEIF ([":battery: ok"] and [?$SELF:B_$DEVICE] ne "ok")
(setreading $SELF B_$DEVICE ok)
attr di_battery do always
Gruß Otto
Ist zwar etwas mehr/was anderes als "nur" beim DOIF-Problem zu helfen...
...aber vielleicht ja interessant:
https://forum.fhem.de/index.php/topic,82637.0.html
Oder das Monitoring-Modul:
https://forum.fhem.de/index.php?topic=68765.0
Gruß, Joachim
Danke Euch beiden. Ich geb zu, Ottos "Oneliner" war das, was ich gesucht haben.
Den no-BatteryStatusBot hatte ich schon gesehen, mächtiges Tool. Werd ich mir dann mal in Ruhe ansehen.
Gruß, Dieter
Noch einfacher ist es, mit "default value" zu arbeiten.
Probier statt
Zitat von: grappa24 am 19 März 2018, 16:44:38({[.*:[Bb]attery.*] ne "ok"})
([.*:[Bb]attery.*,""] ne "ok")
Und woher kommen die geschweiften Klammern?
Ich würde es eher so machen:
([":[Bb]atter.*: [Ll]ow"])
sonst kann es sein das auf etwas getriggert wird was man gar nicht wollte!