云端可以調(diào)用SetDeviceDesiredProperty接口,設(shè)置期望屬性值來控制設(shè)備。在云端設(shè)置設(shè)備期望屬性值后,若設(shè)備在線,將實(shí)時(shí)更新設(shè)備屬性狀態(tài);若設(shè)備離線,期望屬性值將緩存云端,待設(shè)備上線后,獲取期望屬性值,并更新屬性狀態(tài)。本文介紹設(shè)備期望屬性值的數(shù)據(jù)格式。
獲取期望屬性值
上行(Alink JSON)。
設(shè)備向云端請(qǐng)求獲取設(shè)備屬性的期望值。
- 請(qǐng)求Topic:
/sys/${productKey}/${deviceName}/thing/property/desired/get
。 - 響應(yīng)Topic:
/sys/${productKey}/${deviceName}/thing/property/desired/get_reply
。
Alink請(qǐng)求數(shù)據(jù)格式:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" : [
"power",
"temperature"
],
"method":"thing.property.desired.get"
}
Alink響應(yīng)數(shù)據(jù)格式:
{
"id":"123",
"code":200,
"data":{
"power": {
"value": "on",
"version": 2
}
}
}
參數(shù) | 類型 | 說明 |
---|---|---|
id | String | 消息ID號(hào)。String類型的數(shù)字,取值范圍0~4294967295,且每個(gè)消息ID在當(dāng)前設(shè)備中具有唯一性。 |
version | String | 協(xié)議版本號(hào),目前協(xié)議版本號(hào)唯一取值為1.0。 |
sys | Object | 擴(kuò)展功能的參數(shù),其下包含各功能字段。 說明 使用設(shè)備端SDK開發(fā)時(shí),如果未設(shè)置擴(kuò)展功能,則無此參數(shù),相關(guān)功能保持默認(rèn)配置。 |
ack | Integer | sys下的擴(kuò)展功能字段,表示是否返回響應(yīng)數(shù)據(jù)。
重要 該功能配置說明,請(qǐng)參見物模型使用示例。 如果未配置該功能,則無此參數(shù),云端默認(rèn)返回響應(yīng)數(shù)據(jù)。 |
params | List | 要獲取期望值的屬性標(biāo)識(shí)符(Identifier)列表。 如示例中列舉了兩個(gè)屬性的標(biāo)識(shí)符:
如果是自定義模塊屬性,屬性標(biāo)識(shí)符格式為
|
method | String | 請(qǐng)求方法,取值thing.property.desired.get 。 |
參數(shù) | 類型 | 說明 |
---|---|---|
id | String | 消息ID號(hào)。String類型的數(shù)字,取值范圍0~4294967295,且每個(gè)消息ID在當(dāng)前設(shè)備中具有唯一性。 |
code | Integer | 結(jié)果信息, 具體參考設(shè)備端通用code。 |
data | Object | 返回的期望值信息。 示例中,返回了屬性power的期望值數(shù)據(jù),包含期望值value和當(dāng)前期望值版本version。
如果是自定義模塊屬性,屬性標(biāo)識(shí)符格式為
說明 若未在云端設(shè)置過該屬性的期望值,或期望屬性值已被清空,返回對(duì)象中不包含該屬性的標(biāo)識(shí)符。如示例中,屬性temperature無期望值,返回?cái)?shù)據(jù)中不包含該屬性標(biāo)識(shí)符。 Data所包含的參數(shù)具體說明,請(qǐng)見下表data。 |
參數(shù) | 類型 | 說明 |
---|---|---|
key | String | key即屬性的標(biāo)識(shí)符。如示例中為power。 |
value | O?bject | 期望屬性值。 |
version | Integer | 當(dāng)前期望屬性值的版本。 說明 首次設(shè)置期望屬性值后,期望值版本為1。以后每次設(shè)置后,期望值版本號(hào)自動(dòng)加1。 |
清空期望屬性值
上行(Alink JSON)。
設(shè)備清除云端設(shè)備的期望屬性值。
- 請(qǐng)求Topic:
/sys/${productKey}/${deviceName}/thing/property/desired/delete
。 - 響應(yīng)Topic:
/sys/${productKey}/${deviceName}/thing/property/desired/delete_reply
。
Alink請(qǐng)求數(shù)據(jù)格式:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"params": {
"power": {
"version": 1
},
"temperature": { }
},
"method":"thing.property.desired.delete"
}
Alink響應(yīng)數(shù)據(jù)格式:
{
"id": "123",
"code": 200,
"data": { }
}
參數(shù) | 類型 | 說明 |
---|---|---|
id | String | 消息ID號(hào)。String類型的數(shù)字,取值范圍0~4294967295,且每個(gè)消息ID在當(dāng)前設(shè)備中具有唯一性。 |
version | String | 協(xié)議版本號(hào),目前協(xié)議版本號(hào)唯一取值為1.0。 |
sys | Object | 擴(kuò)展功能的參數(shù),其下包含各功能字段。 說明 使用設(shè)備端SDK開發(fā)時(shí),如果未設(shè)置擴(kuò)展功能,則無此參數(shù),相關(guān)功能保持默認(rèn)配置。 |
ack | Integer | sys下的擴(kuò)展功能字段,表示是否返回響應(yīng)數(shù)據(jù)。
重要 該功能配置說明,請(qǐng)參見物模型使用示例。 如果未配置該功能,則無此參數(shù),云端默認(rèn)返回響應(yīng)數(shù)據(jù)。 |
params | O?bject | 要清除期望值的屬性信息列表。傳入數(shù)據(jù)包含屬性的標(biāo)識(shí)符和期望值版本version。如:
如果是自定義模塊屬性,屬性標(biāo)識(shí)符格式為
params所包含的參數(shù)具體說明,請(qǐng)見下表params。 |
method | String | 請(qǐng)求方法,取值thing.property.desired.delete 。 |
參數(shù) | 類型 | 說明 |
---|---|---|
key | String | key即屬性的標(biāo)識(shí)符。如示例中,列出了power和temperature兩個(gè)屬性標(biāo)識(shí)符。 |
version | Integer | 要?jiǎng)h除期望屬性值的版本號(hào)。 說明
|
參數(shù) | 類型 | 說明 |
---|---|---|
id | String | 消息ID號(hào)。String類型的數(shù)字,取值范圍0~4294967295,且每個(gè)消息ID在當(dāng)前設(shè)備中具有唯一性。 |
code | Integer | 結(jié)果信息,具體參考設(shè)備端通用code。 |
data | O?bject | 返回?cái)?shù)據(jù)。清空期望屬性值時(shí),返回?cái)?shù)據(jù)為空。 |