我看到可以通过以下命令控制飞利浦Hue灯:
向(您的色调网站)
发出以下HTTP POST请求{“username”:“YourAppName”,“devicetype”:“YourAppName”} 如果您没有按下Hue Hub上的按钮,您将收到类似的错误;
{“error”:{“type”:101,“address”:“/”,“description”:“未按下链接按钮”}} 按集线器上的链接按钮,然后重试,您应该收到;
{ “成功”:{ “用户名”: “关键”}} 上面的密钥将是一个md5字符串,记住这一点,你将来需要它
- 但我不确定如何使用Applescript说这种语言 - 我知道你可以使用“做shell脚本”,也可能在那里使用cURL,但是,我实际上已经分崩离析了代码才能正常工作。
有什么想法吗?
答案 0 :(得分:1)
对于shell脚本,试试这个:
curl -d "{\"username\": \"yourname\", \"devicetype\": \"yourhuename\"}" [not a link]http://hueIpAddr/api
答案 1 :(得分:1)
我能够让我的python脚本使用curl请求通过subprocess
来控制灯光(我认为类似于shell脚本),使用:
curl --request PUT --data \'{"on":true, "xy":[0.4370,0.3706],"bri":255}\' http://{url}/api/{username}/lights/1/state
要使用curl创建用户,您应该将代码更改为:
curl --request POST --data \'{"devicetype":"your_devicetype", "username":"your_username"}\' http://{url}/api/
公平地说,我没有尝试使用curl,因为我正在努力转移到python中的urllib2。 希望这会有所帮助。
答案 2 :(得分:0)
另一个shell脚本,它具有通过HSB和转换时间设置颜色的有用功能。
#!/bin/sh
#
# Register "patniemeyer" key with this bridge
#
# % curl -d '{"username": "patniemeyer", "devicetype": "Philips hue"}' http://192.168.1.179/api
# [{"success":{"username":"patniemeyer"}}]
#
KEY='patniemeyer'
IP='192.168.1.179'
#
# Light number, hue, saturation, brightness, transition time
#
# hue 0-65535
# sat 0-255?
# transition time 1/10 seconds
#
lightNHSBT()
{
_lightNum=$1
_hue=$2
_sat=$3
_brightness=$4
_ttime=$5
curl --request PUT --data "{\"hue\":$_hue, \"sat\":$_sat, \"bri\":$_brightness, \"on\":true, \"transitiontime\":$_ttime}" http://$IP/api/$KEY/lights/$_lightNum/state/
}
#
# CIE 1931 X,Y colors
# Light number, X, Y, brightness, transition time
#
# transition time 1/10 seconds
#
lightNXYBT()
{
_lightNum=$1
_x=$2
_y=$3
_brightness=$4
_ttime=$5
curl --request PUT --data "{\"xy\":[$_x,$_y], \"bri\":$_brightness, \"on\":true, \"transitiontime\":$_ttime}" http://$IP/api/$KEY/lights/$_lightNum/state/
}
#
for f in 1 2 3 4 5 6
do
lightNHSBT $f 0 255 255 5 # full red
done