DOIF: Problem Zeitspanne seit Readingsänderung

Begonnen von TecCheck, 29 Juni 2015, 19:38:59

Vorheriges Thema - Nächstes Thema

TecCheck

Hallo @ All,

ich versuche,  eine meiner Sonos-Boxen,  nach einer bestimmten Zeitspanne,  in der sich das Reading "LastActionResult"
NICHT ändert,  zu stoppen.
Versucht habe ich das mit folgendem DOIF:


( [Sonos_Bad:transportState] eq "PLAYING" and [Sonos_Bad:LastActionResult:sec] > 60) (set Sonos_Bad Stop)

Erreichen möchte ich damit ein Stoppen der Wiedergabe,  wenn die Box eine bestimmte Zeit (hier zum Test 60 Sekunden)  nicht bedient wird. 

Die Readings im DOIF werden auch richtig aktualisiert,  nur löst das DOIF nicht aus.

ZitatBei Readingangaben kann die Zeitspanne mit [<Device>:<Reading>:sec] in Sekunden seit der letzten Änderung bestimmt werden
Müsste doch eigentlich so funktionieren,  oder hab ich da was falsch verstanden??

Grüße aus der Eifel

Wolfgang
Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's

Ralli

#1

define DEINDOIF DOIF ([?Sonos_Bad:transportState] eq "PLAYING" and [Sonos_Bad:LastActionResult]) (set Sonos_Bad Stop)
attr DEINDOIF wait 60
attr do always


Keine Ahnung, ob das so klappt, habe kein Sonos.

Aber folgender Denkansatz: Getriggert auf LastActionResult wird nach 60 Sekunden das cmd_1 ausgelöst, wenn transportState Playing ist.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

TecCheck

#2
Hallo Ralli,

Super,  so funzt es!!

Das Beispiel
define di_lamp DOIF ([BM:state:sec] < 5)(set lamp on-for-timer 300)
                       hat mich auf die falsche Fährte gebracht.  :-[

Ich danke dir

Schönen Abend

Wolfgang



EDIT:  zu früh gefreut,  bei einer Änderung von LastActionResult ändert sich zwar das Reading e_Sonos_Bad_LastActionResult im DOIF aber der Waittimer wird nicht neu gestartet.   :(

EDIT II:  Wenn ich  do always  in  do resetwait  ändere,  scheint es zu funktionieren.

Jedenfalls danke für den Denkanstoß.
Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's