[Gelöst] Rechnen mit Readings?

Begonnen von gestein, 09 November 2019, 22:23:36

Vorheriges Thema - Nächstes Thema

gestein

Hallo,

die Frage wurde wahrscheinlich schon öfters gestellt, aber ich werde nicht schlau aus den Antworten.

Ich möchte gerne die Lautstärke meines AVs über die Fernbedienung des Kodi verändern.
Daher habe ich mir ein notify definiert, dass auf Änderungen der Lautstärke des Kodi reagiert.
defmod notify_kodi_volume notify kodi:volume:.* IF ([Denon:zoneMain] eq "on" and [Denon:input] eq "Mediaplayer") (\
{Log 1, "kodi-Lautstärke, $NAME|$EVENT|"},\
set Denon volume [kodi:volume]\
)


Das funktioniert.
Allerdings möchte ich die Lautstärke nicht 1:1 ändern, sondern so: 30 + [kodi:volume]/5

Wenn ich nun z.B. schreibe "set Denon volume {30+[kodi:volume:d]/5} dann bekomme ich folgende Meldung im log:
2019.11.09 22:19:37.529 1: kodi-Lautstärke, kodi|volume: 85.00|
2019.11.09 22:19:37.531 1: PERL WARNING: Argument "{30+85.00}" isn't numeric in multiplication (*) at ./FHEM/70_DENON_AVR.pm line 2984.


Wie kann ich das lösen?
Danke im Voraus
lg, Gerhard

Otto123

#1
Hallo Gerhard,

so {(...)} klappt das. https://fhem.de/commandref_modular.html#set
Zitat{(perlExpression)} with the result of perlExpression.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

gestein

Hallo Otto,

vielen Dank.
Ich habe das zwar vorher schon mehrmals durchgelesen, aber auf die zusätzliche umschließende "()" wäre ich nie und nimmer gekommen.

So klappt es also:
defmod notify_kodi_volume notify kodi:volume:.* IF ([Denon:zoneMain] eq "on" and [Denon:input] eq "Mediaplayer") (\
{Log 1, "kodi-Lautstärke, $NAME|$EVENT|"},\
set Denon volume {(30+[kodi:volume:d]/5)}\
)


Vielen Dank mal wieder
lg, Gerhard

Otto123

Aus meinem "Hinterkopf": Die FHEM Kommandozeile und set magic haben gegenüber dem normalen Perl Code immer ein paar Besonderheiten. -> ;; {(...)} "$NAME"
;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz