Skip to main content

FHEM: Mit Alexa über HA-Bridge ein Gerät dimmen

Für den Fall das man eine Leuchte dimmen möchte, die nicht Philips HUE kompatibel ist, stößt man leicht auf einige hürden. Einige Dimmer können nicht jeden Prozentwert als Parameter verstehen, sodaß man zum nächstmöglichen Wert interpolieren muss.

Ein Script als Helferlein

Mit diesem Skript wird der von der ha-bridge übergebene Wert auf den nächst zulässigen Wert "aufgerundet"

#!/bin/sh
server="fhem.fritz.box:8089"
 
if [ -z "$1" ]
  then
    echo "No Devicename supplied"
   exit 2
fi
 
case "$2" in
        on)
         link="http://$server/fhem?cmd=set%20$1%20on"
         wget $link  -o /dev/null
        ;;
 
        off)
         link="http://$server/fhem?cmd=set%20$1%20off"
         wget $link  -o /dev/null
        ;;
 
        toggle)
         link="http://$server/fhem?cmd=set%20$1%20toggle"
         wget $link  -o /dev/null
        ;;
 
        *)
        if [ -z "$2" ]
          then
            echo "No Percentage Value supplied"
          exit 1
        fi
 
        for i in 0 6 12 18 25 31 37 43 50 56 62 68 75 81 87 93 100 110
        do
                if [ $2 -eq $i ] || [ $2 -lt $i ]
                  then
                        link="http://$server/fhem?cmd=set%20$1%20dim%20$i"
                        echo "Dimming $1 to $i%"
#                       echo $link
                        wget $link  -o /dev/null
                        exit 0
                  fi
        done
 
esac

Kommando in ha-bridge einbinden

2018-12-29-17_29_04-HA-Bridge.png

In ha-bridge gilt noch die besonderheit, das man http und script aufrufe nicht vermischen darf. Das heisst, auch wenn für ein on/off Kommando ein direkter http-Aufruf vorhanden und möglich ist, darf dieser nicht benutzt werden, sobald für ein Dim Kommando ein Script aufgerufen werden soll.

In dem Bild heisst das fhem-gerät "stern" und die Parameter sind entweder on, off oder der Prozentwert, der von der ha-bridge dynamisch übergeben wird.

"Alexa, Stern 40%"

Wird das Gerät mit dem Namen Stern auf 43% dimmen, da 43 der nächst höhere Wert ist, den der FS20 Dimmer verstehen kann.