Mit userReadings / ReadingsVal Werte ersetzen

Begonnen von tomster, 18 Mai 2015, 14:36:31

Vorheriges Thema - Nächstes Thema

tomster

Servus zusammen!

Ich stehe grade vor einem kleinen Problem im Bezug auf ein userReading, bzw. dem Ersetzen dessen "Werts" in Abhängigkeit zweier Device-Readings.
Szenario:
Denon Netzwerkverstärker mit 2 Readings: mute, power

Nun möchte ich ein Userreading, welches eine 3-state Angabe beinhalten soll.
Device-Reading mute   = on -> UserReading = mute
Device-Reading power = on -> userReading = on
Device-Reading power = off -> userReading = off

Bislang habe ich, einem Beispiel aus dem Forum http://forum.fhem.de/index.php/topic,19619.msg132720.html#msg132720 folgend, das hier definiert:

attr <device name> userReadings  currentStatus:(power|mute)  { ReadingsVal("<device name>","mute","on")  ? ReadingsVal("<device name>","power","") : "mute"}

Nur haut es nicht hin. Irgendwie kommt es mir vor, als würde immer nur der Status vom Reading "power" angezeigt; "mute" wird ignoriert..
Ich möchte nicht sagen "...in der Commandref hab ich nix dazu gefunden", aber ich hab darin tatsächlich (fast) nix gefunden, was in einem Beispiel meinen Wunsch nur halbswegs beinhaltet hätte...

Kann mich jemand ein bissl anstupsen?

tomster

#1
So, noch in einem anderen Thread http://forum.fhem.de/index.php/topic,22378.msg157505.html#msg157505 was dazu gefunden und nun scheints zu gehen:


attr <device name> userReadings currentStatus:(power|mute) { ((ReadingsVal("<device name>","mute",0) eq "off")? ReadingsVal("<device name>","power",""):"mute")}