控制设备
控制设备协议说明
控制消息是对智能家居设备进行控制的消息。目前支持以下设备控制消息。
TurnOnRequest 打开设备
TurnOnConfirmation 打开设备返回信息
TurnOffRequest 关闭设备
TurnOffConfirmation 关闭设备返回信息
PauseRequest 暂停设备
PauseConfirmation 暂停设备返回信息
SetTemperatureConfirmation 设置温度返回信息
SetFanSpeedRequest 设置风速
SetModeRequest 设置模式
SetColorRequest 设置颜色相关(亮度,饱和度,色相)
TurnOnRequest
当用户想打开指定设备时,右转主机会将该消息发送给智能家居服务。
Header信息
属性
取值
name
TurnOnRequest
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
accessToken
设备云端获取的access token。
是
appliance
设备操作的具体对象,包括applianceId和additionalApplianceDetails。
是
appliance.applianceId
设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
是
appliance.additionalApplianceDetails
提供给设备云使用,存放设备或场景相关的附加信息,是键值对。
是,内容可以为空
应用举例
当用户在右转主机操作打开设备时向智能家居服务发送TurnOnRequest消息,消息示例如下。
TurnOnConfirmation
当请求的设备成功打开时,智能家居服务需要返回该消息给右转主机。
Header信息
属性
取值
name
TurnOnConfirmation
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
取值
是否必须
attributes
否,当设备属性信息发生变化时,建议将属性变更信息上报给YouZhuan。
应用举例
当电视成功打开时,技能向YouZhuan发送TurnOnConfirmation消息,示例如下。
TurnOffRequest
当用户想关闭设备时,右转主机会发送该消息给智能家居服务,通知智能家居服务关闭该设备。
Header信息
属性
取值
name
TurnOffRequest
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
accessToken
设备云端获取的access token。
是
appliance
设备操作的具体对象,包括applianceId和additionalApplianceDetails。
是
appliance.applianceId
设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
是
appliance.additionalApplianceDetails
提供给设备云使用,存放设备或场景相关的附加信息,是键值对。YouZhuan不解析或使用这些数据。该属性的内容不能超过5000字节。
是,内容可以为空
应用举例
当用户说(或触发主机的关闭事件)“小右小右,帮我关闭灯光”,右转主机理解用户意图后,会向智能家居服务发送TurnOffRequest消息,示例如下。
TurnOffConfirmation
当请求的设备成功关闭时,智能家居服务会向右转主机发送该消息。
Header信息
属性
取值
name
TurnOffConfirmation
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
attributes
否,当设备属性信息发生变化时,建议将属性变更信息上报给YouZhuan。
应用举例
当灯光成功关闭时,智能家居服务会向右转主机发送TurnOffConfirmation消息,示例如下。
PauseRequest
当用户想暂停设备时,右转主机会发送该消息给智能家居服务。
Header信息
属性
取值
name
PauseRequest
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
accessToken
设备云端获取的access token。
是
appliance
设备操作的具体对象,包括applianceId和additionalApplianceDetails。
是
appliance.applianceId
设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
是
appliance.additionalApplianceDetails
提供给设备云使用,存放设备或场景相关的附加信息,是键值对。
是,内容可以为空
应用举例
用户说“小右,暂停窗帘”时,右转主机了解用户意图后,会发送PauseRequest消息给智能家居服务。消息示例如下。
PauseConfirmation
设备成功暂停时,智能家居服务需要返回该消息。
Header信息
属性
取值
name
PauseConfirmation
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
attributes
否,当设备属性信息发生变化时,建议将属性变更信息上报给YouZhuan。
应用举例
当窗帘暂停后,智能家居服务需要返回PauseConfirmation消息,示例如下。
SetTemperatureRequest
当用户需要设置设备温度时,智能主机向智能家居服务发送该消息,通知设备调整温度。
Header信息
属性
取值
name
SetTemperatureRequest
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
accessToken
设备云端获取的access token。
是
appliance
设备操作的具体对象,包括applianceId和additionalApplianceDetails。
是
appliance.applianceId
设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
是
appliance.additionalApplianceDetails
提供给设备云使用,存放设备或场景相关的附加信息,是键值对。YouZhuan不解析或使用这些数据。该属性的内容不能超过5000字节。
是,内容可以为空
targetTemperature
设备设定的目标温度。
是
targetTemperature.value
设备设定的目标温度值。
是
targetTemperature.scale
温度计量单位。有CELSIUS(摄氏温度)和FAHRENHEIT(华氏温度)两种计量单位,默认使用CELSIUS。
是
应用举例
用户说“小右小右,把客厅温度设置为23度”,主机了解用户意图,向智能家居服务发送SetTemperatureRequest消息,消息示例如下。
SetTemperatureConfirmation
当设备温度设置成功时,智能家居服务需要返回该消息。
Header信息
属性
取值
name
SetTemperatureConfirmation
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
mode
温度设置成功后的设备模式。
否
temperature
温度设置成功后设备的温度,是double类型。
是
previousState object
温度设定之前的设备状态。
是
previousState.mode
温度设定之前的设备模式。
否
previousState.temperature
温度设定之前设备的温度,是double类型。
是
attributes
否,当设备属性信息发生变化时,建议将属性变更信息上报给YouZhuan。
应用举例
当设备温度成功设置成23度时,智能家居服务需要返回SetTemperatureConfirmation消息,消息示例如下。
SetFanSpeedRequest
当用户需要设置设备的风速时,主机会向智能家居服务发送该消息。
Header信息
属性
取值
name
SetFanSpeedRequest
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
accessToken
设备云端获取的access token。
是
appliance
设备操作的具体对象,包括applianceId和additionalApplianceDetails。
是
appliance.applianceId
设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
是
appliance.additionalApplianceDetails
提供给设备云使用,存放设备或场景相关的附加信息,是键值对。
是,内容可以为空
fanSpeed
设备的风速对象,包含一个属性值value或者一个属性值level,取决于用户自然表达。
是
fanSpeed.value
设备的风速值,是int类型,取值范围是1~10。用户表达具体风速值时,会出该字段。
否
fanSpeed.level
设备的风速档位级别,是string类型,取值范围是(min、low、middle、high、max、auto))。用户表达风速级别时,会出该字段。
否
应用举例
用户说“小右小右,把空调的风速设为2档”,YouZhuan接收用户意图后,向技能发送SetFanSpeedRequest消息,消息示例如下。
用户说“小右小右,把空调的风速设为高速风”,YouZhuan接收用户意图后,向技能发送SetFanSpeedRequest消息,消息示例如下。
SetFanSpeedConfirmation
设备风速设定成功时,智能家居服务会需要返回SetFanSpeedConfirmation消息。
Header信息
属性
取值
name
SetFanSpeedConfirmation
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
fanSpeed
设备的风速对象,包含一个属性值value。
是
fanSpeedvalue
设备的风速值,是int类型,取值范围是1~10。
是
previousState
设备风速变化前的设备状态。
是
previousState.fanSpeed
设备风速变化前的风速。
是
previousState.fanSpeed.value
设备风速变化前的风速值。
是
attributes
否,当设备属性信息发生变化时,建议将属性变更信息上报给YouZhuan。
应用举例
当空调风速设定为2档成功时,智能家居服务需要返回SetFanSpeedConfirmation消息,消息示例如下。
SetModeRequest
当用户需要设置设备的模式时,主机会向智能家居服务发送该消息。
Header信息
属性
取值
name
SetModeRequest
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
accessToken
设备云端获取的access token。
是
appliance
设备操作的具体对象,包括applianceId和additionalApplianceDetails。
是
appliance.applianceId
设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
是
appliance.additionalApplianceDetails
提供给设备云使用,存放设备或场景相关的附加信息,是键值对。
是,内容可以为空
mode
设备的模式信息。
是
mode.deviceType
是
mode.value
是
应用举例
用户说“小右小右,把空调调成制冷模式”,主机理解用户意图后,向智能家居服务发送SetModeRequest消息,消息示例如下。
SetModeConfirmation
当设备的模式设置成功时,智能家居服务返回该消息。
Header信息
属性
取值
name
SetModeConfirmation
namespace
YouZhuan.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
previousState
设置前的设备状态信息。
是
previousState.mode
设置前的设备模式。
是
previousState.mode.value
是
mode
设置后的设备模式。
是
mode.deviceType
是
mode.value
是
attributes
否,当设备属性信息发生变化时,建议将属性变更信息上报给YouZhuan。
应用举例
设备模式设置成功时,智能家居服务返回SetModeConfirmation消息,消息示例如下。
SetColorRequest
用户需要设置灯光颜色时,主机会向智能家居服务发送该消息,通知技能调整灯光颜色。
Header信息
属性
取值
name
SetColorRequest
namespace
DuerOS.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
accessToken
设备云端获取的access token。
是
appliance
设备操作的具体对象,包括applianceId和additionalApplianceDetails。
是
appliance.applianceId
设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
是
appliance.additionalApplianceDetails
提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
是,内容可以为空
color
是
color.hue
灯光设置的色相,是double类型,取值范围为0.00〜360.00。
是
color.saturation
灯光设置饱和度,是double类型,取值范围为0.0000〜1.0000。
是
color.brightness
灯光设置的亮度,是double类型,取值范围为0.0000〜1.0000。
是
应用举例
用户说:“小右小右(或者面板操作),把卧室的灯设置为红色”,主机了解到该意图时,会向智能家居服务发送SetColorRequest消息,消息示例如下。
SetColorConfirmation
当灯光颜色成功设定时,智能家居服务需要返回该消息。
Header信息
属性
取值
name
SetColorConfirmation
namespace
DuerOS.ConnectedHome.Control
Payload信息
属性
描述说明
是否必须
achievedState
颜色更改后设备的状态,该对象是必需的,当无法查询设备的状态或者避免查询引起的额外延迟,则可以返回SetColorRequest中发送的值。
是
achievedState.color object
颜色变化后设备的颜色。
是
color.hue
灯光设置的色相,是double类型,取值范围为0.00〜360.00。
是
color.saturation
灯光设置饱和度,是double类型,取值范围为0.0000〜1.0000。
是
color.brightness
灯光设置的亮度,是double类型,取值范围为0.0000〜1.0000。
是
attributes
否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。
应用举例
当卧室灯光成功调成红色时,智能家居服务返回SetColorConfirmation消息,消息示例如下。
最后更新于