Hallo,
ich setze per setreading innerhalb von msgDialog ein Reading, aud das ich gerne per doif oder notify reagieren möchte.
"Infos einschalten": {
"commands": [
"setreading $recipient RCAlert 1",
"set $SELF say @$recipient Verwaltung|🖥Benachrichtigungen"
]
},
Funktioniert bis hierhin einwandfrei, das Reading wird gesetzt!
Allerdings Triggert wederdoif noch notifi, da kein entsprechendes Event ausgelöst wird.
Gebe ich in der Fhem Befehlszeile ein:
setreading rr_Reiner RCAlert 1
funktioniert es!
Vermutlich ist das kein orignäres msgDialog-Thema, sondern was, was alle Event-Handler betrifft: Wenn du aus einem solchen wieder versuchst, ein Reading zu schreiben auf das Device, das getriggert hat, wird das entweder nicht ausgeführt, oder es erzeugt mind. nicht _nochmal_ einen Trigger für dieses Device. In der Regel sollte es helfen, ein sehr kurzes (FHEM-!) sleep dazwischen zu basteln.
Sorry stehe immer noch auf der Leitung!
So will ich das Event verarbeiten (was ja auch per "setreading rr_Reiner RCAlert 1" funktioniert.)
defmod di_RCAlert DOIF (["^rr_:^RC"]) ({Log 3, '$EVENTS'})
attr di_RCAlert do always
Wo müsste das sleep jetzt hingebastelt werden?
Vermutlich da:
Zitat"Infos einschalten": {
"commands": [
"sleep 0.1; setreading $recipient RCAlert 1",
"set $SELF say @$recipient Verwaltung|🖥Benachrichtigungen"
]
},
Weiß aber nicht, ob das so "geschluckt" wird bzw. ausgeführt...
Chaka! Funktioniert! Vielen Dank!!