Hallo,
ich bekomme es einfach nicht hin das Reading power (on/off) an einen Dummy Receiver zu übergeben.
Ich möchte das Denon Gerät am Gerät selbst einschalten aber auch per Dummy Befehl (on/off).
Der Dummy soll demnach mitbekommen ob das Gerät an oder aus ist.
defmod Receiver_Status notify AVReceiver set Receiver $EVENT
Wie muss das notify aussehen?
Danke schon mal....
Um das herauszufinden, müsstest Du den Event, auf den das notify reagieren soll genauer beschreiben. Denn jetzt reagiert es auf jede Änderung. Also den Eventviewer anzeigen, den Receiver ein/ausschalten, die entsprechenden Events nehmen und daraus einen regExp für den Notify machen
Also zum Beispiel:
defmod Receiver_Status notify AVReceiver:power.* set Receiver $EVENT
Wenn die entsprechenden Events mit "power" anfangen
Danke für die Hilfe. So hatte ich es dann auch bereits versucht.
Allerdings möchte ich nur den Status des Dummy´s ändern und
ihn nicht wirklich on od. off schalten.
So funktioniert es aber auch nicht.
AVReceiver:power.* setreading Receiver:power $EVENT
Zitat von: dk3572 am 06 Dezember 2016, 16:30:40
Allerdings möchte ich nur den Status des Dummy´s ändern und
ihn nicht wirklich on od. off schalten.
Wenn "Receiver" ein Dummy device ist, wieso schaltet das dann etwas an oder ab????
Zitat von: dk3572 am 06 Dezember 2016, 16:30:40
Danke für die Hilfe. So hatte ich es dann auch bereits versucht.
Vielleicht musst Du doch mal etwas mehr Information geben (z.B. list der devices), dann kann ich vielleicht helfen?
setreading Receiver:power $EVENT
Was soll das für ein Kommando sein / was soll es machen?
An und Ausschalten tut dann ein DOIF.
Den Dummy nutze ich, um ihn per Alexa an und auszuschalten.
Der Dummy soll aber auch mitbekommen, wenn ich das per DOIF geschaltete Gerät
händisch ausschalte. Also direkt am Gerät und nicht per Alexa.
Ein wenig ausführliche Erklärung wäre nützlich und es wäre jetzt schon hilfreich vielleicht auch die Devices mal zu listen, wie oben geschrieben.
Jetzt muss ich also weiter nachfragen:
- Welches DOIF ?
- Was heisst den dummy nutzt Du um ihn per alexa ... - Mit Doif, notify auf welche events, ??
- Was heisst der Dummy soll mitbekommen - heisst das, der Dummy soll den Status von Power des Receivers repräsentieren, wofür, das steht doch am Receiver selbst (AVReceiver ?)
Wie gesagt, erklär doch bitte nicht nur Bruchstücke, sondern alle beteiligten Elemente, denn genau das ist ja Dein Problem, dass einzelne Teile laufen aber nicht im Zusammenspiel
ok, dann noch mal von vorne ;)
Ich habe einen Dummy "Receiver" den ich nutze, um ihn per Amazon Echo ein und auszuschalten. "Alexa, schalte Receiver ein"
Mit einem DOIF prüfe ich den Status des Dummys und schalte dann einen Denon Reveiver ein, stelle die Lautstärke ein und wähle einen Favoriten Sender.
Wenn ich dann den Denon Receiver per Fernbedienung ausschalte, soll der Dummy dies mitbekommen. Tut er dies nicht, kann ich ihn nicht wieder per Alexa einschalten, da er ja immer noch den Status ein hat.
Dummy
defmod Receiver dummy
attr Receiver alias Receiver
attr Receiver devStateIcon on:rc_GREEN:off off:rc_YELLOW:on
attr Receiver genericDeviceType switch
attr Receiver room alexa
attr Receiver setList on off
DOIF
defmod di_Receiver_on_off DOIF ([Receiver] eq "on") (set AVReceiver zoneMain on) (set AVReceiver volume 15) (set AVReceiver favoriteList 4) DOELSEIF ([Receiver] eq "off") (set AVReceiver off)
attr di_Receiver_on_off room alexa
attr di_Receiver_on_off wait 0,5,5
Notify
defmod Receiver_Status notify AVReceiver:power.* setreading Receiver:power $EVENT
attr Receiver_Status room alexa
Na das war doch mal ein ordentlicher Batzen Information.
Also ist das eigentliche Problem, dass der Dummy nicht nochmal den Status on bekommt, wenn zwischendurch manuell ausgeschaltet wurde.
Ein Lösungsansatz wäre, dem Dummy einen weiteren Status "done" (oder ähnliches) zu verpassen, der in Deinem DOIF gesetzt wird. Also im DOIF- und im DOELSEIF-Zweig jeweils einen weiteren Befehl:
set Receiver done
hinzufügen.
Der notify wird nicht benötigt.
Damit würde sich wieder ein Status on per Alexa setzen lassen und alles funktioniert sauber. Der Powerstatus des Receivers ist ja über das Reading an AVReceiver dokumentiert.
Es gibt dazu sicher viele andere Ansätze, dieser erscheint mir jetzt aber erstmal am einfachsten und direktesten.