自动化

把摄像头的检测事件接到通知、喊话、智能家居。一条规则 = 触发 + 条件 + 动作。

什么是自动化规则

一条规则 = 触发(被什么事件唤醒)+ 条件(当前环境满不满足)+ 动作(做什么)。例:「门口识别到陌生人、且当前是夜间 → 给手机推送 + 客厅摄像头喊话」。

网页后台 → 自动化 → 新建规则。内置 13 个常用预设模板(陌生人到访、已知人脸欢迎、跌倒报警、跌倒联动 HA 亮灯、婴儿哭声提醒、手势 SOS 报警、手势触发情景、车辆到达开 HA 设备、离家自动关 HA、逗留 Webhook 等),挑一个改改参数就能用;也可以从空白规则自己搭。

触发:什么事件唤醒规则

自动化只由摄像头的检测事件触发——没有「定时 / cron」触发器,也没有「收到 MQTT 消息」触发器。触发分两层:事件类型 + 主体过滤

事件类型

  • 运动、物体(人 / 车 / 猫狗等)
  • 人脸识别、车牌识别
  • 跌倒、婴儿哭声、手势
  • 进入区域 / 离开区域 / 区域无人 / 逗留
  • 画面明暗变化

主体过滤

在事件类型之上再挑「是谁」:

  • 任意 — 不挑主体
  • 人物 — 任意人 / 只家人 / 只陌生人(家人还可指定具体姓名)
  • 车辆 — 任意车 / 指定车牌号
  • 手势 — 指定手势(如 SOS、OK、比心)

还能限定:触发的摄像头范围、敏感区范围、最低置信度,以及冷却 / 节流时间(防止短时间内反复触发)。

条件:唤醒后再判断环境

规则被事件唤醒后、执行动作前,可以再加附加条件(多个条件是 AND,全部满足才执行)。目前有两种:

  • 时间段 — 每天 HH:MMHH:MM + 限定周几,支持跨零点、支持取反(「工作时间不打扰」)。注意是时间,不是 cron 表达式。
  • 画面明暗 — 仅当画面「暗」或「亮」时通过。典型用法:「有人进入 + 此刻天黑」才开灯。
时间是「条件」不是「触发器」——规则永远先被检测事件唤醒,再判断是否落在时间段内。所以「每天 22:00 自动做某事」这种纯定时任务,自动化做不了(没有对应的摄像头事件就不会触发)。

动作:规则做什么

一条规则可以挂多个动作,依次执行。共 5 种:

动作说明
推送通知推到手机 App + 网页后台(不含邮件 / 短信)
TTS 喊话合成语音,通过摄像头喇叭播出来
WebhookHTTP 请求推到任意 URL(接飞书机器人 / IFTTT / 自建服务)
MQTT 发布向 MQTT broker 发一条消息
Home Assistant 服务调用直接调 HA:开灯 / 关开关 / 跑场景,见下方〈Home Assistant〉

文案变量

通知文案、TTS 文本、Webhook body、MQTT payload、HA 参数里都能用 {{变量}},云瞰 执行时替换成事件的实际值。常用变量:

变量含义
{{camera_name}}触发事件的摄像头名
{{event_type}}事件类型(person / fall / gesture …)
{{face_name}}识别到的人名(人脸事件)
{{zone_name}}触发的敏感区名
{{gesture_label}}识别到的手势(手势事件)
{{event_time_iso}}事件发生时间
{{confidence}}识别置信度
必须是双花括号 {{camera_name}}。写成单花括号 {camera}、或用错名字(如 {name})都不会被替换,会原样出现在文案里。

TTS 喊话

云瞰 内置语音合成,整个流程在 云瞰 内部完成,不依赖外部服务。

  1. 1

    选音色

    6 个中文声线:晓晓 / 云希 / 云扬 / 晓伊 / 云健 / 晓北(东北话),可调语速和音调;编辑规则时能在浏览器里直接试听。

  2. 2

    写文案

    支持 {{变量}}(见上节),如「{{camera_name}} 识别到 {{face_name}}」。

  3. 3

    选目标摄像头

    喊话的摄像头不一定是触发事件那台(门口检测到人、客厅摄像头喊话也行);目标摄像头需支持 ONVIF 对讲通道。

  4. 4

    测试

    保存后对规则点「测试」即可跑一遍看效果。

撞车保护

如果有人正按住对讲讲话,自动化的 TTS 会被直接丢弃,不打断真人。

Webhook 例子

推送到飞书机器人:动作选 Webhook,URL 填飞书机器人的 webhook 地址,body 模板填:

json
{"msg_type":"text","content":{"text":"{{camera_name}} 检测到 {{event_type}}"}}

云瞰 会把 {{camera_name}} {{event_type}} 等替换成实际值,再发出去。

Home Assistant

云瞰 和 Home Assistant 有两种对接方式,相互独立——可以只用一种,也可以都用。

方式一:云瞰 直接控制 HA(推荐)

让 云瞰 检测到事件后直接开灯 / 关开关 / 触发场景。不需要 MQTT。

  1. 1

    在 HA 生成长期访问令牌

    Home Assistant → 左下角点你的用户名 → 安全 → 长期访问令牌 → 创建,复制那串令牌。

  2. 2

    在 云瞰 填 HA 连接

    网页后台 → 设置 → 自动化 → 「Home Assistant」面板,填 HA 地址(如 http://homeassistant.local:8123)和刚才的令牌,保存。

  3. 3

    规则里加「Home Assistant 服务调用」动作

    云瞰 会自动从 HA 拉实体和服务列表,下拉直接选(如「开客厅灯」= light.turn_on + 对应灯实体),不用手敲 entity_id。

方式二:云瞰 作为传感器接入 HA(MQTT)

想反过来——在 HA 里看到 云瞰 的区域占用传感器、在 HA 端写自动化——走 MQTT discovery。

  1. 1

    HA 装 Mosquitto

    HA → 设置 → 加载项 → Mosquitto broker,按默认装,记下账号密码。

  2. 2

    云瞰 配 MQTT

    网页后台 → 设置 → 自动化 → 「MQTT」面板,填 broker 地址 / 端口 / 账号密码并启用。

  3. 3

    自动注册

    云瞰 会把每个敏感区的占用状态以 binary_sensor 形式注册到 HA,HA 端立刻能看到。

想让 云瞰 控制 HA(开灯等)→ 方式一;想让 HA 用 云瞰 的传感器 → 方式二。多数人方式一就够,而且更简单。
自动化 - 云瞰 文档