FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: knopf_piano am 30 Oktober 2017, 18:22:49

Titel: [gelöst] Änderung/Erweiterung Yamaha_AVR
Beitrag von: knopf_piano am 30 Oktober 2017, 18:22:49
Hi Markus,
ich hab mal wieder ein Änderungsbegehren :-) bzw. gleichzeitig Robustheitsmaßnahme
Problem:
Die quickfhem-App läßt aktuell nur floats in der Übergabe von einem Slider zu.
Wenn ich jetzt den Parameter (%d)ändere, wird volume auf einen float gesetzt.
(z.B. set AVrx volume 25.3). Das bewirkt max-volume vom Yamaha_AVR-modul.
Mein Versuch, das mit ner Funktion abzufangen, scheitert aktuell daran, dass quickfhem das nicht an fhem übermittelt (siehe hier https://forum.fhem.de/index.php/topic,59081.msg706966.html#msg706966 (https://forum.fhem.de/index.php/topic,59081.msg706966.html#msg706966)).

Was hälst du von einer Abfange innerhalb deines Moduls, nicht dass auch einer unmotiviert via telnet oder fhem-console ein max-vol erzeugen kann.
Für volumeStraight braucht man es nicht, da ja explizit Komma-Zahlen erlaubt sind.

Meine Erweiterung für floor von $a[2] als Vorschlag (Zeile 458 -  # $Id: 71_YAMAHA_AVR.pm 15158 2017-10-01 09:39:51Z markusbloch $).7
Damit klappt die Sache

...
        my $target_volume;
       
        if($what eq "volume" and defined($a[2]))
        {
  $a[2] = floor($a[2]);
}

Vielleicht hast du noch eine andere Idee.

Grüße
Steffen
Titel: Antw:[gelöst] Änderung/Erweiterung Yamaha_AVR
Beitrag von: Markus Bloch am 31 Oktober 2017, 12:25:44
Hallo Steffen,

das klingt ja mal sehr interessant und abenteuerlich. Ich habe es etwas anders gelöst: https://svn.fhem.de/trac/changeset/15362/

Viele Grüße und Happy Halloween

Markus
Titel: Antw:[gelöst] Änderung/Erweiterung Yamaha_AVR
Beitrag von: knopf_piano am 31 Oktober 2017, 14:19:14
großartig! Viele Wege...!
Danke und Grüße
Steffen
Titel: Antw:[gelöst] Änderung/Erweiterung Yamaha_AVR
Beitrag von: knopf_piano am 31 Oktober 2017, 14:41:38
Zitat von: knopf_piano am 31 Oktober 2017, 14:19:14
großartig! Viele Wege...!
Danke und Grüße
Steffen
Hi Markus
war etwas zu vorschnell, sah im code gut aus, im Test allerdings kein Effekt.
Ich muss meine code-erweiterung drin lassen. hab floor -> int ersetzt (was egal ist). Damit geht's.

Bitte schau nochmal drüber.

        if($what eq "volume" and defined($a[2]))
        {
  $a[2] = int($a[2]);
}

Titel: Antw:[gelöst] Änderung/Erweiterung Yamaha_AVR
Beitrag von: Markus Bloch am 31 Oktober 2017, 14:59:57
Meine Variante hat bei mir anstandlos funktioniert. "set AV_Receiver volume 25.3" => Die Volume ist nicht auf max-volume hochgegangen sondern auf -56 dB.

Bist Du dir sicher, dass Du richtig getestet hast?

Gruß
Markus
Titel: Antw:[gelöst] Änderung/Erweiterung Yamaha_AVR
Beitrag von: knopf_piano am 31 Oktober 2017, 16:46:09
Ja, bin mir sicher.
Ich hab mit deiner Variante jeweils meine Code-Zeile vorangestellt oder nicht,
jeweils "reload 71_YAMAHA_AVR.pm" .

Geht nur mit meiner Ergänzung.
Liegt's mal wieder an den AV-Varianten? Ich hab einen RX-V671, FIRMWARE 1.80/2.01.
Titel: Antw:[gelöst] Änderung/Erweiterung Yamaha_AVR
Beitrag von: Markus Bloch am 31 Oktober 2017, 17:02:45
Mach bitte mal ein verbose 4 an und jeweils einen Logauszug einmal mit und einmal ohne deine Änderung. Bei mir kommt folgende Zeile dabei zu Stande (set AV_Receiver volume 25.3):



EDIT: Gerade gemerkt, wenn man mehr als eine Kommastelle verwendet ist der Fehler wieder da. Das habe ich soeben behoben.

Gruß
Markus
Titel: Antw:[gelöst] Änderung/Erweiterung Yamaha_AVR
Beitrag von: knopf_piano am 31 Oktober 2017, 21:17:43
Hi Markus,
that's it. funkt.
Dank dir!!
Grüße
Steffen

Gesendet von meinem SM-J510FN mit Tapatalk