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

查询单个规则详细信息

功能介绍

应用服务器可调用此接口查询设施云平台中指定规则详细信息。

URI

GET /v1/iotfm/rules/{rule_id}

表1 路径参数

参数

是否必选

参数类型

描述

rule_id

String

参数说明:规则ID,用于唯一标识一条规则,在创建规则时由设施云平台分配获得。

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

请求参数

表2 请求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,只允许字母、数字的组合。

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

rule_id

String

参数说明:规则ID。

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

rule_name

String

参数说明:规则名称。

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

rule_status

String

参数说明:规则状态。

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

alarm_properties_enabled

String

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

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

rule_type

String

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

取值范围:DEVICE_ALARM:设备告警类型规则。若为 DEVICE_ALARM 类型规则,则必须存在action_type为 DEVICE_ALARM 类型的动作"

zones

Array of RuleZoneItem objects

参数说明:空间信息

devices

Array of RuleDeviceItem objects

参数说明:设备信息

device_id

String

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

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

device_name

String

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

product_name

String

参数说明:产品名称。

product_id

String

参数说明:设备关联的产品ID,用于唯一标识一个产品模型。

condition_ignore_null

Boolean

优先使用conditon_group.conditon_ignore_null字段代替

calendar_time_range

CalendarTimeRangeDto object

日历时间范围请求体

spec_properties

Array of RuleSpecProperty objects

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

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

rule_description

String

参数说明:规则详情描述,长度不超过1024,只允许中文、字母、数字、空白字符、以及_?'#().,;&%@!-/字符的组合。

condition_actions

Array of ConditionGroupAction objects

参数说明:规则的条件动作列表,单个规则最多支持2个条件动作Item。

create_time

String

参数说明:规则创建时间,格式为:"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。

last_update_time

String

参数说明:规则最后更新时间,格式为:"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。

fact_rule_id

String

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

表4 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。

表5 RuleDeviceItem

参数

参数类型

描述

device_id

String

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

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

device_name

String

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

表6 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。

表7 TimeRangeDto

参数

参数类型

描述

start

String

参数说明:起始时间。

取值范围

格式:HH:mm:ss。

end

String

参数说明:结束时间。

取值范围

格式:HH:mm:ss。

表8 DateRangeDto

参数

参数类型

描述

start

String

参数说明:起始日期。

取值范围

格式:MM-dd。

end

String

参数说明:结束日期。

取值范围

格式:MM-dd。

表9 RuleSpecProperty

参数

参数类型

描述

property_code

String

参数说明:属性编码。

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

property_value

Object

参数说明:属性值。

表10 ConditionGroupAction

参数

参数类型

描述

condition_group

ConditionGroup object

参数说明:条件组。

actions

Array of LinkageRuleAction objects

参数说明:触发动作。

表11 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

联动规则窗口函数结构体

表12 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 时,为必选参数。

表13 DeviceDataCondition

参数

参数类型

描述

filters

Array of PropertyFilter objects

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

表14 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-绝对值。

表15 DeviceLinkageStatusCondition

参数

参数类型

描述

device_id

String

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

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

status_list

Array of strings

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

取值范围

  • ONLINE:设备上线

  • OFFLINE:设备下线。

表16 DeviceLinkageNestedCondition

参数

参数类型

描述

conditions

Array of RuleCondition objects

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

logic

String

参数说明

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

取值范围

  • and:逻辑且。

  • or:逻辑或。

表17 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

连续触发次数

表18 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时,该字段必填。

表19 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。

表20 ActionDeviceCommand

参数

参数类型

描述

service_id

String

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

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

command_code

String

参数说明:命令编码。

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

paras

Object

参数说明:命令参数。

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

表21 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的字符串。

表22 ActionDeviceProperty

参数

参数类型

描述

services

Array of PropertyService objects

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

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

表23 ActionDeviceGroup

参数

参数类型

描述

group_control_id

String

参数说明:设备控制ID。

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

状态码:400

表24 响应Body参数

参数

参数类型

描述

error_code

String

参数说明:错误码。

取值范围:长度8-36。

error_msg

String

参数说明:错误描述。

取值范围:长度2-512。

请求示例

  • 查询单个规则详细信息

    GET https://{endpoint}/v1/iotfm/rules/18c32b14082a44186676314b
  • 查询单个规则详细信息

    GET https://{endpoint}/v1/iotfm/rules/18c32b14082a44186676314b

响应示例

状态码:200

OK

{
  "rule_id" : "18c32b14082a44186676314b",
  "rule_name" : "rule_name",
  "rule_status" : "ACTIVE",
  "alarm_properties_enabled" : "INACTIVE",
  "rule_type" : "DEVICE_ALARM",
  "rule_description" : "rule_description",
  "product_name" : "product_name",
  "product_id" : "18c55c16d5d4b9c979b7c44a",
  "spec_properties" : [ {
    "property_code" : "spec_property_code",
    "property_value" : "spec_property_value"
  } ],
  "zones" : [ {
    "zone_id" : "190a4a7308f38ddf0dae5c00",
    "zone_name" : "zone4",
    "zone_path_name" : "zone3/zone4"
  }, {
    "zone_id" : "19043c59f3bab5af240fd1d5",
    "zone_name" : "zone2",
    "zone_path_name" : "zone1/zone2"
  } ],
  "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"
    } ]
  } ]
}

状态码

状态码

描述

200

OK

400

Bad Request

403

Forbidden

404

Not Found

500

Internal Server Error

相关文档