Z5.06.2Time window tuning设计

时间窗设置过短会导致误触发反复出现

别名: 触发窗口 · 冷却窗口 · 窗口过短

概念解释

防抖窗口定短了,防抖等于没装:比窗口长的重复事件照样每次都触发。典型症状是误触发的反复出现——「人离开关灯」的规则在有人久坐不动的房间里反复把灯关掉(坐着的人偶尔晃一下,传感器重新报「在」,然后又「不在」);通知规则每隔十几分钟响一次,说的都是同一件事。

判断「过短」的标准不是绝对时长,而是窗口与事件重复周期的关系:窗口必须盖过该传感场景下同类信号的自然重复周期,否则每次重复都是一次独立触发。宠物走过、热气流扰动、家人间隔进出的取快递,各有各的周期;同一个 30 秒窗口对取快递够用、对宠物穿行完全不够。

机制

窗口过短时失效的机制是窗口与信号周期的错配

  • PIR 类存在传感只报「看到运动」,不报「人在不在」。坐着的人每隔一两分钟自然晃动一次,晃动之间的静默期若超过窗口,规则看到的就是「有人—没人—有人—没人」。窗口必须长于最安静的人的自然间歇,这在会议室、书房这类场景意味着数分钟量级,远超直觉上「防抖=几秒」的想象。
  • 阈值类条件(温度、照度)的过短滞回区间等于没有滞回:噪声幅度大于区间时照样反复穿越。窗口(或区间)必须大于噪声峰峰值,而不是大于「平均噪声」。
  • 条件-动作自激回路里,过短的冷却小于系统响应时间时振荡照常发生:制冷 5 分钟后温度回落,冷却却只有 3 分钟,规则在温度还没走远时再次武装。

还有一层叠加效应:过短窗口造成的重复触发,用户的第一反应往往是再建一条规则去抵消(「关灯后 2 分钟内有人就再开灯」),于是两条规则互相触发改写,形成新的振荡源。误触发的问题被用更多自动化回应,复杂度滚雪球。

边界

  • 「过短」是相对的,按传感类型与空间分档。 门磁、按钮类离散事件几乎不需要长窗口(秒级足够);存在传感与阈值类需要分钟级;具体数值取决于安装环境(一间 PIR 密布的客厅与一个只覆盖门口的传感器,重复周期完全不同)。
  • 窗口调长的代价在另一侧兑现。 消除误触发的每次调长,都在把真实事件的响应推后——同组关于迟钝的讨论处理这个反向权衡;不存在同时最小化两者的窗口值,只有按误触发代价与迟钝代价的相对大小选的折中。
  • 有些「反复触发」不是窗口问题。 传感器安装位置错误(对着窗户晒到太阳)、灵敏度旋钮错位,表现也是反复误报——先查物理层再调时间参数,否则是用软件补偿硬件。

怎么落地

  • 按动作后果定窗口下限:通知类不少于该类传感器重复周期的两倍(PIR 场景经验上分钟级起步);有反馈回路的规则(温控、亮度调节)冷却必须长于被控对象的响应时间常数
  • 触发日志按规则统计同源触发间隔分布,把 p95 间隔写进窗口设定的参考——窗口应落在「噪声重复」与「真实事件间隔」之间的空档里,分布图上就是两簇峰之间的谷。
  • 误触发高代价的规则(向他人发通知、开锁、花钱),宁可窗口翻倍也别贴着下限设;对误触发低代价的(调光),贴下限设,换响应速度。
  • 用户报告「老是反复触发」时,先展示触发时间线再谈调整:让用户看到触发簇与间隔,把「这灯有毛病」翻译成「窗口 30 秒,间隔 90 秒」,调整才有共同语言。
  • 验证办法:调窗后两周,误触发率(用户标记「不该触发」的次数)与真事件覆盖率(该触发时触发的比例)同时统计——只降前者不降后者才算调对了,两个数都动说明动的是别的东西(如传感器位置)。

延伸

  • 同组Z5.06.1 防抖用于避免短时间内重复触发同一自动化 · Z5.06.3 时间窗设置过长会让真实变化的响应显得迟钝 · Z5.06.4 防抖参数需要暴露给用户而非完全隐藏在后台
  • 相邻Z2.03 误报与漏报的代价 · Z2.01 传感器的能力边界
  • 站内检索cooldown · debounce window · false trigger · PIR sensor

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/Z5.06.2