FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stefan-dd am 08 Oktober 2017, 13:19:22

Titel: Receiver überwachen
Beitrag von: stefan-dd am 08 Oktober 2017, 13:19:22
Hallo, ich möchte meinen Receifer überwachen. Problem, man hört spotify, die Playlist ist zu Ende, das Gerät wird vergessen und bleibt den ganzen Tag unnütz angeschaltet.
Meine Idee ist, das Gerät auszuschalten wenn nach einer bestimmten Zeit x kein neuer Titel anliegt.
Es soll auf jegliche Änderung des Titels getriggert werden und mit jeder Änderung des Titels der Timer zurück gesetzt werden.
Aber irgendwie klappt es nicht so?

defmod AV_abschaltung_spotify DOIF ([?AV_Receiver:input] eq "spotify" and ["^AV_Receiver:currentTitle"]) (set AV_Receiver off)
attr AV_abschaltung_spotify do always
attr AV_abschaltung_spotify wait 600
Titel: Antw:Receiver überwachen
Beitrag von: amenomade am 08 Oktober 2017, 13:57:52
Schau mal do resetWait im Commandref
Titel: Antw:Receiver überwachen
Beitrag von: stefan-dd am 12 Oktober 2017, 21:47:58
Danke, aber damit komme ich nicht weiter. Die beiden "do" Varianten habe ich ausprobiert. Bei do always erfolgt keine Abschaltung, bei do waitreset läuft der Timer immer von Anfang an durch und schaltet unabhängig von meiner Wunschbedingung.

Wie könnt man dies noch lösen?

Titel: Antw:Receiver überwachen
Beitrag von: Rolfg am 12 Oktober 2017, 21:58:33

Zurücksetzen des Waittimers für das gleiche Kommando   back

Im Gegensatz zu do always wird ein Waittimer mit dem Attribut do resetwait auch dann zurückgesetzt, wenn die gleiche Bedingung wiederholt wahr wird.
Damit können Ereignisse ausgelöst werden, wenn etwas innerhalb einer Zeitspanne nicht passiert.
Das Attribut do resetwait impliziert eine beliebige Wiederholung wie do always. Diese lässt sich allerdings mit dem Attribut repeatsame einschränken s. u.

Anwendungsbeispiel: Meldung beim Ausbleiben eines Events

define di_push DOIF ([Tempsensor])(set pushmsg "sensor failed again")
attr di_push wait 1800
attr di_push do resetwait
Titel: Antw:Receiver überwachen
Beitrag von: stefan-dd am 18 Oktober 2017, 12:44:59
Leider funktioniert dies nicht.
Fhem aktualisiert regelmäßig die reading, obwohl diese sich nicht ändern. Mit jeder Aktualisierung setzt sich der Timer zurück.
Also muss eine andere Lösung her.
Titel: Antw:Receiver überwachen
Beitrag von: CoolTux am 18 Oktober 2017, 12:51:58
event-on-change-reading setzen
Titel: Antw:Receiver überwachen
Beitrag von: stefan-dd am 18 Oktober 2017, 14:01:07
Leider unverändert...

defmod AV_abschaltung_spotify DOIF ([?AV_Receiver:input] eq "spotify" and [AV_Receiver:currentTitle]) (set AV_Receiver off)
attr AV_abschaltung_spotify do resetwait
attr AV_abschaltung_spotify event-on-change-reading .*
attr AV_abschaltung_spotify wait 600
Titel: Antw:Receiver überwachen
Beitrag von: amenomade am 18 Oktober 2017, 14:02:26
Nicht auf dem DOIF sondern auf dem AV_Receiver.
Titel: Antw:Receiver überwachen
Beitrag von: CoolTux am 18 Oktober 2017, 14:29:06
noch mal bitte versuchen!
Titel: Antw:Receiver überwachen
Beitrag von: stefan-dd am 18 Oktober 2017, 16:09:27
Super, funktioniert. Danke
Muss man drauf kommen, aber logisch.