# Analytics snippet placeholder — HearthNodes (gatherer.top) # Paste the measurement snippet here (server.js inlines any content that contains # a markup tag into on every page). No GA4 property is assigned to this # site yet, so leave this file as comments only and the build emits no tracking # code.
HearthNodesgatherer.top live 11/28 EN 中文

Arrival warm-light handoff on the hall mmWave

A 60 GHz mmWave sensor in the entry hall turns on a 2400 K two-fixture scene the moment you step in, holds it for 12 minutes, and refuses to fire in daylight. Total detect-to-light latency measured at 850 ms.

protocol · matter latency · 850 ms power · mains published · 2026-08-22 3 devices
Automation YAML presence-arrival-warm-lights.yaml
# HearthNodes recipe 01 - arrival warm-light handoff
alias: "Presence - arrival warm light handoff"
id: hn_presence_arrival_warm_lights
description: "Hall mmWave arrival -> two-fixture 2400 K scene, 12 minute hold"
mode: restart
max_exceeded: silent

trigger:
  - platform: state
    entity_id: binary_sensor.hall_mmwave_presence
    from: "off"
    to: "on"
    for: "00:00:03"
    id: mmwave
  - platform: state
    entity_id: binary_sensor.hall_pir_presence
    from: "off"
    to: "on"
    id: pir_backup

variables:
  someone_home: >-
    {{ is_state('person.primary','home') or is_state('person.partner','home') }}
  genuinely_dark: >-
    {{ state_attr('sun.sun','elevation') | float(0) < 0
       or states('sensor.exterior_north_lux') | float(999) < 40 }}

condition:
  - condition: template
    value_template: "{{ someone_home }}"
  - condition: numeric_state
    entity_id: sensor.hall_illuminance
    below: 120
  - condition: template
    value_template: "{{ genuinely_dark }}"

action:
  - service: light.turn_on
    target:
      entity_id: light.hall_downlights
    data:
      brightness_pct: 35
      color_temp_kelvin: 2400
      transition: 1.5
  - service: light.turn_on
    target:
      entity_id: light.coat_nook
    data:
      brightness_pct: 20
      color_temp_kelvin: 2200
      transition: 1.5
  - service: timer.start
    target:
      entity_id: timer.arrival_hold
    data:
      duration: "00:12:00"
  - service: counter.increment
    target:
      entity_id: counter.arrival_events

# Local binding retained on the Inovelli dimmer so the wall switch still works
# when the hub is unreachable. PIR is ORed in at trigger level for slow walkers.
Trigger · state

binary_sensor.hall_mmwave_presence

Hall mmWave presence changes off -> on and stays on for 3 seconds.

Arrival warm-light handoff on the hall mmWave topology

Step-by-step

  1. light.hall_downlightsRamp the two ceiling downlights to 35 % at 2400 K over 1.5 s so the change reads as a fade, not a snap. turn_on · brightness_pct 35 · color_temp_kelvin 2400 · transition 1.5s
  2. light.coat_nookBring the coat-nook strip up to 20 % as a wayfinding cue toward the hooks. turn_on · brightness_pct 20 · color_temp_kelvin 2200
  3. timer.arrival_holdStart a single 12-minute hold timer; any new presence event restarts it rather than stacking timers. start · duration 00:12:00 · restore false
  4. counter.arrival_eventsIncrement a local counter so the weekly audit can show how often this fired versus how often it was overridden. increment
Step-by-step
Mount the sensor so it looks along the walking direction

Corner-mounting a mmWave sensor so its plane faces down the length of the hall gives a much longer usable detection corridor than aiming it at the door. Set the detection zone in the vendor app and delete any zone that overlaps the neighbouring unit's doorway; those two zones are the usual source of cross-apartment false positives.

Use a 3 second debounce, not 0

With a 0 s debounce the lights flicker when someone passes the open door in the corridor. Three seconds is the shortest value that still lights up before a normal walking pace reaches the first downlight. Measure it: stand at the door, walk in, and time the gap between the door closing and your hand reaching the switch.

Bias the scene warm and dim on purpose

2400 K at 35 % is deliberately below reading brightness. Arrival scenes that are too bright make people reach for the switch, which trains them to distrust the automation. Keep the coat nook two steps dimmer than the main fixtures so the hallway has a visible direction of travel.

Hardware

ModelProtocolLinkRole in this chain
Aqara FP2 wifi wireless 60 GHz mmWave presence sensor, ceiling corner mount, 3 s debounce configured in the vendor app.
Inovelli White Series 2-1 Dimmer matter wired Matter-over-Thread dimmer on the hall circuit; keeps a local binding so the wall switch still works with the hub down.
VELUX-style exterior lux probe (any Zigbee illuminance sensor) zigbee wireless North-facing outdoor lux reference used to decide whether it is genuinely dark outside.

When it fails

If the mmWave sensor misses a slow walker, a PIR sensor on the same wall is ORed in at the trigger level. If the hub is unreachable, the Inovelli dimmer retains its Matter binding to the downlights, so the physical switch still controls the circuit. If both sensors fail, the 12-minute timer expires and the lights return to off instead of being left on.

Recipes on the same trigger source

Terms Informational only. These recipes control mains electricity, water and physical access. You are responsible for local electrical and plumbing codes, for fusing and isolation, and for testing every fail-safe yourself. Nothing here is professional engineering, legal or safety advice.