Hallo,
ich würde gerne einen Toggle erstellen der die Lautstärke meines AV-Receivers bei Tastendruck um zb. 15db absenkt und beim nächsten Tastendruck wieder anhebt. In manchen Action Filmen ist der unterschied zu groß, die Unterhaltungen versteht man kaum und im nächsten Moment fliegen einem die Ohren weg weil wieder geballert wird. Da hätte ich gern eine Möglichkeit das schnell umzuschalten. Der Receiver unterstützt das von Haus aus nicht, aber ich dachte das das mit FHEM über die Netzwerkverbindung zu schaffen wäre.
Leider weis ich nicht wie man das Programmieren kann, es müsste der Lautstärke wert ermittelt werden und dann zb die 15 db abgezogen und ans Gerät gesendet werden und umgekehrt.
Vielleicht hat jemand die nötigen Kenntnisse und kann mir helfen
Gruß Rolf
Einen dummy mit on/off definieren und mit notify eine entsprechende Funktion dran hängen.
Lässt sich sicher auch mit DOIF bewerkstelligen, ist aber nicht so meine Sache.
Gruß
Dan
wenn man das unbedingt will kann man ganz ohne FHEM bei den meisten Receivern auch eine Dynamik Kompression einstellen. Je höher die Kompression, desto geringer der Dynamikbereich und desto geringer die Unterschiede zwischen laut und leise. Aber natürlich ist es eigentlich auch richtig so, dass eine Explosion um das x-fache lauter ist als ein Gespräch.
Hallo,
das mit den Explosionen verstehe ich ja, aber WAF ist da bei mir sehr niedrig(2X). Bei der Dynamik Kompression bin ich nicht so richtig von überzeugt, da ist mir die Wirkung zu gering. Ich hatte mal einen Verstärker der mit einer -20db Taste ausgestattet war.
Habe festgestellt das der Receiver ein absenken oder anheben der Lautstärke um einen festen wert direkt unterstützt ohne rechnen. Na mal sehen.
Gruß Rolf
Zitat von: rvideobaer am 07 Oktober 2016, 11:10:58
...Leider weis ich nicht wie man das Programmieren kann, es müsste der Lautstärke wert ermittelt werden und dann zb die 15 db abgezogen und ans Gerät gesendet werden und umgekehrt.
Kannst Du denn den "vorhandenen" Wert auslesen bzw. einen Wert per API/URL setzen?
Wenn ja, wäre das völlig unproblematisch.
Ich habe bei mir im Schlafzimmer einen 6-fach-Taster bei dem 2 Tasten für lauter/leiser sind, bzw. das selbe auch per Sprachkommando läuft.
Damit rufe ich eine Funktion auf, die das aktuelle Gerät und die aktuelle Lautstärke, entsprechend um 5% erhöht/verringert, und den neuen Wert setzt.
Das ist simpel zu bedienen und bei Bedarf drückt man einfach nochmal.
Für Deinen Anwendungszweck halte ich eine Anpassung auf AV-Receiver- oder Multimediageräte-Ebene allerdings für sinnvoller.
Sonst drückst Du doch je nach Film mehr auf den Tasten rum, als Du den Film gucken kannst. ;)
Hall
Das mit dem drücken mache ich jetzt schon, die Werbepause ist noch gar nicht auf dem Bildschirm angekommen da tönt es schon " mach mal leiser" und das ist nur wegen der Werbung. Jetzt stellt Euch mal einen Action Film vor. Deshalb mein Wunsch mit einem Tastendruck leiser zu drehen.
Gruß Rolf
Das beantwortet ja nicht unbedingt die wichtigste Frage...
kannst Du den Lautstärkewert des AV-Receivers z.B. per API auslesen und setzen?
Hallo,
ja ich kann die Lautstärke per FHEM setzen habe das YAMAHA Modul eingebunden.
Gruß Rolf
Das Problem ist offenbar kein technisches ;)
Zitat von: rvideobaer am 19 Oktober 2016, 09:46:58
Hallo,
ja ich kann die Lautstärke per FHEM setzen habe das YAMAHA Modul eingebunden.
Gruß Rolf
Ich kenne und nutze das Yamaha-Modul nicht, aber ein kurzer Blick auf die möglichen Argumente sagt mir, dass es da was mit
- "volume:slider,0,1,100 ".
- "volumeUp:noArg ".
- "volumeDown:noArg ".
gibt.
Also guck mal nach, ob Du für VolumeUp bzw. Down eine Schrittweite definieren kannst, oder ob die wie der Slider in 1er Schritten ist.
Dann machst Du Dir 2 "Tasten", die Dir per Notify die Lautstärke aus volume auslesen, anpassen und setzen.
Sinngemäss...
define n_Lauter_Taster notify Lauter_Taster {my $volume_old = ReadingsVal("AV_Receiver","volume","");; my $volume_new = $volume_old + 15;; set AV_Receiver volume $volume_new}
...und genauso für leiser.
Hallo zusammen,
ich möchte hier auf die Commandref verweisen:
Zitat
- volumeUp [0...100] [direct] - Erhöht die Lautstärke um 5% oder entsprechend dem Attribut volumeSteps (optional kann der Wert auch als Argument angehangen werden, dieser hat dann Vorang). Wenn als zweites Argument "direct" gesetzt ist, wird keine weiche Lautstärkenanpassung durchgeführt (sofern aktiviert). Die Lautstärke wird in diesem Fall sofort gesetzt.
- volumeDown [0...100] [direct] - Veringert die Lautstärke um 5% oder entsprechend dem Attribut volumeSteps (optional kann der Wert auch als Argument angehangen werden, dieser hat dann Vorang). Wenn als zweites Argument "direct" gesetzt ist, wird keine weiche Lautstärkenanpassung durchgeführt (sofern aktiviert). Die Lautstärke wird in diesem Fall sofort gesetzt.
um die Lautstärke für die genannte Situation verändern reicht daher:
set AV_Receiver volumeDown 20
set AV_Receiver volumeUp 20
Gruß
Markus
Hallo,
ja soweit bin ich auch schon gekommen. Jetzt hätte ich aber gerne nur eine Taste benutzt die das ganze toggelt.
Gruß Rolf
Zitat von: rvideobaer am 20 Oktober 2016, 00:17:51
Hallo,
ja soweit bin ich auch schon gekommen. Jetzt hätte ich aber gerne nur eine Taste benutzt die das ganze toggelt.
Gruß Rolf
So???
Einen dummy o.ä. mit "setList on off".
Dann notify oder DOIF drauf.
on -> set AV_Receiver volumeDown 20
off -> set AV_Receiver volumeUp 20
Gruß
Dan
EDIT: "attr <dummy> useSetExtensions 1" noch setzen und du kannst mit "set <dummy> toggle" toggeln.