Hauptmenü

Receiver überwachen

Begonnen von stefan-dd, 08 Oktober 2017, 13:19:22

Vorheriges Thema - Nächstes Thema

stefan-dd

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

amenomade

Schau mal do resetWait im Commandref
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

stefan-dd

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?


Rolfg


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

stefan-dd

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.

CoolTux

event-on-change-reading setzen
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

stefan-dd

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

amenomade

Nicht auf dem DOIF sondern auf dem AV_Receiver.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

stefan-dd

Super, funktioniert. Danke
Muss man drauf kommen, aber logisch.