Lautsprecher Lautstärke

Hi,
der Typ Lautsprecher funktioniert prächtig lässt aber nur Werte von 0…100 zu. Ich habe ein Script geschrieben das mit diesen Werten Denon/Marantz bzw Logitech Harmony gleich ansteuert. Bei mir bedeutet „Alexa Ton auf 50“ keine Änderung, „Alexa Ton auf 52“ 2 Stufen (52-50) lauter und „Alexa Ton auf 48“ 2 Stufen (48-50) leiser. So habe ich einen einheitlichen Wert mit dem ich arbeiten kann. Bei Denon/Marantz gebe ich diese Stufen direkt weiter da die beiden Systeme dafür Befehle haben. Bei der Harmony benutze ich eine Schleife die pro Stufe einen Lautstärkebefehl verschickt. Das Script sieht so aus:


<?php
$Lautstärke = $_IPS['VALUE'];
switch ($Lautstärke){
    case 0:
        $Lautstärke_dif =  -2;
        break;
    case 20:
        $Lautstärke_dif =  2;
        break;
    default:
        $Lautstärke_dif = $Lautstärke - 50;
        if (abs($Lautstärke_dif) < 0.1) return;
        break;
}

SetValue($_IPS['VARIABLE'], 10);

$room = GetValue(16733);
switch ($room){
    case 1:
        if ($Lautstärke_dif > 0){
            DAVRT_MasterVolumeStep(23843, "UP", $Lautstärke_dif);    // add device to trigger
        }
        else{
            DAVRT_MasterVolumeStep(23843, "DOWN", -$Lautstärke_dif);    // add device to trigger
        }
        break;
    case 2:
        if ($Lautstärke_dif > 0){
            for ($i = 0; $i < $Lautstärke_dif; $i++){
              LHD_Send(54629, "VolumeUp");
            }
        }
        else{
            for ($i = 0; $i < -$Lautstärke_dif; $i++){
              LHD_Send(54629, "VolumeDown");
            }
        }
        break;
    default:
        if (GetValue(40541) == true){
            ECHOREMOTE_TextToSpeech(14939, "Du bist in keinem Raum oder er wird nicht unterstützt.");
        }
        break;
}
?>

Der erste Teil mit case 0 und case 20 ist die Behandlung der Kommandos „Alexa Ton leiser“ bzw. „Alexa Ton lauter“ denn da verschickt die Dame bei mir 0 bzw. 20. Ich setze die Variable hinterher auf 10 damit ich auch wiederholt lauter/leiser sagen kann. Bei lauter/leiser benutze ich jeweils 2 Stufen. Ach ja $room ist ein Wert der IPS sagt in welchem Raum ich bin damit es weiß was es regeln soll.

So habe ich eine einheitliche Lautstärkeregelung trotz stark unterschiedlicher Geräte.

Ralf

Die Lautstärkeeinstellung von Alexa sollte eigentlich prozentual funktionieren. Wenn deine Variable also von 0 bis 300 geht, sollte Lautstärke 50 auf 150 schalten, etc. . Falls das nicht der Fall ist, bitte einmal melden.

Hi,
das war nicht mein Thema. Nicht jedes Gerät erlaubt es gezielt eine Lautstärke einzustellen. Ich habe jetzt Geräte die es erlauben aber die meisten erlauben es nicht. Ich wollte eine einheitliche Lautstärkeregelung.

Ralf