控制消息

控制消息(Control Message)是对智能家居设备进行控制的消息。有门锁设备控制消息、摄像机设备控制消息、灯光设备控制消息、温度设备控制消息等。目前支持以下设备控制消息。

打开关闭设备

打开关闭设备包括打开设备、定时打开设备、关闭设备、定时关闭设备、暂停设备等操作。

TurnOnRequest

当用户想打开指定设备时,DuerOS会将该消息发送给技能。

Header信息

属性 取值
name TurnOnRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

当用户说“小度小度,打开电灯”,DuerOS理解到用户意图后,向技能发送TurnOnRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TurnOnRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Light]"
        }
    }
}

TurnOnConfirmation

当请求的设备成功打开时,技能会发送该消息给DuerOS。

Header信息

属性 取值
name TurnOnConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 取值 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功打开时,技能向DuerOS发送TurnOnConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TurnOnConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

TimingTurnOnRequest

当用户想在设定时间打开设备时,DuerOS会将该消息发送给技能。

Header信息

属性 取值
name TimingTurnOnRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
timestamp 表示设备定时设置的值,它指定一个数字,代表时间戳,单位是秒。

应用举例

当用户说“小度小度,5分钟后将微波炉打开”,DuerOS理解用户意图后,会向技能发送TimingTurnOnRequest消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TimingTurnOnRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "timestamp": {
            "value": 1496741861
        },
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

TimingTurnOnConfirmation

当请求设备在设定时间成功打开时,技能会将该消息发送给DuerOS。

Header信息

属性 取值
name TimingTurnOnConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当微波炉在设定时间5分钟打开时,技能会向DuerOS发送TimingTurnOnConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TimingTurnOnConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

TurnOffRequest

当用户想关闭设备时,DuerOS会发送该消息给技能,通知技能关闭该设备。

Header信息

属性 取值
name TurnOffRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

当用户说“小度小度,帮我关闭电视”,DuerOS理解用户意图后,会向技能发送TurnOffRequest消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TurnOffRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

TurnOffConfirmation

当请求的设备成功关闭时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name TurnOffConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功关闭时,技能会向DuerOS发送TurnOffConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TurnOffConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

TimingTurnOffRequest

当用户需要在设定的时间关闭设备时,DuerOS会向技能发送该消息,通知技能在设定时间关闭设备。

Header信息

属性 取值
name TimingTurnOffRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
timestamp 表示设备定时设置的值,它指定一个数字,代表时间戳,单位是秒。

应用举例

当用户说“小度小度,5分钟后关闭空调”,DuerOS理解用户意图后,会向技能发送TimingTurnOffRequest消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TimingTurnOffRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "timestamp": {
            "value": 1496741861
        },
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

TimingTurnOffConfirmation

设备在设定时间成功关闭时,技能会将结果发送给DuerOS。

Header信息

属性 取值
name TimingTurnOffConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

烤箱在设定的30分钟关闭时,技能会向DuerOS发送TimingTurnOffConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TimingTurnOffConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

PauseRequest

当用户想暂停设备时,DuerOS会发送该消息给技能。

Header信息

属性 取值
name PauseRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,暂停窗帘”时,DuerOS了解用户意图后,会发送PauseRequest消息给技能。消息示例如下。

{
    "header": {    
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "PauseRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

PauseConfirmation

设备成功暂停时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name PauseConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

洗衣机已经暂停,技能会向DuerOS发送PauseConfirmation消息,示例如下。

{
    "header": {        
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "PauseConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

ContinueRequest

当用户想设备继续之前的操作时,DuerOS会发送该消息给技能。

Header信息

属性 取值
name ContinueRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,扫地机器人继续扫地”时,DuerOS了解用户意图后,会发送ContinueRequest消息给技能。消息示例如下。

{
    "header": {    
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "ContinueRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

ContinueConfirmation

设备成功接收指令并继续之前的操作时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name ContinueConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

扫地机器人继续扫地后,技能会向DuerOS发送ContinueConfirmation消息,示例如下。

{
    "header": {        
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "ContinueConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

StartUpRequest

当用户想启动指定设备时,DuerOS会将该消息发送给技能。

Header信息

属性 取值
name StartUpRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

当用户说“小度小度,启动洗衣机”,DuerOS理解到用户意图后,向技能发送StartUpRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "StartUpRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Light]"
        }
    }
}

StartUpConfirmation

当请求的设备成功启动时,技能会发送该消息给DuerOS。

Header信息

属性 取值
name StartUpConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 取值 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当洗衣机成功启动时,技能向DuerOS发送StartUpConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "StartUpConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

可控灯光设备

可控灯光控制消息可以控制灯光的亮度、控制灯光的颜色。

SetBrightnessPercentageRequest

当用户发出将灯光调到具体亮度值的请求时,DuerOS会向技能发送该消息。

Header信息

属性 取值
name SetBrightnessPercentageRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
brightness 灯光亮度的对象。
brightness.value 灯光亮度的百分比值,是double类型,取值范围为0~100。其中0表示灯在打开时的最小亮度,100表示灯的最大亮度。

应用举例

当用户说“小度小度,将灯光亮度调到50%”时,DuerOS了解用户意图后,会发送SetBrightnessPercentageRequest消息给技能,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetBrightnessPercentageRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        },
        "brightness": {
            "value": 50.0
        }
    }
}

SetBrightnessPercentageConfirmation

当灯光亮度设置成功后,技能会向DuerOS发送该消息。

Header信息

属性 取值
name SetBrightnessPercentageConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
brightness 亮度设置后的对象。
brightness.value 灯光亮度的百分比值,是double类型,取值范围为0~100。其中0表示灯在打开时的最小亮度,100表示灯的最大亮度。
previousState 亮度设置前的对象。
previousState.brightness.value 亮度设置前的百分比值,是double类型,取值范围为0~100。其中0表示灯在打开时的最小亮度,100表示灯的最大亮度。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当灯光亮度设置成功时,技能会向DuerOS发送SetBrightnessPercentageConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetBrightnessPercentageConfirmation",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "brightness": {
                "value": 50
            }
        },
        "brightness": {
           "value": 100
        },
        "attributes": []
    }
}

IncrementBrightnessPercentageRequest

当用户需要将灯光调亮一点时,DuerOS会向技能发送该消息。

Header信息

属性 取值
name IncrementBrightnessPercentageRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaPercentage 亮度增加的百分比对象,包含value。
deltaPercentage.value 亮度增加的百分比值,是float类型,取值范围是0~100。

应用举例

用户说“小度小度,把卧室的灯调亮一些”,DuerOS接收该意图时,发送IncrementBrightnessPercentageRequest消息给技能。示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementBrightnessPercentageRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        },
        "deltaPercentage": {
            "value": 10.0
        }
    }
}

IncrementBrightnessPercentageConfirmation

当灯光成功调亮时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name IncrementBrightnessPercentageConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
brightness 亮度增加后的值,是double类型。
previousState 亮度变化之前的对象
previousState.brightness 亮度增加前的值,是double类型。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

卧室灯光成功调亮时,技能会向DuerOS发送IncrementBrightnessPercentageConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementBrightnessPercentageConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "brightness": {
                "value": 0.5
            }
        },
        "brightness": {
            "value": 1.0
        },
        "attributes": []
    }
}

DecrementBrightnessPercentageRequest

当用户需要将灯光调暗时,DuerOS会向技能发送该消息。

Header信息

属性 取值
name DecrementBrightnessPercentageRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaPercentage 减少的百分比的对象。
deltaPercentage.value 减少的百分比值,是float类型,取值范围是0~100。 是deltaPercentage的必须项。

应用举例

用户说“小度小度,把卧室的灯调暗一点”,DuerOS接收到该意图时,会向技能发送DecrementBrightnessPercentageRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementBrightnessPercentageRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        },
        "deltaPercentage": {
            "value": 10.0
        }
    }
}

DecrementBrightnessPercentageConfirmation

当灯光亮度成功调暗时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name DecrementBrightnessPercentageConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
brightness 亮度减少后的值,是double类型。
previousState 亮度减少前的对象
previousState.brightness 亮度减少前的值,是double类型。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

灯光亮度成功调暗时,技能会向DuerOS发送DecrementBrightnessPercentageConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementBrightnessPercentageConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "brightness": {
                "value": 1.0
            }
        },
        "brightness": {
            "value": 0.5
        },
        "attributes": []
    }
}

SetColorRequest

用户需要设置灯光颜色时,DuerOS会向技能发送该消息,通知技能调整灯光颜色。

Header信息

属性 取值
name SetColorRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
color 灯设置的颜色。包括色相、饱和度、亮度(HSB)颜色模型
color.hue 灯光设置的色相,是double类型,取值范围为0.00〜360.00。
color.saturation 灯光设置饱和度,是double类型,取值范围为0.0000〜1.0000。
color.brightness 灯光设置的亮度,是double类型,取值范围为0.0000〜1.0000。

应用举例

用户说:“小度小度,把卧室的灯设置为红色”,DuerOS了解到该意图时,会向技能发送SetColorRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetColorRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        },
        "color": {
            "hue": 0.0,
            "saturation": 1.0000,
            "brightness": 1.0000
        }
    }
}

SetColorConfirmation

当灯光颜色成功设定时,技能会向DuerOS发送该消息。

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。

应用举例

当卧室灯光成功调成红色时,技能会向DuerOS发送SetColorConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetColorConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "achievedState": {
            "color": {
                "hue": 0.0,
                "saturation": 1.0000,
                "brightness": 1.0000
            }
        },
        "attributes": []
    }
}

可控温度设备

可控温度设备可以通过语音升高或者降低设备的温度,也可以设定设备的温度。

IncrementTemperatureRequest

当用户需要把设备温度调高时,DuerOS会发送该消息给技能,通知技能调高设备温度。

Header信息

属性 取值
name IncrementTemperatureRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备温度调整信息。 否, 当值为空时表示用户没有指定调高的具体值
deltaValue.value 设备调整温度值,是float类型。 当deltaValue存在时,该项必须存在。
deltaValue.scale 温度计量单位。有CELSIUS(摄氏温度)和FAHRENHEIT(华氏温度)两种计量单位,默认使用CELSIUS。 在deltaValue不为空时为是

应用举例

用户说“小度小度,把卧室的温度调高一点”,DuerOS了解用户意图,会向技能发送IncrementTemperatureRequest消息,消息样例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementTemperatureRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        },
        "deltaValue": {
            "value": 1.0,
            "scale": "CELSIUS"
        }
    }
}

IncrementTemperatureConfirmation

设备温度成功调高时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name IncrementTemperatureConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
mode 温度升高后设备的模式。
temperature 设备调高后的温度,是double类型
previousState 设备温度变化之前的状态。
previousState.mode 设备温度变化之前的设备模式。
previousState.temperature 设备温度变化之前的温度,是double类型。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

卧室温度调高成功时,技能会向DuerOS发送IncrementTemperatureConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementTemperatureConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "mode": {
                "value": "AUTO"
            },
            "temperature": {
                "value": 21.0
            }
        },
        "temperature": {
            "value": 25.0
        },
        "mode": {
            "value": "AUTO"
        },
        "attributes": []
    }
}

DecrementTemperatureRequest

当用户需要调低设备温度时,DuerOS会发送该消息给技能。

Header信息

属性 取值
name DecrementTemperatureRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备温度调整信息。 否, 当值为空时表示用户没有指定调高的具体值
deltaValue.value 调高后的温度值,是float类型。 当deltaValue存在时,该项必须存在。
deltaValue.scale 温度计量单位。有CELSIUS(摄氏温度)和FAHRENHEIT(华氏温度)两种计量单位,默认使用CELSIUS。 在deltaValue不为空时为是

应用举例

用户说“小度小度,帮我把客厅温度调低一点”,DuerOS收到用户意图时,会向技能发送DecrementTemperatureRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementTemperatureRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        },
        "deltaValue": {
            "value": 60.0,
            "scale": "CELSIUS"
        }
    }
}

DecrementTemperatureConfirmation

当设备温度成功调低时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name DecrementTemperatureConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
mode 表示设置之后的设备模式。
temperature double类型,表示设置之后的值。
previousState 设备温度变化之前的状态。
previousState.mode 设备温度变化之前的设备模式。
previousState.temperature 设备温度变化之前的温度,是double类型。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当客厅温度调低成功时,技能会向DuerOS发送该DecrementTemperatureConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementTemperatureConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "mode": {
                "value": "AUTO"
            },
            "temperature": {
                "value": 25.0
            }
        },
        "temperature": {
            "value": 23.0
        },
        "mode": {
            "value": "AUTO"
        },
        "attributes": []
    }
}

SetTemperatureRequest

当用户需要设置设备温度时,DuerOS向技能发送该消息,通知技能调整温度。

Header信息

属性 取值
name SetTemperatureRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
targetTemperature 设备设定的目标温度。
targetTemperature.value 设备设定的目标温度值。
targetTemperature.scale 温度计量单位。有CELSIUS(摄氏温度)和FAHRENHEIT(华氏温度)两种计量单位,默认使用CELSIUS。

应用举例

用户说“小度小度,把客厅温度设置为23度”,DuerOS了解用户意图,向技能发送SetTemperatureRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetTemperatureRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "targetTemperature": {
            "value": 23,
            "scale": "CELSIUS"
        },
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

SetTemperatureConfirmation

当设备温度设置成功时,技能向DuerOS发送该消息。

Header信息

属性 取值
name SetTemperatureConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
mode 温度设置成功后的设备模式。
temperature 温度设置成功后设备的温度,是double类型。
previousState object 温度设定之前的设备状态。
previousState.mode 温度设定之前的设备模式。
previousState.temperature 温度设定之前设备的温度,是double类型。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当客厅温度成功设置成23度时,技能向DuerOS发送SetTemperatureConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetTemperatureConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "mode": {
                "value": "AUTO"
            },
            "temperature": {
                "value": 25.0
            }
        },
        "temperature": {
            "value": 23.0
        },
        "mode": {
            "value": "AUTO"
        },
        "attributes": []
    }
}

可控风速设备

可控风速设备消息用于控制设备风速,常用的操作有增大设备风速、减小设备风速、设置设备风速、设置设备模式、取消设备模式等。

IncrementFanSpeedRequest

用户需要加大设备的风速时,DuerOS会向技能发送该消息,通知技能加大风速。

Header信息

属性 取值
name IncrementFanSpeedRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备风速变化对象。
deltaValue.value 设备风速增加的具体值,是int类型。 deltaValue对象的必须项

说明:若设备风速增加后的值超越了设备风速的最大值,此时会返回ValueOutOfRangeError错误信息。

应用举例

用户说“小度小度,把空调的风速调大一些”,DuerOS了解用户意图后,向技能发送IncrementFanSpeedRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementFanSpeedRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        },
        "deltaValue" : {
            "value" : 1
        }
    }
}

IncrementFanSpeedConfirmation

设备风速增加成功时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name IncrementFanSpeedConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
mode 设备风速变化后的设备模式。
fanSpeed 设备风速变化后的值,是int类型。
previousState 设备风速变化前的设备状态。
previousState.mode 设备风速变化前的设备模式。
previousState.fanSpeed 设备风速变化前的风速值。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当空调的风速变大时,技能向DuerOS发送IncrementFanSpeedConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementFanSpeedConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "mode": {
                "value": "AUTO"
            },
            "fanSpeed": {
                "value": 1
            }
        },
        "fanSpeed": {
            "value": 2
        },
        "mode": {
            "value": "AUTO"
        }
        "attributes": []
    }
}

DecrementFanSpeedRequest

当用户需要减小设备风速时,DuerOS会向技能发送该消息。

Header信息

属性 取值
name DecrementFanSpeedRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备风速变化对象。
deltaValue.value 设备风速减小的具体值,是int类型。 deltaValue对象的必须项

应用举例

用户说“小度小度,把空调的风速调小一点”,DuerOS接收到用户意图后,向技能发送DecrementFanSpeedRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementFanSpeedRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        },
        "deltaValue" : {
            "value" : 1
        }
    }
}

DecrementFanSpeedConfirmation

当设备风速成功减小时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name DecrementFanSpeedConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
mode 设备风速变化后的设备模式。
fanSpeed 设备风速变化后的值,是int类型。
previousState 设备风速变化前的设备状态。
previousState.mode 设备风速变化前的设备模式。
previousState.fanSpeed 设备风速变化前的风速值。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当空调风速调小后,技能向DuerOS发送DecrementFanSpeedConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementFanSpeedConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "mode": {
                "value": "AUTO"
            },
            "fanSpeed": {
                "value": 2
            }
        },
        "fanSpeed": {
            "value": 1
        },
        "mode": {
            "value": "AUTO"
        },
        "attributes": []
    }
}

SetFanSpeedRequest

当用户需要设置设备的风速时,DuerOS会向技能发送该消息。

Header信息

属性 取值
name SetFanSpeedRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
fanSpeed 设备的风速对象,包含一个属性值value或者一个属性值level,取决于用户自然表达。
fanSpeed.value 设备的风速值,是int类型,取值范围是1~10。用户表达具体风速值时,会出该字段。
fanSpeed.level 设备的风速档位级别,是string类型,取值范围是(min、low、middle、high、max、auto))。用户表达风速级别时,会出该字段。

应用举例

用户说“小度小度,把空调的风速设为2档”,DuerOS接收用户意图后,向技能发送SetFanSpeedRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetFanSpeedRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "fanSpeed": {
            "value": 2
        },
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

用户说“小度小度,把空调的风速设为高速风”,DuerOS接收用户意图后,向技能发送SetFanSpeedRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetFanSpeedRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "fanSpeed": {
            "level": "high"
        },
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

SetFanSpeedConfirmation

设备风速设定成功时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name SetFanSpeedConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
fanSpeed 设备的风速对象,包含一个属性值value。
fanSpeedvalue 设备的风速值,是int类型,取值范围是1~10。
previousState 设备风速变化前的设备状态。
previousState.fanSpeed 设备风速变化前的风速。
previousState.fanSpeed.value 设备风速变化前的风速值。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当空调风速设定为2档成功时,技能向DuerOS发送SetFanSpeedConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetFanSpeedConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "fanSpeed": {
                "value": 1
            }
        },
        "fanSpeed": {
            "value": 2
        },
        "attributes": []
    }
}

设备模式设置

SetModeRequest

当用户需要设置设备的模式时,DuerOS会向技能发送该消息。

Header信息

属性 取值
name SetModeRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
mode 设备的模式信息。
mode.deviceType 设备类型,详细信息请参见设备类型表
mode.value 设备模式,与设备类型相关,不同设备类型的模式不同,详细信息请参见设备模式表

应用举例

用户说“小度小度,把空调调成制冷模式”,DuerOS理解用户意图后,向技能发送SetModeRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetModeRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "mode": {
            "deviceType": "AIR_CONDITION",
            "value": "COOL"
        },
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

SetModeConfirmation

当设备的模式设置成功时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name SetModeConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
previousState 设置前的设备状态信息。
previousState.mode 设置前的设备模式。
previousState.mode.deviceType 设备类型,详细信息请参见设备类型表
previousState.mode.value 设置前的设备模式,详细信息请参见设备模式表
mode 设置后的设备模式。
mode.deviceType 设备类型,详细信息请参见设备类型表
mode.value 设置后的设备模式,详细信息请参见设备模式表
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

设备模式设置成功时,技能向DuerOS发送SetModeConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetModeConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "mode": {
                "deviceType": "AIR_CONDITION",
                "value": "AUTO"
            }
        },
        "mode": {
            "deviceType": "AIR_CONDITION",
            "value": "COOL"
        },
        "attributes": []
    }
}

UnsetModeRequest

当用户需要取消设置的模式时,DuerOS会向技能发送该消息。

Header信息

属性 取值
name UnsetModeRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
mode 设备的模式信息。
mode.deviceType 设备类型,详细信息请参见设备类型表
mode.value 设备模式,与设备类型相关,不同设备类型的模式不同,详细信息请参见设备模式表

应用举例

用户说“小度小度,取消空调制冷模式”时,DuerOS会发送UnsetModeRequest消息给技能,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "UnsetModeRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "mode": {
            "value": "AUTO"
            "deviceType": "AIR_CONDITION"
        },
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

UnsetModeConfirmation

取消模式设置成功时,技能会发送该消息给DuerOS。

Header信息

属性 取值
name UnsetModeConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
previousState 取消设置前的设备状态信息。
previousState.mode 取消设置前的设备模式。
previousState.mode.deviceType 设备类型,详细信息请参见设备类型表
previousState.mode.value 取消设置前的设备模式,详细信息请参见设备模式表
mode 取消设置后的设备模式。
mode.deviceType 设备类型,详细信息请参见设备类型表
mode.value 取消设置后的设备模式,详细信息请参见设备模式表
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

取消模式设置成功时,技能会给DuerOS发送UnsetModeConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "UnsetModeConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "mode": {
                "deviceType": "AIR_CONDITION",
                "value": "COOL"
            }
        },
        "mode": {
            "deviceType": "AIR_CONDITION",
            "value": "AUTO"
        },
        "attributes": []
    }
}

TimingSetModeRequest

当用户需要设备在设定的时间调整到指定模式时,DuerOS会向技能发送该消息。

Header信息

属性 取值
name TimingSetModeRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
mode 设备的模式信息。
mode.deviceType 设备类型,详细信息请参见设备类型表
mode.value 设备模式,与设备类型相关,不同设备类型的模式不同,详细信息请参见设备模式表

应用举例

用户说“小度小度,1分钟后把空调调成制冷模式”,DuerOS了解用户意图后,会向技能发送TimingSetModeRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TimingSetModeRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "mode": {
            "deviceType": "AIR_CONDITION",
            "value": "COOL"
        },
        "timestamp": {
            "value": 60
        },
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Ceiling Fan]"
        }
    }
}

TimingSetModeConfirmation

当设备在设定的时间调整到指定的模式时,技能会向DuerOS发送该消息。

Header信息

属性 取值
name TimingSetModeConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
previousState 设备调整模式前的状态信息。
previousState.mode 调整模式前的设备模式信息。
previousState.mode.deviceType 设备类型,详细信息请参见设备类型表
previousState.mode.value 调整模式前的设备模式,详细信息请参见设备模式表
mode 设备的模式信息。
mode.deviceType 设备类型,详细信息请参见设备类型表
mode.value 调整模式后的设备模式,详细信息请参见设备模式表
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当空调在1分钟后成功调成制冷模式时,技能向DuerOS发送TimingSetModeConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "TimingSetModeConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "previousState": {
            "mode": {
                "deviceType": "AIR_CONDITION",
                "value": "AUTO"
            }
        },
        "mode": {
            "deviceType": "AIR_CONDITION",
            "value": "COOL"
        },
        "attributes": []
    }
}

设备类型与模式表

设备模式控制消息支持不同类型设备的模式控制。设备类型不同,可以控制的模式也不同。下面详细的列出已经支持的设备类型及其对应的模式。

设备类型 设备模式
LIGHT
  • READING:阅读
  • SLEEP:睡眠
  • ALARM:报警
  • NIGHT_LIGHT:夜灯
  • ROMANTIC:浪漫
  • SUNDOWN:日落
  • SUNRISE:日出
  • RELAX :休闲/放松
  • LIGHTING :照明
  • SUN :太阳
  • STAR :星星
  • ENERGY_SAVING:节能
  • MOON:月亮
  • JUDI:蹦迪
AIR_CONDITION
  • COOL:制冷
  • HEAT:制热
  • AUTO:自动
  • FAN:送风
  • DEHUMIDIFICATION:除湿
  • SLEEP:睡眠
  • CLEAN:净化
  • NAI:负离子
AIR_PURIFIER
  • SLEEP:睡眠
  • HOME:回家
  • OUT:离家
  • AUTO:自动
  • MANUAL:手动
  • MUTE:静音
  • INTELLIGENT:智能
  • HIGHSPEED:急速
  • DUST_REMOVE:除尘
  • HCHO_FREE:除甲醛
  • NAI:负离子
INDUCTION_COOKER
  • QUICK_FIRE:快速火
  • SLOW:温火
  • FRY:煎炸
  • STEWING:蒸煮/炖煮
  • SOUP:汤粥/煲汤
  • HOT_POT:火锅
SWEEPING_ROBOT
  • RANDOM:随机
  • AUTO:自动
  • FOCUS:重点
  • EDGE:沿边
  • BOW:弓形
  • SPIRAL:螺旋
AIR_HEATER
  • HIGH_HEAT:高热
  • LOW_HEAT:低热
  • COOL:冷风
MICROWAVE_OVEN
  • MICROWAVE:微波
  • BARBECUE:烧烤
  • THAW:解冻
OVEN
  • FERMENTATION:发酵
  • DOUBLE_TUBE:双管
  • THAW:解冻
FAN
  • NIGHT:夜间
  • SWING:摆动/摆风
  • SINGLE:单人
  • MULTI:多人
  • SPURT:喷射
  • SPREAD:扩散
  • QUIET:安静
  • NORMAL:正常风速/适中风速/一般风速
  • POWERFUL:强效
  • MUTE:静音风速
  • NATURAL:自然风速
  • BABY:无感风速/轻微风速
  • COMFORTABLE:舒适风速
  • FEEL:人感风速
RICE_COOKER
  • HOTTING:加热/热饭/再加热
  • INSULATED:保温
  • SOUP:煮粥/煲汤/杂粮粥
  • FAST_SOUP:快速粥
  • STEWING:蒸煮/炖煮/美味蒸
  • NORMAL_RICE:蒸米饭
  • MIXED_RICE:杂粮饭
  • SMALL_RICE:小米饭
  • GERMINATED_RICE:发芽饭
AIR_FRESHER
  • NORMAL:普通模式
  • AUTO:自动模式
  • SLEEP:睡眠模式
  • HEAT:加热模式
WASHING_MACHINE
  • STANDARD:标准
  • DRY:干洗
  • WASH_DRY:洗烘
  • FAST_WASH:快洗
  • DOWN_JACKET:羽绒服
RANGE_HOOD
  • HIGH:高速
  • MIDDLE:中速
  • LOW:低速
  • STIR_FRY:爆炒
FRIDGE
  • INTELLIGENT:智能
  • FAST_FREEZE:速冻
  • FAST_COOL:速冷
  • MANUAL:手动设定
  • ICE_DRINK:冰饮功能
  • HOLIDY:假日
WATER_PURIFIER
  • CLEAN:冲洗
  • ADD_WATER:取水
  • SMALL_CUP:小杯
  • MIDDLE_CUP:中杯
  • BIG_CUP:大杯
  • NORMAL:常温
  • BOILING:开水
  • TEA:泡茶
  • MILK:冲奶
SWEEPING_ROBOT
  • AUTO:自动(清扫/拖地)
  • FOCUS:定点(清扫/拖地)
  • ALONG_EDGE:延边(清扫/拖地)
  • ANTI_DISTURB:防打扰
  • 蛇形:S_STYLE
  • Z形:Z_STYLE
  • 精细:FINE
  • 回充:CHARGE
  • 安静:QUIET
  • 标准:STANDARD
  • 强力:POWERFUL
  • MAX:MAX
CLOTHES_RACK
  • DRYING:烘干
  • AIR_DRY:风干
  • DISINFECT:消毒

电视频道设置

IncrementTVChannelRequest

用户需要观看下一个电视频道,DuerOS会向技能发送该消息,通知技能设置电视到下一个频道。

Header信息

属性 取值
name IncrementTVChannelRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,电视调到下一个台”,DuerOS了解用户意图后,会向技能发送IncrementTVChannelRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementTVChannelRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        }
    }
}

IncrementTVChannelConfirmation

当电视成功调整到下一频道时,技能会发送该消息给DuerOS。

Header信息

属性 取值
name IncrementTVChannelConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功调整下一台时,技能向DuerOS发送IncrementTVChannelConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementTVChannelConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

DecrementTVChannelRequest

用户需要观看上一个电视频道,DuerOS会向技能发送该消息,通知技能设置电视到上一个频道。

Header信息

属性 取值
name DecrementTVChannelRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,电视调到上一个台”,DuerOS了解用户意图后,会向技能发送DecrementTVChannelRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementTVChannelRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        }
    }
}

DecrementTVChannelConfirmation

当电视成功调整上一个频道时,技能会发送该消息给DuerOS。

Header信息

属性 取值
name DecrementTVChannelConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功调整上一台时,技能向DuerOS发送DecrementTVChannelConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementTVChannelConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

ReturnTVChannelRequest

用户需要返回之前电视频道,DuerOS会向技能发送该消息,通知技能设置电视返回上一个观看频道。

Header信息

属性 取值
name ReturnTVChannelRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,电视返回上一个台”,DuerOS了解用户意图后,会向技能发送ReturnTVChannelRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "ReturnTVChannelRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        }
    }
}

ReturnTVChannelConfirmation

当请求的电视成功返回上一台时,技能会发送该消息给DuerOS。

Header信息

属性 取值
name ReturnTVChannelConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功返回上一台时,技能向DuerOS发送ReturnTVChannelConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "ReturnTVChannelConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

SetTVChannelRequest

用户需要观看某一电视频道,DuerOS会向技能发送该消息,通知技能设置电视调整到该频道。

Header信息

属性 取值
name SetTVChannelRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备电视频道信息。 否, 当值为空时表示用户没有指定频道信息
deltaValue.value 设备频道值,int类型或者string类型。当是int类型时, 表示数字频道;当是字符串时,表示频度名称,比如湖南卫视、中央一套等。 当deltaValue存在时,该项必须存在。

应用举例

用户说“小度小度,电视调到3频道”,DuerOS了解用户意图后,会向技能发送SetTVChannelRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetTVChannelRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "deltaValue": {
            "value": 3 
        }
    }
}

SetTVChannelConfirmation

当请求的电视成功设置频道,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetTVChannelConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功调整到3频道时,技能向DuerOS发送SetTVChannelConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetTVChannelConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

可控音量设备

IncrementVolumeRequest

用户需要增大设备音量,DuerOS会向技能发送该消息,通知技能设置设备增大音量。

Header信息

属性 取值
name IncrementVolumeRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备音量增大信息,为空时表示用户没有指定音量调节的具体值。
deltaValue.value 设备增大音量值,是int类型。音量范围0-100 当deltaValue存在时,该项必须存在。

应用举例

用户说“小度小度,电视音量大点”,DuerOS了解用户意图后,会向技能发送IncrementVolumeRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementVolumeRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "deltaValue": {
            "value": 2 
        }
    }
}

IncrementVolumeConfirmation

当请求的设备成功调大音量,技能会发送该消息给DuerOS。

Header信息

属性 取值
name IncrementVolumeConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功调调大音量,技能向DuerOS发送IncrementVolumeConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementVolumeConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

DecrementVolumeRequest

用户需要减小设备音量,DuerOS会向技能发送该消息,通知技能设置设备减小音量。

Header信息

属性 取值
name DecrementVolumeRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备音量减小信息。 否, 当值为空时表示用户没有指定音量调小的具体值
deltaValue.value 设备减小音量值,是int类型。音量范围0-100 当deltaValue存在时,该项必须存在。

应用举例

用户说“小度小度,电视音量小点”,DuerOS了解用户意图后,会向技能发送DecrementVolumeRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementVolumeRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "deltaValue": {
            "value": 2 
        }
    }
}

DecrementVolumeConfirmation

当请求的设备成功减小音量,技能会发送该消息给DuerOS。

Header信息

属性 取值
name DecrementVolumeConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功调小音量,技能向DuerOS发送DecrementVolumeConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementVolumeConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

SetVolumeRequest

当用户需要设置设备的音量时,DuerOS会向技能发送该消息,通知技能设置设备的音量。

Header信息

属性 取值
name SetVolumeRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备音量信息。 否, 当值为空时表示用户没有指定音量调小的具体值
deltaValue.value 设备音量值,是int类型。音量范围0-100 当deltaValue存在时,该项必须存在。

应用举例

用户说“小度小度,电视音量调到30”,DuerOS了解用户意图后,会向技能发送SetVolumeRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetVolumeRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "deltaValue": {
            "value":  30 
        }
    }
}

SetVolumeConfirmation

当设备成功设置音量后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetVolumeConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视音量调到30时,技能向DuerOS发送SetVolumeConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetVolumeConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

SetVolumeMuteRequest

当用户需要对设备进行静音或取消静音操作时,DuerOS会向技能发送该消息,通知技能设置设备的静音状态。

Header信息

属性 取值
name SetVolumeMuteRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
deltaValue 设备静音开关信息。
deltaValue.value 设备静音状态,枚举类型,取值为如下。
  • on:将设备设置为静音状态。
  • off:取消设备的静音。

应用举例

用户说“小度小度,将电视静音”,DuerOS了解用户意图后,会向技能发送SetVolumeMuteRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetVolumeMuteRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "deltaValue": {
            "value":  "on" 
        }
    }
}

SetVolumeMuteConfirmation

当设备成功的设置静音状态时,如静音或取消静音,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetVolumeMuteConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电视成功调整到静音时,技能向DuerOS发送SetVolumeMuteConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetVolumeMuteConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

可锁定设备

SetLockStateRequest

当用户发出对设备进行锁定或解除锁定操作的请求时,包括童锁的锁定和解除锁定的操作,DuerOS会向技能发送该消息,通知技能设置设备的锁定状态。

Header信息

属性 取值
name SetLockStateRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象。包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
lockState 设备当前锁定状态,枚举类型,取值如下。
  • LOCKED:设备处于锁定状态。
  • UNLOCKED:设备处于解锁状态。

应用举例

用户说“小度小度,冰箱按键锁定”,DuerOS了解用户意图后,会向技能发送SetLockStateRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetLockStateRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "lockState":"LOCKED"
    }
}

SetLockStateConfirmation

当设置设备锁定状态成功时,如设置锁定或解除锁定操作成功,技能会向DuerOS发送该消息。

Header信息

属性 取值
name SetLockStateConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
lockState 设备锁定状态信息。
lockState.value 设备当前锁定状态,枚举类型,取值如下。
  • LOCKED:设备处于锁定状态。
  • UNLOCKED:设备处于解锁状态。
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当冰箱按键成功锁定时,技能向DuerOS发送SetLockStateConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetLockStateConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "lockState": {
            "value": "LOCKED"
        },
        "attributes": []
    }

}

打印设备

SubmitPrintRequest

当用户需要进行打印时,DuerOS会向技能发送该消息,通知技能开始打印操作。

Header信息

属性 取值
name SubmitPrintRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象。包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
fileSourceUrl

打印资源的地址。支持打印资源的格式为".doc"、".docx"、".rtf"、".xls"、".xlsx"、".ppt"、".pptx"、".jpeg"、".jpg"、".png"、".gif"、".bmp"、".txt"、".html"、".pdf"。

fileName 打印文件的名称。
mediaSize 打印纸张的尺寸大小。支持以下规格:
  • IsoA3_420x297mm:表示使用A3规格的纸张打印。
  • IsoA4_210x297mm:表示使用A4规格的纸张打印,默认使用IsoA4_210x297mm。
  • IsoA5_148x210mm:表示使用A5规格的纸张打印。
color 是否使用彩色打印,布尔类型。
  • true:表示使用彩色打印。
  • false:表示使用黑白打印,默认使用false。
copies 打印份数,默认是1。

应用举例

用户说“小度小度,把这张图打印一份”,DuerOS了解用户意图后,会向技能发SubmitPrintRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SubmitPrintRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "fileSourceUrl": "http://www.234.cn/uploadfile/image/20140410111022_9402.jpg",
        "fileName": "小鸭子",
        "mediaSize": "IsoA4_210x297mm",
        "color": false,
        "copies": 1
    }
}

SubmitPrintConfirmation

当提交打印任务成功时,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SubmitPrintConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
jobId 本次任务提交完成后的jobId,后续获取任务状态时将使用该值。

应用举例

当提交打印任务成功时,技能会发送该消息给DuerOS,示例如下。

Header信息

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SubmitPrintConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "jobId": "print_job_20180512_232221_000"
    }
}

SetSuctionRequest

当用户需要设置设备的吸力时,比如调整扫地机器人吸力,DuerOS会向技能发送该消息,通知技能设置设备的吸力。

Header信息

属性 取值
name SetSuctionRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
suction 设备吸力大小信息。
suction.value 吸力设置值的列表,目前支持的值有:
  • "STANDARD"
  • "STRONG"

应用举例

用户说“小度小度,扫地机器人吸力调为强劲档”,DuerOS了解用户意图后,会向技能发送SetSuctionRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetSuctionRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "suction": {
            "value": "STRONG"
        }
    }
}

SetSuctionConfirmation

当设备成功设置吸力后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetSuctionConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当扫地机器人吸力调为强劲档时,技能向DuerOS发送SetVolumeConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetSuctionConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

SetWaterLevelRequest

当用户需要设置设备的水量时,比如调整扫地机器人水量,DuerOS会向技能发送该消息,通知技能设置设备的水量。

Header信息

属性 取值
name SetWaterLevelRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
waterLevel 设备水量大小信息。
waterLevel.value 吸力设置值的列表,目前支持的值有:
  • "HIGH"
  • "MEDIUM"
  • "LOW"

应用举例

用户说“小度小度,扫地机器人水量调为中档”,DuerOS了解用户意图后,会向技能发送SetWaterLevelRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetWaterLevelRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "waterLevel": {
            "value": "MEDIUM"
        }
    }
}

SetWaterLevelConfirmation

当设备成功设置水量后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetWaterLevelConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当扫地机器人水量调为中档时,技能向DuerOS发送SetWaterLevelConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetWaterLevelConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

ChargeRequest

当用户需要给设备充电时时,比如给扫地机器人充电,DuerOS会向技能发送该消息,通知技能给设备充电。

Header信息

属性 取值
name ChargeRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,扫地机器人充电”,DuerOS了解用户意图后,会向技能发送ChargeRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "ChargeRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        }
    }
}

ChargeConfirmation

当给设备充电指令成功发送并执行后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name ChargeConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当扫地机器人执行充电指令时,技能向DuerOS发送ChargeConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "ChargeConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

DischargeRequest

当用户发出停止给设备充电的请求时,DuerOS收到请求后,向技能发送DischargeRequest消息,通知技能停止给设备充电。

Header信息

属性 取值
namespace DuerOS.ConnectedHome.Control
name DischargeRequest

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象。包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

当用户说“小度小度,扫地机停止充电”,DuerOS接收到用户请求后,向技能发送DischargeRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DischargeRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID]"
        }
    }
}

DischargeConfirmation

当技能收到停止充电的指令后,向DuerOS发送DischargeConfirmation消息。

Header信息

属性 取值
namespace DuerOS.ConnectedHome.Control
name DischargeConfirmation

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当技能收到“停止充电”的指令后,向DuerOS发送DischargeConfirmation消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DischargeConfirmation",
        "messageId": "780013dd-99d0-4c69-9e35-db0457f9f2a7",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

SetDirectionRequest

当用户需要设置设备移动方向时,比如扫地机器人前进,DuerOS会向技能发送该消息,通知技能设置设备的移动方向。

Header信息

属性 取值
name SetDirectionRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
direction 设备移动方向信息。
direction.value 方向设置值的列表,目前支持的值有:
  • FORWARD:向前
  • BACKWARD:向后
  • LEFT:向左
  • RIGHT:向右
  • CLOCKWISE:顺时针转
  • COUNTERCLOCKWISE:逆时针转
direction.type 方向类型,目前支持的值有:
  • MOVE:移动
  • BLOW:吹风
  • SWING:摇摆

应用举例

用户说“小度小度,扫地机器人前进”,DuerOS了解用户意图后,会向技能发送SetDirectionRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetDirectionRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "direction": {
            "value": "FORWARD",
            "type": ["MOVE"],
        }
    }
}

SetDirectionConfirmation

当设备开始按照指定方向移动后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetDirectionConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当扫地机器人开始前进后,技能向DuerOS发送SetDirectionConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetDirectionConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

SetCleaningLocationRequest

当用户需要设置设备清扫位置时,比如扫地机器人清扫主卧,DuerOS会向技能发送该消息,通知技能设置扫地机器人的清扫位置。

Header信息

属性 取值
name SetCleaningLocationRequestRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
location 位置,目前支持的值有:
  • MASTER_BEDROOM:主卧
  • SECOND_BEDROOM:次卧
  • LIVING_ROOM:客厅
  • KITCHEN:厨房
  • STUDY:书房
  • RESTAURANT:餐厅

应用举例

用户说“小度小度,扫地机器人清扫主卧”,DuerOS了解用户意图后,会向技能发送SetCleaningLocationRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetCleaningLocationRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
        "location": "MASTER_BEDROOM"
    }
}

SetCleaningLocationConfirmation

当扫地机器人开始前往指定的房间清扫后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetDirectionConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当扫地机器人开始前往对应的房间进行清扫后,技能向DuerOS发送SetCleaningLocationConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetCleaningLocationConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

SetComplexActionsRequest

当用户需要给设备定制比较复杂的动作,比如, 用户想让设备做出比较好玩的动作, 比如让扫地机器人做出复杂的运动路线, 同时也播放同节奏的音乐, 这时就可以对音箱说, "小度小度, 扫地机器人动起来"。 如果针对其它设备想要实现该协议时, 具体设备的反应, 由设备云技能自己自定义, 完全可以发挥更多的想象力, 做出更多好玩的功能。

Header信息

属性 取值
name SetComplexActionsRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,扫地机器人动起来”,DuerOS了解用户意图后,会向技能发送SetComplexActionsRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetComplexActionsRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for TV]"
        },
    }
}

SetComplexActionsConfirmation

当扫地机器人开始响应用户请求后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetDirectionConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当扫地机器人执行负责动作后,技能向DuerOS发送SetComplexActionsConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "SetComplexActionsConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

IncrementHeightRequest

当用户需要升高设备时,比如自动晾衣架升起,DuerOS会向技能发送该消息,通知技能升高设备。

Header信息

属性 取值
name IncrementHeightRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,升起晾衣架”,DuerOS了解用户意图后,会向技能发送IncrementHeightRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementHeightRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID]"
        }
    }
}

IncrementHeightConfirmation

当设备升高后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name IncrementHeightConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当晾衣架升高后,技能向DuerOS发送IncrementHeightConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "IncrementHeightConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

DecrementHeightRequest

当用户需要降低设备高度时,比如自动晾衣架下降,DuerOS会向技能发送该消息,通知技能降低设备高度。

Header信息

属性 取值
name DecrementHeightRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用这些数据。该属性的内容不能超过5000字节。 是,内容可以为空

应用举例

用户说“小度小度,晾衣架放下来”,DuerOS了解用户意图后,会向技能发送DecrementHeightRequest消息,消息示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementHeightRequest",
        "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth token here]",
        "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID]"
        }
    }
}

DecrementHeightConfirmation

当设备下降后,技能会发送该消息给DuerOS。

Header信息

属性 取值
name DecrementHeightConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。 否,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当晾衣架下降后,技能向DuerOS发送DecrementHeightConfirmation消息,示例如下。

{
    "header": {
        "namespace": "DuerOS.ConnectedHome.Control",
        "name": "DecrementHeightConfirmation",
        "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
        "payloadVersion": "1"
    },
    "payload": {
        "attributes": []
    }
}

SetTimerRequest

当用户想给指定设备定时的时候,DuerOS会将该消息发送给技能。

Header信息

属性 取值
name SetTimerRequest
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 描述说明 是否必须
accessToken 设备云端获取的access token。
appliance 设备操作的具体对象,包括applianceId和additionalApplianceDetails。
appliance.applianceId 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。标识符不能超过256个字符。
appliance.additionalApplianceDetails 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。DuerOS不了解或使用>这些数据。该属性的内容不能超过5000字节。 是,内容可以为空
timeInterval 定时时长,单位为秒

应用举例

当用户说“小度小度,电饭煲定时15分钟”,DuerOS理解到用户意图后,向技能发送SetTimerRequest消息,消息示例如下。

{
     "header": {
         "namespace": "DuerOS.ConnectedHome.Control",
         "name": "SetTimerRequest",
         "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
         "payloadVersion": "1"
     },
     "payload": {
         "accessToken": "[OAuth token here]",
         "appliance": {
            "additionalApplianceDetails": {},
            "applianceId": "[Device ID for Light]",
         }
         "timeInterval": "900"
     }
}

SetTimerConfirmation

当请求的设备定时成功时,技能会发送该消息给DuerOS。

Header信息

属性 取值
name SetTimerConfirmation
namespace DuerOS.ConnectedHome.Control

Payload信息

属性 取值 是否必须
attributes 设备属性信息,支持上报一个或多个属性信息。请查看属性信息,了解设备的属性和上报方式。
,当设备属性信息发生变化时,建议将属性变更信息上报给DuerOS。

应用举例

当电饭煲定时成功时,技能向DuerOS发送SetTimerConfirmation消息,示例如下。

{
     "header": {
         "namespace": "DuerOS.ConnectedHome.Control",
         "name": "SetTimerConfirmation",
         "messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
         "payloadVersion": "1"
     },
     "payload": {
         "attributes": []
     }
}