更新时间:2025-08-19 GMT+08:00
分享

创建规则

功能介绍

应用服务器可调用此接口在设施云平台创建一条规则触发条件。

URI

POST /v1/iotfm/rules

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数说明:用户Token。通过调用 生成Token 接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。

X-Instance-Id

String

参数说明:实例ID。通过访问智能设施云平台界面后获取,智能设施云平台资源均为实例级隔离,所有业务接口必须填写正确的实例ID才能被成功调用。

取值范围:长度8-36,只允许大小写字母、数字和-字符的组合。

X-Root-Zone-Id

String

参数说明:项目ID。

取值范围:长度不超过24,只允许字母、数字的组合。

表2 请求Body参数

参数

是否必选

参数类型

描述

rule_name

String

参数说明:规则名称。

取值范围:长度不超过128,只允许中文、字母、数字以及_-/字符的组合。

rule_description

String

参数说明:规则详情描述。

取值范围:长度不超过1024,只允许中文、字母、数字、空白字符、以及_?'#().,;&%@!-/字符的组合。

rule_status

String

参数说明:规则状态。

取值范围:启用 ACTIVE、 停用 INACTIVE。

alarm_properties_enabled

String

参数说明:启动告警属性。

取值范围: - ACTIVE:启用。 - INACTIVE:停用。

rule_type

String

参数说明:规则条件的类型。

取值范围

DEVICE_ALARM:设备告警类型规则。

DEVICE_LINKAGE:设备联动类型规则。

若为 DEVICE_ALARM 类型规则,condition_actions数组长度大小为2,且必须存在action_type为 DEVICE_ALARM 类型的动作。

若为 DEVICE_LINKAGE 类型规则,condition_actions数组长度大小为1,且必须存在action_type为DEVICE_CMD、DEVICE_CONTROL、DEVICE_PROPERTY或DEVICE_GROUP的动作。

device_id

String

参数说明:设备ID,用于唯一标识一个设备,在注册设备时由设施云平台分配获得。当rule_type为 DEVICE_ALARM 时,product_id及device_id不能同时为空。优先device_id,其次 product_id。

取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。

device_ids

Object

参数说明:指定的设备ID列表。

取值范围:数组长度不超过10,数组元素长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。

product_id

String

参数说明:设备关联的产品ID,用于唯一标识一个产品模型,在管理门户导入产品模型后由平台分配获得。 当rule_type为 DEVICE_ALARM 时,product_id及device_id不能同时为空。优先device_id,其次 product_id。

取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

condition_ignore_null

Boolean

优先使用conditon_group.conditon_ignore_null字段代替

calendar_time_range

CalendarTimeRangeDto object

日历时间范围请求体

spec_properties

Array of RuleSpecProperty objects

参数说明:产品规格属性。

取值范围:数组长度不超过1。

zone_id

String

参数说明:区域ID。 某产品对应的所有设备所在的区域ID。当product_id不为空时,表示规则作用于部署于该区域ID下对应该产品ID的所有设备。若product_id为空,则zone_id自动忽略。

取值范围:长度不超过24,只允许字母、数字、下划线(_)、连接符(-)的组合。

zone_ids

Array of strings

参数说明:区域ID列表。 联动规则支持多个区域ID。

condition_actions

Array of ConditionGroupAction objects

参数说明:规则的条件动作列表,告警型规则最多支持2个条件动作Item,控制型规则支持1个条件动作item。

rule_id

String

参数说明:规则id,长度不超过36,只允许字母、数字、以及_-字符的组合,校验唯一性。

表3 CalendarTimeRangeDto

参数

是否必选

参数类型

描述

judge_type

String

参数说明:判定类型。

取值范围

calendar_work_type:根据日历工作类型判定。

date_repeat_by_year:根据年重复的日期范围判定。

calendar_id

String

参数说明:日历ID。

取值范围:长度24,只允许字母、数字的组合。

work_type

String

参数说明:工作类型。

取值范围

workday:工作日。

holiday:节假日。

time_ranges

Array of TimeRangeDto objects

参数说明:时间范围集合。

取值范围:长度0-48。

date_ranges

Object

参数说明:日期范围集合。

取值范围:长度0-12。

表4 TimeRangeDto

参数

是否必选

参数类型

描述

start

String

参数说明:起始时间。

取值范围

格式:HH:mm:ss。

end

String

参数说明:结束时间。

取值范围

格式:HH:mm:ss。

表5 DateRangeDto

参数

是否必选

参数类型

描述

start

String

参数说明:起始日期。

取值范围

格式:MM-dd。

end

String

参数说明:结束日期。

取值范围

格式:MM-dd。

表6 RuleSpecProperty

参数

是否必选

参数类型

描述

property_code

String

参数说明:属性编码。

取值范围:长度不超过40,只允许英文字母大小写、数字、下划线的组合。

property_value

Object

参数说明:属性值。

表7 ConditionGroupAction

参数

是否必选

参数类型

描述

condition_group

ConditionGroup object

参数说明:条件组。

actions

Array of LinkageRuleAction objects

参数说明:触发动作。

表8 ConditionGroup

参数

是否必选

参数类型

描述

condition_ignore_null

Boolean

条件组中的条件是否忽略空值

conditions

Array of RuleCondition objects

参数说明:规则的条件列表,单个规则最多支持设置50个条件。

logic

String

参数说明

规则条件列表中多个条件之间的逻辑关系。

取值范围

  • and:逻辑且。

  • or:逻辑或。

group_name

String

参数说明:规则条件组名称。

取值范围:CreateAlarm、RecoverAlarm、LinkageControl。

group_window

GroupWindow object

联动规则窗口函数结构体

表9 RuleCondition

参数

是否必选

参数类型

描述

condition_type

String

参数说明:规则条件的类型。

取值范围:DEVICE_DATA:设备属性数据类型条件;DEVICE_LINKAGE_STATUS:设备状态类型条件;NESTED:嵌套条件。

device_property_condition

DeviceDataCondition object

参数说明:条件中设备数据类型的信息,当 condition_type为 DEVICE_DATA 时,为必选参数

device_linkage_status_condition

DeviceLinkageStatusCondition object

参数说明:条件中设备状态类型的信息,当 condition_type 为 DEVICE_LINKAGE_STATUS 时,为必选参数。

nested_condition

DeviceLinkageNestedCondition object

参数说明:条件中内嵌条件类型的信息,当 condition_type 为 NESTED 时,为必选参数。

表10 DeviceDataCondition

参数

是否必选

参数类型

描述

filters

Array of PropertyFilter objects

参数说明:数据过滤条件。

表11 PropertyFilter

参数

是否必选

参数类型

描述

device_id

String

参数说明:设备ID,当动作类型为DEVICE_CMD、DEVICE_CONTROL、DEVICE_PROPERTY时必须传入。

取值范围:长度不超过128,只允许字母、数字、以及_-字符的组合。

path

String

参数说明:产品/设备的服务下的属性。

取值范围:最大长度255,格式:service_id/property_code。例如门磁状态为“infoService/status”。

indicator_type

String

指标值类型:指标值作为数据表达式的左值进行比较。除了原始值,其他指标类型都是在周期时间内聚合得到。

指标值类型:origin-原始值;mean-均值;max-最大值;min-最小值;sum-求和值;variance-方差值;increment-增量值。

indicator_aggregation_time

Integer

指标聚合的周期时间,当指标类型是聚合指标时才需要配置

indicator_aggregation_time_unit

String

指标聚合的周期时间单位,当指标类型是聚合指标时才需要配置

operator

String

参数说明:数据比较的操作符。

取值范围:当前支持的操作符有:>,<,>=,<=,=,!=, in,between,not between:表示在指定值中匹配。

value

String

参数说明:数据比较表达式的右值。

取值范围:支持0、正数、负数。

in_values

Array of strings

参数说明:当operator为in时该字段必填,使用该字段传递比较表达式右值。

取值范围:上限为20个。

increment_value_method

String

参数说明:指标类型为增量值的取值方式。

取值范围:当前支持的操作符有:origin-原始值;absolute-绝对值。

表12 DeviceLinkageStatusCondition

参数

是否必选

参数类型

描述

device_id

String

参数说明:设备ID,当动作类型为DEVICE_CMD、DEVICE_CONTROL、DEVICE_PROPERTY时必须传入。

取值范围:长度不超过128,只允许字母、数字、以及_-字符的组合。

status_list

Array of strings

参数说明:状态列表,设备状态条件携带该参数。

取值范围

  • ONLINE:设备上线

  • OFFLINE:设备下线。

表13 DeviceLinkageNestedCondition

参数

是否必选

参数类型

描述

conditions

Array of RuleCondition objects

参数说明:规则内嵌条件组的条件列表,内嵌最多支持设置10个条件,条件列表中不允许再次使用内嵌条件组。

logic

String

参数说明

规则条件列表中多个条件之间的逻辑关系。

取值范围

  • and:逻辑且。

  • or:逻辑或。

表14 GroupWindow

参数

是否必选

参数类型

描述

window_time

Integer

窗口时间,窗口时间最大为2h。

window_time_unit

String

窗口时间单位。小时-h 分钟-m 秒-s

window_config_type

String

窗口配置类型。confidence_level-可信度,consecutive_times-连续触发次数

confidence_level

Integer

数据可信度。

consecutive_times

Integer

连续触发次数

表15 LinkageRuleAction

参数

是否必选

参数类型

描述

action_type

String

参数说明:规则动作的类型。

取值范围

  • DEVICE_CMD:下发设备命令消息类型。当选择该类型时,rule_type为DEVICE_LINKAGE,且必须传入device_command对象。

  • DEVICE_CONTROL:下发设备控制指令类型。当选择该类型时,rule_type为DEVICE_LINKAGE,且必须传入device_control对象。

  • DEVICE_PROPERTY:修改设备属性类型。当选择该类型时,rule_type为DEVICE_LINKAGE,且必须传入device_property对象。

  • DEVICE_GROUP:批量控制设备类型。当选择该类型时,rule_type为DEVICE_LINKAGE,且必须传入device_group对象。

  • DEVICE_ALARM:上报设备告警消息类型。当选择该类型时,rule_type为DEVICE_ALARM ,且必须传入device_alarm对象。

device_id

String

参数说明:设备ID,当动作类型为DEVICE_CMD、DEVICE_CONTROL、DEVICE_PROPERTY时必须传入。

取值范围:长度不超过128,只允许字母、数字、以及_-字符的组合。

device_alarm

ActionDeviceAlarm object

参数说明:上报设备告警消息内容。当action_type为 DEVICE_ALARM 时,该字段必填。

device_command

ActionDeviceCommand object

参数说明:下发设备命令内容。当action_type为DEVICE_CMD时,该字段必填。

device_control

ActionDeviceControl object

参数说明:下发设备控制任务内容。当action_type为DEVICE_CONTROL时,该字段必填。

device_property

ActionDeviceProperty object

参数说明:修改设备属性内容。当action_type为DEVICE_PROPERTY时,该字段必填。

device_group

ActionDeviceGroup object

参数说明:下发分组控制内容。当action_type为DEVICE_GROUP时,该字段必填。

表16 ActionDeviceAlarm

参数

是否必选

参数类型

描述

alarm_name

String

参数说明:告警名称。

取值范围:最大长度64,只允许中文、字母、数字、_-字符的组合。当 alarm_status 为fault时,该字段必填。

alarm_status

String

参数说明:告警状态,用于描述告警动作类型。

取值范围

  • fault:上报告警。

  • recovery:恢复告警。

alarm_level

String

参数说明:告警级别。

取值范围:致命"Critical",严重"Major", 一般"Minor",提示"Info"。当 alarm_status 为fault时,该字段必填。

description

String

参数说明:告警的描述信息。

取值范围:最大长度255,只允许中文、字母、数字、空白字符、以及_?'#().,;&%@!-/字符的组合。

condition_group_name

String

参数说明:条件组名称。

取值范围:CreateAlarm、RecoverAlarm,若ConditionGroups.Conditions为CreateAlarm类型,则action中必须存在condition_group_name为CreateAlarm,且对应的alarm_status必须为fault。

表17 ActionDeviceCommand

参数

是否必选

参数类型

描述

service_id

String

参数说明:服务ID。产品内唯一。

取值范围:长度不超过64,只允许中文、字母、数字、以及_?'#().,&%@!-字符的组合。

command_code

String

参数说明:命令编码。

取值范围:长度不超过40,只允许英文字母大小写、数字、下划线的组合。

paras

Object

参数说明:命令参数。

取值范围:JSON格式,具体格式需要应用和设备在物模型约定。

表18 ActionDeviceControl

参数

是否必选

参数类型

描述

property_path

String

参数说明:设备属性。

取值范围:长度不超过128,只允许中文、字母、数字、以及_?/'#().,&%@!-字符的组合。

property_value_type

String

参数说明:设置属性值的类型,fixed-固定值 reference-引用值。

reference_device_id

String

参数说明:引用设备ID,设置属性值的类型为引用类型时对应的设备ID。

取值范围:长度不超过128,只允许字母、数字、以及_-字符的组合。

reference_property_value

String

参数说明:引用属性,设置属性值的类型为引用类型时对应的设置值。

property_value

Object

参数说明:设备属性值。

priority

Integer

参数说明:任务优先级。

取值范围:8-16的整数。

description

String

参数说明:操作说明。

取值范围:长度为不超过1024的字符串。

表19 ActionDeviceProperty

参数

是否必选

参数类型

描述

services

Array of PropertyService objects

参数说明:修改设备属性列表。

取值范围:JSON格式,具体格式需要应用和设备在物模型约定。

表20 ActionDeviceGroup

参数

是否必选

参数类型

描述

group_control_id

String

参数说明:设备控制ID。

取值范围:长度不超过36,只允许字母、数字、以及_-字符的组合。

响应参数

状态码:201

表21 响应Body参数

参数

参数类型

描述

rule_id

String

参数说明:规则id,长度不超过36,只允许字母、数字、以及_-字符的组合,校验唯一性。

fact_rule_id

String

参数说明:事实规则id。长度不超过36,只允许字母、数字、以及_-字符的组合。

rule_name

String

参数说明:规则名称。

取值范围:长度不超过128,只允许中文、字母、数字以及_-/字符的组合。

rule_description

String

参数说明:规则详情描述。

取值范围:长度不超过1024,只允许中文、字母、数字、空白字符、以及_?'#().,;&%@!-/字符的组合。

rule_status

String

参数说明:规则状态。

取值范围:启用 ACTIVE、 停用 INACTIVE。

alarm_properties_enabled

String

参数说明:启动告警属性。

取值范围: - ACTIVE:启用。 - INACTIVE:停用。

rule_type

String

参数说明:规则条件的类型。

取值范围

DEVICE_ALARM:设备告警类型规则。

DEVICE_LINKAGE:设备联动类型规则。

若为 DEVICE_ALARM 类型规则,condition_actions数组长度大小为2,且必须存在action_type为 DEVICE_ALARM 类型的动作。

若为 DEVICE_LINKAGE 类型规则,condition_actions数组长度大小为1,且必须存在action_type为DEVICE_CMD、DEVICE_CONTROL、DEVICE_PROPERTY或DEVICE_GROUP的动作。

device_id

String

参数说明:设备ID,用于唯一标识一个设备,在注册设备时由设施云平台分配获得。当rule_type为 DEVICE_ALARM 时,product_id及device_id不能同时为空。优先device_id,其次 product_id。

取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。

product_id

String

参数说明:设备关联的产品ID,用于唯一标识一个产品模型,在管理门户导入产品模型后由平台分配获得。 当rule_type为 DEVICE_ALARM 时,product_id及device_id不能同时为空。优先device_id,其次 product_id。

取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

condition_ignore_null

Boolean

优先使用conditon_group.conditon_ignore_null字段代替

calendar_time_range

CalendarTimeRangeDto object

日历时间范围请求体

spec_properties

Array of RuleSpecProperty objects

参数说明:产品规格属性。

取值范围:数组长度不超过1。

zones

Array of RuleZoneItem objects

参数说明:空间信息

devices

Array of RuleDeviceItem objects

参数说明:设备信息

condition_actions

Array of ConditionGroupAction objects

参数说明:规则的条件动作列表,告警型规则最多支持2个条件动作Item,控制型规则支持1个条件动作item。

表22 CalendarTimeRangeDto

参数

参数类型

描述

judge_type

String

参数说明:判定类型。

取值范围

calendar_work_type:根据日历工作类型判定。

date_repeat_by_year:根据年重复的日期范围判定。

calendar_id

String

参数说明:日历ID。

取值范围:长度24,只允许字母、数字的组合。

work_type

String

参数说明:工作类型。

取值范围

workday:工作日。

holiday:节假日。

time_ranges

Array of TimeRangeDto objects

参数说明:时间范围集合。

取值范围:长度0-48。

date_ranges

Object

参数说明:日期范围集合。

取值范围:长度0-12。

表23 TimeRangeDto

参数

参数类型

描述

start

String

参数说明:起始时间。

取值范围

格式:HH:mm:ss。

end

String

参数说明:结束时间。

取值范围

格式:HH:mm:ss。

表24 DateRangeDto

参数

参数类型

描述

start

String

参数说明:起始日期。

取值范围

格式:MM-dd。

end

String

参数说明:结束日期。

取值范围

格式:MM-dd。

表25 RuleSpecProperty

参数

参数类型

描述

property_code

String

参数说明:属性编码。

取值范围:长度不超过40,只允许英文字母大小写、数字、下划线的组合。

property_value

Object

参数说明:属性值。

表26 RuleZoneItem

参数

参数类型

描述

zone_id

String

参数说明:区域ID。 某产品对应的所有设备所在的区域ID。当product_id不为空时,表示规则作用于部署于该区域ID下对应该产品ID的所有设备。若product_id为空,则zone_id自动忽略。

取值范围:长度不超过24,只允许字母、数字、下划线(_)、连接符(-)的组合。

zone_name

String

参数说明:zone_id对应的区域名称。

zone_path_name

String

参数说明:zone_id对应的全路径名称,包括项目区域id。

表27 RuleDeviceItem

参数

参数类型

描述

device_id

String

参数说明:设备ID,用于唯一标识一个设备,在注册设备时由设施云平台分配获得。

取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。

device_name

String

参数说明:设备名称,用于唯一标识一个设备,在注册设备时由设施云平台分配获得。

表28 ConditionGroupAction

参数

参数类型

描述

condition_group

ConditionGroup object

参数说明:条件组。

actions

Array of LinkageRuleAction objects

参数说明:触发动作。

表29 ConditionGroup

参数

参数类型

描述

condition_ignore_null

Boolean

条件组中的条件是否忽略空值

conditions

Array of RuleCondition objects

参数说明:规则的条件列表,单个规则最多支持设置50个条件。

logic

String

参数说明

规则条件列表中多个条件之间的逻辑关系。

取值范围

  • and:逻辑且。

  • or:逻辑或。

group_name

String

参数说明:规则条件组名称。

取值范围:CreateAlarm、RecoverAlarm、LinkageControl。

group_window

GroupWindow object

联动规则窗口函数结构体

表30 RuleCondition

参数

参数类型

描述

condition_type

String

参数说明:规则条件的类型。

取值范围:DEVICE_DATA:设备属性数据类型条件;DEVICE_LINKAGE_STATUS:设备状态类型条件;NESTED:嵌套条件。

device_property_condition

DeviceDataCondition object

参数说明:条件中设备数据类型的信息,当 condition_type为 DEVICE_DATA 时,为必选参数

device_linkage_status_condition

DeviceLinkageStatusCondition object

参数说明:条件中设备状态类型的信息,当 condition_type 为 DEVICE_LINKAGE_STATUS 时,为必选参数。

nested_condition

DeviceLinkageNestedCondition object

参数说明:条件中内嵌条件类型的信息,当 condition_type 为 NESTED 时,为必选参数。

表31 DeviceDataCondition

参数

参数类型

描述

filters

Array of PropertyFilter objects

参数说明:数据过滤条件。

表32 PropertyFilter

参数

参数类型

描述

device_id

String

参数说明:设备ID,当动作类型为DEVICE_CMD、DEVICE_CONTROL、DEVICE_PROPERTY时必须传入。

取值范围:长度不超过128,只允许字母、数字、以及_-字符的组合。

path

String

参数说明:产品/设备的服务下的属性。

取值范围:最大长度255,格式:service_id/property_code。例如门磁状态为“infoService/status”。

indicator_type

String

指标值类型:指标值作为数据表达式的左值进行比较。除了原始值,其他指标类型都是在周期时间内聚合得到。

指标值类型:origin-原始值;mean-均值;max-最大值;min-最小值;sum-求和值;variance-方差值;increment-增量值。

indicator_aggregation_time

Integer

指标聚合的周期时间,当指标类型是聚合指标时才需要配置

indicator_aggregation_time_unit

String

指标聚合的周期时间单位,当指标类型是聚合指标时才需要配置

operator

String

参数说明:数据比较的操作符。

取值范围:当前支持的操作符有:>,<,>=,<=,=,!=, in,between,not between:表示在指定值中匹配。

value

String

参数说明:数据比较表达式的右值。

取值范围:支持0、正数、负数。

in_values

Array of strings

参数说明:当operator为in时该字段必填,使用该字段传递比较表达式右值。

取值范围:上限为20个。

increment_value_method

String

参数说明:指标类型为增量值的取值方式。

取值范围:当前支持的操作符有:origin-原始值;absolute-绝对值。

表33 DeviceLinkageStatusCondition

参数

参数类型

描述

device_id

String

参数说明:设备ID,当动作类型为DEVICE_CMD、DEVICE_CONTROL、DEVICE_PROPERTY时必须传入。

取值范围:长度不超过128,只允许字母、数字、以及_-字符的组合。

status_list

Array of strings

参数说明:状态列表,设备状态条件携带该参数。

取值范围

  • ONLINE:设备上线

  • OFFLINE:设备下线。

表34 DeviceLinkageNestedCondition

参数

参数类型

描述

conditions

Array of RuleCondition objects

参数说明:规则内嵌条件组的条件列表,内嵌最多支持设置10个条件,条件列表中不允许再次使用内嵌条件组。

logic

String

参数说明

规则条件列表中多个条件之间的逻辑关系。

取值范围

  • and:逻辑且。

  • or:逻辑或。

表35 GroupWindow

参数

参数类型

描述

window_time

Integer

窗口时间,窗口时间最大为2h。

window_time_unit

String

窗口时间单位。小时-h 分钟-m 秒-s

window_config_type

String

窗口配置类型。confidence_level-可信度,consecutive_times-连续触发次数

confidence_level

Integer

数据可信度。

consecutive_times

Integer

连续触发次数

表36 LinkageRuleAction

参数

参数类型

描述

action_type

String

参数说明:规则动作的类型。

取值范围

  • DEVICE_CMD:下发设备命令消息类型。当选择该类型时,rule_type为DEVICE_LINKAGE,且必须传入device_command对象。

  • DEVICE_CONTROL:下发设备控制指令类型。当选择该类型时,rule_type为DEVICE_LINKAGE,且必须传入device_control对象。

  • DEVICE_PROPERTY:修改设备属性类型。当选择该类型时,rule_type为DEVICE_LINKAGE,且必须传入device_property对象。

  • DEVICE_GROUP:批量控制设备类型。当选择该类型时,rule_type为DEVICE_LINKAGE,且必须传入device_group对象。

  • DEVICE_ALARM:上报设备告警消息类型。当选择该类型时,rule_type为DEVICE_ALARM ,且必须传入device_alarm对象。

device_id

String

参数说明:设备ID,当动作类型为DEVICE_CMD、DEVICE_CONTROL、DEVICE_PROPERTY时必须传入。

取值范围:长度不超过128,只允许字母、数字、以及_-字符的组合。

device_alarm

ActionDeviceAlarm object

参数说明:上报设备告警消息内容。当action_type为 DEVICE_ALARM 时,该字段必填。

device_command

ActionDeviceCommand object

参数说明:下发设备命令内容。当action_type为DEVICE_CMD时,该字段必填。

device_control

ActionDeviceControl object

参数说明:下发设备控制任务内容。当action_type为DEVICE_CONTROL时,该字段必填。

device_property

ActionDeviceProperty object

参数说明:修改设备属性内容。当action_type为DEVICE_PROPERTY时,该字段必填。

device_group

ActionDeviceGroup object

参数说明:下发分组控制内容。当action_type为DEVICE_GROUP时,该字段必填。

表37 ActionDeviceAlarm

参数

参数类型

描述

alarm_name

String

参数说明:告警名称。

取值范围:最大长度64,只允许中文、字母、数字、_-字符的组合。当 alarm_status 为fault时,该字段必填。

alarm_status

String

参数说明:告警状态,用于描述告警动作类型。

取值范围

  • fault:上报告警。

  • recovery:恢复告警。

alarm_level

String

参数说明:告警级别。

取值范围:致命"Critical",严重"Major", 一般"Minor",提示"Info"。当 alarm_status 为fault时,该字段必填。

description

String

参数说明:告警的描述信息。

取值范围:最大长度255,只允许中文、字母、数字、空白字符、以及_?'#().,;&%@!-/字符的组合。

condition_group_name

String

参数说明:条件组名称。

取值范围:CreateAlarm、RecoverAlarm,若ConditionGroups.Conditions为CreateAlarm类型,则action中必须存在condition_group_name为CreateAlarm,且对应的alarm_status必须为fault。

表38 ActionDeviceCommand

参数

参数类型

描述

service_id

String

参数说明:服务ID。产品内唯一。

取值范围:长度不超过64,只允许中文、字母、数字、以及_?'#().,&%@!-字符的组合。

command_code

String

参数说明:命令编码。

取值范围:长度不超过40,只允许英文字母大小写、数字、下划线的组合。

paras

Object

参数说明:命令参数。

取值范围:JSON格式,具体格式需要应用和设备在物模型约定。

表39 ActionDeviceControl

参数

参数类型

描述

property_path

String

参数说明:设备属性。

取值范围:长度不超过128,只允许中文、字母、数字、以及_?/'#().,&%@!-字符的组合。

property_value_type

String

参数说明:设置属性值的类型,fixed-固定值 reference-引用值。

reference_device_id

String

参数说明:引用设备ID,设置属性值的类型为引用类型时对应的设备ID。

取值范围:长度不超过128,只允许字母、数字、以及_-字符的组合。

reference_property_value

String

参数说明:引用属性,设置属性值的类型为引用类型时对应的设置值。

property_value

Object

参数说明:设备属性值。

priority

Integer

参数说明:任务优先级。

取值范围:8-16的整数。

description

String

参数说明:操作说明。

取值范围:长度为不超过1024的字符串。

表40 ActionDeviceProperty

参数

参数类型

描述

services

Array of PropertyService objects

参数说明:修改设备属性列表。

取值范围:JSON格式,具体格式需要应用和设备在物模型约定。

表41 ActionDeviceGroup

参数

参数类型

描述

group_control_id

String

参数说明:设备控制ID。

取值范围:长度不超过36,只允许字母、数字、以及_-字符的组合。

状态码:400

表42 响应Body参数

参数

参数类型

描述

error_code

String

参数说明:错误码。

取值范围:长度8-36。

error_msg

String

参数说明:错误描述。

取值范围:长度2-512。

请求示例

  • 创建规则

    POST https://{endpoint}/v1/iotfm/rules
    
    {
      "zone_id" : "18c55c1693356adb5a05891d",
      "zone_ids" : [ "1904a68eae96a07c2fd72fd6", "19043c59f3bab5af240fd1d5" ],
      "rule_type" : "DEVICE_ALARM",
      "rule_name" : "rule_name",
      "product_id" : "18c55c16d5d4b9c979b7c44a",
      "spec_properties" : [ {
        "property_code" : "spec_property_code",
        "property_value" : "spec_property_value"
      } ],
      "rule_description" : "rule_description",
      "condition_actions" : [ {
        "condition_group" : {
          "group_name" : "CreateAlarm",
          "logic" : "and",
          "conditions" : [ {
            "device_property_condition" : {
              "filters" : [ {
                "path" : "Battery/batteryLevel",
                "value" : "20",
                "operator" : ">"
              } ]
            },
            "condition_type" : "DEVICE_DATA"
          } ]
        },
        "actions" : [ {
          "device_alarm" : {
            "alarm_name" : "alarm_create",
            "alarm_status" : "fault",
            "condition_group_name" : "CreateAlarm",
            "description" : "alarm_description",
            "alarm_level" : "Info"
          },
          "action_type" : "DEVICE_ALARM"
        } ]
      }, {
        "condition_group" : {
          "group_name" : "RecoverAlarm",
          "logic" : "and",
          "conditions" : [ {
            "device_property_condition" : {
              "filters" : [ {
                "path" : "Battery/batteryLevel",
                "value" : "20",
                "operator" : "<"
              } ]
            },
            "condition_type" : "DEVICE_DATA"
          } ]
        },
        "actions" : [ {
          "device_alarm" : {
            "alarm_name" : "alarm_recover",
            "alarm_status" : "fault",
            "condition_group_name" : "CreateAlarm",
            "description" : "alarm_description",
            "alarm_level" : "Info"
          },
          "action_type" : "DEVICE_ALARM"
        } ]
      } ]
    }
  • 创建规则

    POST https://{endpoint}/v1/iotfm/rules
    
    {
      "zone_id" : "18c55c1693356adb5a05891d",
      "zone_ids" : [ "1904a68eae96a07c2fd72fd6", "19043c59f3bab5af240fd1d5" ],
      "rule_type" : "DEVICE_ALARM",
      "rule_name" : "rule_name",
      "product_id" : "18c55c16d5d4b9c979b7c44a",
      "spec_properties" : [ {
        "property_code" : "spec_property_code",
        "property_value" : "spec_property_value"
      } ],
      "rule_description" : "rule_description",
      "condition_ignore_null" : false,
      "condition_actions" : [ {
        "condition_group" : {
          "group_name" : "CreateAlarm",
          "logic" : "and",
          "conditions" : [ {
            "device_property_condition" : {
              "filters" : [ {
                "path" : "Battery/batteryLevel",
                "value" : "20",
                "operator" : ">"
              } ]
            },
            "condition_type" : "DEVICE_DATA"
          } ],
          "group_window" : {
            "window_time" : 1,
            "window_time_unit" : "m",
            "confidence_level" : 20
          }
        },
        "actions" : [ {
          "device_alarm" : {
            "alarm_name" : "alarm_create",
            "alarm_status" : "fault",
            "condition_group_name" : "CreateAlarm",
            "description" : "alarm_description",
            "alarm_level" : "Info"
          },
          "action_type" : "DEVICE_ALARM"
        } ]
      }, {
        "condition_group" : {
          "group_name" : "RecoverAlarm",
          "logic" : "and",
          "conditions" : [ {
            "device_property_condition" : {
              "filters" : [ {
                "path" : "Battery/batteryLevel",
                "value" : "20",
                "operator" : "<"
              } ]
            },
            "condition_type" : "DEVICE_DATA"
          } ],
          "group_window" : {
            "window_time" : 1,
            "window_time_unit" : "m",
            "confidence_level" : 20
          }
        },
        "actions" : [ {
          "device_alarm" : {
            "alarm_name" : "alarm_recover",
            "alarm_status" : "fault",
            "condition_group_name" : "CreateAlarm",
            "description" : "alarm_description",
            "alarm_level" : "Info"
          },
          "action_type" : "DEVICE_ALARM"
        } ]
      } ]
    }

响应示例

状态码:201

OK

{
  "zones" : [ {
    "zone_id" : "190a4a7308f38ddf0dae5c00",
    "zone_name" : "zone4",
    "zone_path_name" : "zone3/zone4"
  }, {
    "zone_id" : "19043c59f3bab5af240fd1d5",
    "zone_name" : "zone2",
    "zone_path_name" : "zone1/zone2"
  } ],
  "rule_type" : "DEVICE_ALARM",
  "rule_name" : "rule_name",
  "product_id" : "18c55c16d5d4b9c979b7c44a",
  "spec_properties" : [ {
    "property_code" : "spec_property_code",
    "property_value" : "spec_property_value"
  } ],
  "rule_description" : "rule_description",
  "condition_actions" : [ {
    "condition_group" : {
      "group_name" : "CreateAlarm",
      "logic" : "and",
      "conditions" : [ {
        "device_property_condition" : {
          "filters" : [ {
            "path" : "Battery/batteryLevel",
            "value" : "20",
            "operator" : ">"
          } ]
        },
        "condition_type" : "DEVICE_DATA"
      } ]
    },
    "actions" : [ {
      "device_alarm" : {
        "alarm_name" : "alarm_create",
        "alarm_status" : "fault",
        "condition_group_name" : "CreateAlarm",
        "description" : "alarm_description",
        "alarm_level" : "Info"
      },
      "action_type" : "DEVICE_ALARM"
    } ]
  }, {
    "condition_group" : {
      "group_name" : "RecoverAlarm",
      "logic" : "and",
      "conditions" : [ {
        "device_property_condition" : {
          "filters" : [ {
            "path" : "Battery/batteryLevel",
            "value" : "20",
            "operator" : "<"
          } ]
        },
        "condition_type" : "DEVICE_DATA"
      } ]
    },
    "actions" : [ {
      "device_alarm" : {
        "alarm_name" : "alarm_recover",
        "alarm_status" : "fault",
        "condition_group_name" : "CreateAlarm",
        "description" : "alarm_description",
        "alarm_level" : "Info"
      },
      "action_type" : "DEVICE_ALARM"
    } ]
  } ],
  "rule_id" : "18c32b14082a44186676314b",
  "fact_rule_id" : "18c7a3454e1db42e60b1ead6"
}

状态码

状态码

描述

201

OK

400

Bad Request

403

Forbidden

404

Not Found

500

Internal Server Error

相关文档