PAGE1
PAGE1
HueAPI二次开发入门
1.HueAPI概述
HueAPI是PhilipsHue智能灯泡系统的核心接口,通过这个API,开发者可以实现对Hue灯泡的控制和管理。HueAPI提供了一系列的RESTfulAPI调用,使得开发者可以通过HTTP请求来控制灯泡的状态、颜色、亮度等属性,以及管理灯泡的分组和场景。
1.1HueAPI的基本架构
HueAPI的基本架构包括以下几个部分:
Bridge(桥接器):Hue桥接器是连接PhilipsHue灯泡和互联网的设备,它充当了灯泡和外部控制设备之间的中介。
Lights(灯泡):Hue系统中的灯泡,每个灯泡都有一个唯一的标识符。
Groups(分组):可以将多个灯泡组合成一个分组,方便批量控制。
Scenes(场景):场景是一组灯泡的状态配置,可以保存和调用。
Schedules(定时任务):可以设置定时任务,使灯泡在特定时间执行特定操作。
1.2HueAPI的端点
HueAPI的主要端点包括:
/api/{username}/lights:获取所有灯泡的信息或控制灯泡。
/api/{username}/groups:获取所有分组的信息或控制分组。
/api/{username}/scenes:获取所有场景的信息或创建和操作场景。
/api/{username}/schedules:获取所有定时任务的信息或创建和操作定时任务。
1.3访问HueAPI
要访问HueAPI,首先需要通过桥接器进行认证,获取一个唯一的username。这个username是访问HueAPI的凭证。认证过程包括向桥接器发送一个HTTPPOST请求,桥接器会返回一个username,之后的所有请求都需要包含这个username。
1.3.1认证过程
认证过程的HTTP请求如下:
POST/apiHTTP/1.1
Host:{bridge_ip}
Content-Type:application/json
{
devicetype:my_hue_app#my_hue_device
}
桥接器返回的JSON数据示例:
[
{
success:{
username:newdeveloper
}
}
]
1.4调用HueAPI
调用HueAPI时,通常使用HTTP方法(GET、POST、PUT、DELETE)来获取、创建、更新或删除资源。以下是一些常见的API调用示例。
1.4.1获取所有灯泡信息
GET/api/{username}/lightsHTTP/1.1
Host:{bridge_ip}
返回的JSON数据示例:
{
1:{
state:{
on:true,
bri:254,
hue:14922,
sat:144,
effect:none,
xy:[0.5091,0.3394],
ct:500,
alert:none,
colormode:hs,
mode:homeautomation,
reachable:true
},
swupdate:{
state:noupdates,
lastinstall:2019-09-07T10:38:52
},
type:Extendedcolorlight,
name:Huelamp1,
modelid:LCT010,
manufacturername:Philips,
productname:Huecolorlamp,
capabilities:{
certified:true,
control:{
mindimlevel:10000,
maxlumen:806,
colorgamuttype:C,
colorgamut:[
[0.704,0.296],
[0.2151,0.7106],
[0.138,0.0815]
]
},
streaming:{