基本信息
文件名称:智能家电软件:Bosch Home Connect二次开发_(5).设备状态与控制API使用.docx
文件大小:22.96 KB
总页数:22 页
更新时间:2025-05-25
总字数:约1.25万字
文档摘要

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