SmartAlarmAbility.addCustomAlarm(options: AddCustomAlarmOptions)

版本要求:
@ray-js/panel-sdk≥1.8.0

描述

新增或编辑自定义的告警规则

参数

参数类型必填说明
是告警规则配置

返回值

类型:Promise<AddCustomAlarmResult>
元组 [新增/更新的规则, 更新后的完整规则列表]

引用对象

typeAddCustomAlarmResult
[AddCustomAlarmBindResult, CustomAlarmList]
typeDpId
type DpId = number;
typeAddCustomAlarmBindResult
属性类型描述
associativeEntityValuestring关联实体值,用于区分告警类型
associativeEntityIdstring关联实体 ID,通常为功能点 ID
bindIdnumber绑定 ID
bizDomainstring业务域,告警固定为 miniAppPanelSDKAlarm
enableboolean是否启用
sourceEntityIdstring设备 ID
typeCustomAlarmList
export type CustomAlarmList = CustomAlarmRule[];
typeCustomAlarmRule
属性类型描述
triggerRuleIdstring告警执行的规则 id
触发告警规则的详细信息,详见 AlarmTriggerRuleVO 定义
bizDomainstring业务域标识,在告警 SDK 下固定为 miniAppPanelSDKAlarm
associativeEntityValuestring当 associativeEntityId 不足以区分情况下使用,比如使用的是同一个功能点时又要区分告警类型的情况下,可以使用 DpValue,一般情况下用不到
sourceEntityIdstring和当前告警相关联的设备 ID
namestring名称或备注
iconstring图标
bindIdnumber绑定 ID
associativeEntityIdstring和当前告警相关联的功能点 DP ID
enableboolean是否启用
typeAlarmTriggerRuleVO
属性类型描述
ownerIdstring家庭 id
enabledboolean告警规则是否启用
idstring执行规则 id
namestring告警名称或备注
执行动作的前置条件,详见 AlarmPreCondition 定义
执行动作的条件,详见 CustomAlarmCondition 定义
执行的动作,详见 CustomAlarmSceneAction 定义
typeAlarmPreCondition
属性类型描述
条件表达式
condType"timeCheck"条件类型,告警 SDK 固定为 timeCheck
idstring条件 ID
typeCustomAlarmCondition
属性类型描述
idstring条件 ID
ruleIdstring规则 ID
entityIdstring数据 ID
entitySubIdsstring抽象子数据 ID
exprstring条件的表达式
typeCustomAlarmSceneAction
属性类型描述
idstring条件 id
ruleIdstring场景 id
actionExecutorstring动作类型,在告警 SDK 下固定为 appPushTrigger
typeCustomAlarmPreConditionExpr
属性类型描述
timeZoneIdstring时区 id,如 Asia/Shanghai
startstring开始时间,格式为 HH:mm,如 00:00
timeIntervalstring时间间隔,固定为 'custom'
loopsstring循环日期,'1111111' 说明为一周七天均开启,其中起始时间为周日
endstring结束时间,格式为 HH:mm,如 23:59

合法值

AddCustomAlarmOptions.condition
值说明最低版本
==--
<--
>--
<=--
>=--

示例代码

示例

const [newRule, allRules] = await sdm.alarm.addCustomAlarm({
  name: '高温告警',
  condition: [['temp_current', '>', 40]],
  preCondition: {
    startTime: '08:00',
    endTime: '22:00',
    loops: '1111111',
  },
});
console.log('新增规则:', newRule.bindId);