FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Schlimbo am 30 Januar 2017, 10:56:37

Titel: readingsProxy: valueFn aktualisiert "state" nicht
Beitrag von: Schlimbo am 30 Januar 2017, 10:56:37
Hallo Zusammen,

Ich nutze readingsProxy um über Alexa meine Multimedia Anlage zu steuern, ich habe für jede Scene (fernsehen, Radio hören, usw.) einen readingsProxy angelegt.
Beispiel "Radio hören":
define Multimedia_NetRadio readingsProxy Multimedia:scene

Das steuern der Scenen funktioniert mit setFN {($CMD eq "on")?"scene NetRadio":"off";} auch wie gewünscht.

Da das readingsProxy Device aber auch den Status richtig anzeigen soll habe ich das valueFn Attribut gesetzt:
{(($VALUE eq "NetRadio") and (ReadingsVal($DEVICE, 'power', '') eq "on"))?"on":"off"}
Steht in meinem Multimedia Device (Multimedia) das Reading "scene" auf NetRadio und das Reading "power" auf on, soll das ReadingsProxy Device den Status "on" haben, wenn nicht, dann "off".

Jedoch wird "state" beim schalten von "set Multimedia_NetRadio on" nicht aktualisiert.
Nach einem Neustart von FHEM sind aber alle state readings aktuell. Auch wenn ich bei dem readingsProxy Device auf DEF --> "modify Multimedia_NetRadio" klicke, wird das state Reading einmalig korrekt gesetzt.

Ist in meinem valueFn Attribut noch ein Denkfehler?   

Hier das list vom readingsProxy Device:
Internals:
   DEF        Multimedia:scene
   DEVICE     Multimedia
   NAME       Multimedia_NetRadio
   NOTIFYDEV  Multimedia,global
   NR         613
   NTFY_ORDER 50-Multimedia_NetRadio
   READING    scene
   STATE      off
   TYPE       readingsProxy
   Content:
     Multimedia 1
   Readings:
     2017-01-30 10:53:02   lastCmd         on
     2017-01-30 10:52:38   state           off
Attributes:
   alexaName  Radio
   alexaRoom  Wohnzimmer
   genericDeviceType switch
   room       alexa
   setFn      {($CMD eq "on")?"scene NetRadio":"off";}
   setList    on off
   valueFn    {(($VALUE eq "NetRadio") and (ReadingsVal($DEVICE, 'power', '') eq "on"))?"on":"off"}


Gruß
Schlimbo
Titel: Antw:readingsProxy: valueFn aktualisiert "state" nicht
Beitrag von: Schlimbo am 30 Januar 2017, 13:05:06
Bin gerade etwas weiter gekommen. Es hängt anscheinend damit zusammen, dass mein "Multimedia" Device vom Type "dummy" ist und ReadingsProxy dadurch die Readings nicht erkennt.
Ich habe bei "Multimedia" jetzt das Attribut "readingList" gesetzt attr Multimedia readingList scene power
Jetzt ändert sich der Status auch bei Änderungen des Reading "scene".
Wie kann ich aber zusätzlich auch eine Änderung des Reading "power" mitbekommen?
ReadingsProxy wird durch die Definition "Multimedia:scene" ja nur auf das Reading "scene" getriggert.