控制设备

控制设备协议说明

控制消息是对智能家居设备进行控制的消息。目前支持以下设备控制消息。

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

设备属性信息,支持上报一个或多个属性信息。请查看属性信息arrow-up-right,了解设备的属性和上报方式。

否,当设备属性信息发生变化时,建议将属性变更信息上报给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

设备属性信息,支持上报一个或多个属性信息。请查看属性信息arrow-up-right,了解设备的属性和上报方式。

否,当设备属性信息发生变化时,建议将属性变更信息上报给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

设备属性信息,支持上报一个或多个属性信息。请查看属性信息arrow-up-right,了解设备的属性和上报方式。

否,当设备属性信息发生变化时,建议将属性变更信息上报给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

设备属性信息,支持上报一个或多个属性信息。请查看属性信息arrow-up-right,了解设备的属性和上报方式。

否,当设备属性信息发生变化时,建议将属性变更信息上报给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

设备属性信息,支持上报一个或多个属性信息。请查看属性信息arrow-up-right,了解设备的属性和上报方式。

否,当设备属性信息发生变化时,建议将属性变更信息上报给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

设备类型,详细信息请参见设备类型表arrow-up-right

mode.value

设备模式,与设备类型相关,不同设备类型的模式不同,详细信息请参见设备模式表arrow-up-right

应用举例

用户说“小右小右,把空调调成制冷模式”,主机理解用户意图后,向智能家居服务发送SetModeRequest消息,消息示例如下。

SetModeConfirmation

当设备的模式设置成功时,智能家居服务返回该消息。

Header信息

属性

取值

name

SetModeConfirmation

namespace

YouZhuan.ConnectedHome.Control

Payload信息

属性

描述说明

是否必须

previousState

设置前的设备状态信息。

previousState.mode

设置前的设备模式。

previousState.mode.value

设置前的设备模式,详细信息请参见设备模式表arrow-up-right

mode

设置后的设备模式。

mode.deviceType

设备类型,详细信息请参见设备类型表arrow-up-right

mode.value

设置后的设备模式,详细信息请参见设备模式表arrow-up-right

attributes

设备属性信息,支持上报一个或多个属性信息。请查看属性信息arrow-up-right,了解设备的属性和上报方式。

否,当设备属性信息发生变化时,建议将属性变更信息上报给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.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

设备属性信息,支持上报一个或多个属性信息。请查看属性信息arrow-up-right,了解设备的属性和上报方式。

否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当卧室灯光成功调成红色时,智能家居服务返回SetColorConfirmation消息,消息示例如下。

最后更新于