# 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 已发布 17/28 EN 中文

访客模式:仅本地录制,私密房间摄像头自动停用

一个布尔量把整屋切到访客模式:室内摄像头停止录制并物理合上隐私挡板,云端上传暂停,门厅仍按存在感应亮灯。最后一位访客设备离开 Wi-Fi 后 6 小时,模式自动退出。

协议 · wifi 延迟 · 2200 ms 供电 · mains 发布 · 2026-10-08 3 devices
自动化 YAML presence-guest-mode-camera-pause.yaml
# HearthNodes recipe 04 - guest mode camera pause
alias: "Presence - guest mode stops indoor recording"
id: hn_presence_guest_camera_pause
description: "Guest mode -> shutters closed, cloud upload cut, entry cameras stay armed"
mode: restart
max_exceeded: silent

trigger:
  - platform: state
    entity_id: input_boolean.guest_mode
    to: "on"
  - platform: event
    event_type: wall_button
    event_data:
      device: hall_panel
      gesture: double_press

variables:
  private_cams:
    - camera.bedroom
    - camera.guest_room
    - camera.study
  gated_cams:
    - camera.front_door
    - camera.garden

condition:
  - condition: template
    value_template: >-
      {{ is_state('person.primary','home') or is_state('person.partner','home') }}
  - condition: template
    value_template: "{{ private_cams | select('is_state','recording') | list | count > 0 }}"

action:
  - service: camera.turn_off
    target:
      entity_id: "{{ private_cams }}"
  - service: switch.turn_off
    target:
      entity_id: switch.camera_cloud_upload
  - service: script.guest_arrival_lighting
  - service: switch.turn_off
    target:
      entity_id: switch.poe_port_cam_bedroom
  - service: timer.start
    target:
      entity_id: timer.guest_mode_expiry
    data:
      duration: "06:00:00"
  - wait_for_trigger:
      - platform: state
        entity_id: sensor.guest_ssid_clients
        to: "0"
        for: "00:10:00"
    timeout: "24:00:00"
    continue_on_timeout: true
  - service: input_boolean.turn_off
    target:
      entity_id: input_boolean.guest_mode

# The guest-verifiable signal is the physical shutter plus a dark status LED.
# Cloud uplink for the private-room VLAN is blocked at the firewall, not merely
# paused in software. Entry and garden cameras stay armed by design.
触发器 · state

input_boolean.guest_mode

访客模式布尔量置为开,可由墙面按钮双击或手机伴侣 App 触发。

访客模式:仅本地录制,私密房间摄像头自动停用 topology

分步说明

  1. camera.bedroom · camera.guest_room · camera.study停止卧室和书房的录制,并在支持机械挡板的机型上合上隐私挡板;入户与花园摄像头保持布防。 turn_off · shutter close
  2. switch.camera_cloud_upload切断云端上传通道,使访客期间录制的片段只保存在本地录像机。 turn_off
  3. script.guest_arrival_lighting下发访客动线照明场景(门厅、楼梯、客卫),让摄像头静默期间可见的自动化仍然正常工作。 run
  4. timer.guest_mode_expiry启动 6 小时到期计时;只要仍有访客设备连着访客 SSID,到期时间就顺延。 start · duration 06:00:00 · restore true
分步说明
让访客能看到的信号成为真实信号

一台挡板会动、指示灯会灭的摄像头,比任何隐私政策文字都更有说服力。如果现有摄像头没有挡板,优先更换卧室的那几台;入户摄像头没有挡板要好解释得多。

切断上行链路,而不只是停止录制

停止录制后设备仍在线,仍可能推送事件。在防火墙上阻断摄像头 VLAN 的外网路由,并用抓包验证摄像头确实不再外连。这是「姿态」和「保证」之间的差别。

按设备关联自动过期,而不是按固定时钟

固定 24 小时计时会在访客离开后的第二天早上仍让摄像头处于关闭状态。把到期条件设为「最后一台访客设备离开 SSID 后 6 小时」,房子就能自动恢复防护,不需要任何人记得去按按钮。

硬件

型号协议连接在本链路中的作用
Reolink E1 Pro (or any camera with a mechanical privacy shutter) wifi 无线 带物理挡板的室内摄像头,让「已关闭」对访客可核查,而不只是一句承诺。
Local NVR with a dedicated VLAN wifi 有线 录制到本地存储,位于无外网出口路由的隔离 VLAN 上。
Guest SSID on a separate AP or VLAN wifi 无线 访客 SSID 上的客户端关联,是维持访客模式的存在信号。

失效时怎么办

如果摄像头未确认挡板关闭命令,自动化重试一次后直接关闭交换机上该摄像头的 PoE 端口——这是唯一访客能自行验证的保证。若交换机不可达,通知会明确告知哪台摄像头仍在工作,方便你在访客到达前手动断电。

同一触发源的配方

条款 仅供参考。这些配方会控制市电、水路与物理门禁。当地电气与给排水规范、熔断与隔离措施、以及每一处失效保护的实际测试,都需要你自己负责。本页内容不构成专业工程、法律或安全建议。