PAGE1
PAGE1
设备状态与控制API使用
在前一节中,我们介绍了如何通过BoschHomeConnectAPI进行设备的注册和授权。本节将详细介绍如何使用BoschHomeConnectAPI来获取设备状态和控制设备。通过这些API,开发者可以实现对设备的实时监控和远程控制,从而提升用户的使用体验。
获取设备列表
在开始控制设备之前,首先需要获取连接到BoschHomeConnect平台的设备列表。这可以通过调用GET/api/homeappliances接口来实现。
请求示例
GET/api/homeappliancesHTTP/1.1
Host:
Authorization:BearerACCESS_TOKEN
响应示例
{
data:[
{
haId:HC123456789012345678,
brand:Bosch,
type:Refrigerator,
name:MyFridge,
enumber:HBW67445S0,
model:HBW67445S0,
connected:true
},
{
haId:HC098765432109876543,
brand:Bosch,
type:WashingMachine,
name:MyWasher,
enumber:WAW24240FG,
model:WAW24240FG,
connected:true
}
]
}
代码示例
以下是一个使用Python的示例,展示如何获取设备列表并解析响应:
importrequests
#替换为实际的访问令牌
access_token=YOUR_ACCESS_TOKEN
#构建请求头
headers={
Authorization:fBearer{access_token},
Host:
}
#发送GET请求
response=requests.get(/api/homeappliances,headers=headers)
#检查请求是否成功
ifresponse.status_code==200:
devices=response.json()[data]
fordeviceindevices:
print(fDeviceID:{device[haId]})
print(fBrand:{device[brand]})
print(fType:{device[type]})
print(fName:{device[name]})
print(fModel:{device[model]})
print(fConnected:{device[connected]}\n)
else:
print(fFailedtogetdevices:{response.status_code}{response.text})
获取设备状态
获取设备状态是通过调用GET/api/homeappliances/{haId}/status接口来实现的。这个接口返回设备的当前状态信息,包括各种传感器数据和操作状态。
请求示例
GET/api/homeappliances/HC123456789012345678/statusHTTP/1.1
Host:
Authorization:BearerACCESS_TOKEN
响应示例
{
data:{
BSH.Common.Status.PowerState:{
value:BSH.Common.EnumType.PowerState.On
},
BSH.Common.Status.OperationState:{
value:BSH.Common.EnumType.OperationState.Ready
},
Refrigeration.Common.Status.DoorState:{
value:Refrigeration.Common.EnumType.DoorState.Clos