Journey event  ·  6 Sep 2026

Automation rule engine v2: relay/setpoint actions, compound triggers, debounce

VERIFIED LIVE 2026-09-06 (PR #197 merged; operator-authorised physical soak on dsc-brain.local, .audit/zbc-soak-c.sh + zbc-soak-e.sh, relay read from the Sonoff's native API): (1)

  state copied from the tracker, never improved

  event date 2026-09-06

Event date 2026-09-06
Version found
Version fixed
Expected kit firmware
Release file
SHA-256
Served count
Source https://app.notion.com/3d32b4cda37081c2ba0afcde1772955d

VERIFIED LIVE 2026-09-06 (PR #197 merged; operator-authorised physical soak on dsc-brain.local, .audit/zbc-soak-c.sh + zbc-soak-e.sh, relay read from the Sonoff’s native API): (1) relay cut-out rule on switch.dsc_heatmat_main_relay fired on the QA CO2 trigger -> relay physically OFF within one poll, seat OOS, banner auto-qa_mat_cutout; held OFF for 20 s while OOS although hub demand was ON (driver did not re-assert); clear -> in_service restored, banner gone, relay physically ON again 6 s later (driver re-asserted demand). (2) setpoint rule number.dsc_hub_rh_target_max 60 -> 61 written on fire and restored to 60 on clear (hub mirror lag ~60 s before /fleet/computed reflects it). (3) banner rule on a Zigbee datapoint fired/cleared (earlier soak). Caveats unchanged: ws-loop writes fire-and-forget (logged, not in last_error); oos_seat unconditional restore; no per-condition truth values in summary. — BUILT: all four increments, v1 rules load unchanged. Compound {all|any} groups max 8, per-rule local-time window with midnight wrap, debounce_s/release_s, per-condition hysteresis, fail-closed per condition. Relay/setpoint actions via control_ops.call_service_proxy with restore-on-clear; Sonoffs CUT-OUT ONLY; hub relay allow-list = operator-owned switches only; setpoints = 13 HUB_NUMBER_ENTITY_TO_OID numbers with ESP clamps, clone numbers skipped while 2×4 is Follow Plants. Computed-entity triggers via merged raw+computed view, built lazily. max_age_s from device last_seen (hub/probe/sonoff/zigbee); no timestamp => false. SPA: expandable editor with relay/setpoint pickers from the targets endpoint.

All events  ·  DSC  ·  CannaLib  ·  Site  ·  Firmware releases

Empty rows are honest

A blank cell means the tracker has no value for it. Nothing on this page is filled in to look complete.