Ansteuerung von Philips Hue auf FritzBox

Begonnen von akw, 26 Dezember 2012, 10:52:44

Vorheriges Thema - Nächstes Thema

akw

Hi,

hier ist ein kleines Script, mit dem man (solange es noch kein richtiges FHEM-Modul dafür gibt) Philips Hue Lampen steuern und dimmen kann.
Da es auf der Fritz!Box kein curl gibt, benutze ich netcat, um den HTTP PUT Request abzusenden.

Der APIKEY kann mittels curl erzeugt werden. (siehe hier)
Das Script kann auf der Fritz!Box gespeichert werden und dann von FHEM oder der Kommandozeile benutzt werden.
Beispiel:

./sethue.sh 3 dim50% setzt Lampe 3 auf 50% Helligkeit...

Man kann es natürlich beliebig erweitern und z.B. Farbwert und Sättigung parametrisieren.

Achtung: Da ich die Content-Length nicht richtig ausrechne, reicht es, am Ende des Scriptes (vor EOF) ein paar Leerzeichen einzufügen (ca. 30), damit immer mindestens 64 Zeichen gesendet werden.


Viel Spaß damit!

Arno

#!/bin/sh

APIKEY=fdc41c65c9440d4c8625c47fc7472057
HUEBRIDGE=192.168.178.70
LIGHT=$1
ON=$2
HUE=65535
SAT=40
BRI=255
if [ $2 == 'on' ]; then ON=true; else ON=false; fi
if [ $2 ==  'dim06%' ]; then ON=true; BRI=15;  fi
if [ $2 ==  'dim12%' ]; then ON=true; BRI=31;  fi
if [ $2 ==  'dim18%' ]; then ON=true; BRI=46;  fi
if [ $2 ==  'dim25%' ]; then ON=true; BRI=64;  fi
if [ $2 ==  'dim31%' ]; then ON=true; BRI=79;  fi
if [ $2 ==  'dim37%' ]; then ON=true; BRI=94;  fi
if [ $2 ==  'dim43%' ]; then ON=true; BRI=110; fi
if [ $2 ==  'dim50%' ]; then ON=true; BRI=128; fi
if [ $2 ==  'dim56%' ]; then ON=true; BRI=143; fi
if [ $2 ==  'dim62%' ]; then ON=true; BRI=158; fi
if [ $2 ==  'dim68%' ]; then ON=true; BRI=173; fi
if [ $2 ==  'dim75%' ]; then ON=true; BRI=191; fi
if [ $2 ==  'dim81%' ]; then ON=true; BRI=206; fi
if [ $2 ==  'dim87%' ]; then ON=true; BRI=222; fi
if [ $2 ==  'dim93%' ]; then ON=true; BRI=237; fi
if [ $2 == 'dim100%' ]; then ON=true; BRI=255; fi
if [ $2 == 'toggle' ]; then
  STATE=$(wget http://$HUEBRIDGE/api/$APIKEY/lights/$LIGHT -q -O -|sed 's/.*"on":\(true\|false\).*/\1/')
  if [ $STATE == 'true' ]; then ON=false; else ON=true; fi
fi

cat << EOF | nc $HUEBRIDGE 80 >/dev/null
PUT /api/$APIKEY/lights/$LIGHT/state HTTP/1.1
Host: $HUEBRIDGE
Content-Length: 64

{"hue": $HUE, "sat": $SAT, "bri": $BRI, "on": $ON }

EOF
FHEM-SVN auf MacMini OSX 10.7.5

FS20,FHT,HMS,CUL_WS,CUL_HM,KS300,HUE,FB_DECT

FHEMobile: www.fhemobile.de

C64Emulator

Hallo,

Zitat von: akw schrieb am Mi, 26 Dezember 2012 10:52Da es auf der Fritz!Box kein curl gibt,
Also ich habe mal aus dem fritz!load-package (http://thomasheinz.net/installation-von-fritzload-auf-der-fritzbox-z-b-7270/) ein curl genommen. Hat funktioniert.
Helmut.

Markus Bloch

Mittlerweile gibt es aber Module in FHEM für HUE ;-)
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)