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

Guest mode: local recording only, cameras pause in private rooms

One boolean flips the house into guest mode: indoor cameras stop recording and physically close their privacy shutters, cloud uploads pause, and the hallway still lights on presence. Mode exits automatically 6 hours after the last guest device leaves Wi-Fi.

protocol · wifi latency · 2200 ms power · mains published · 2026-10-08 3 devices
Automation 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.
Trigger · state

input_boolean.guest_mode

Guest mode boolean turns on, either from a wall button double-press or from the companion app.

Guest mode: local recording only, cameras pause in private rooms topology

Step-by-step

  1. camera.bedroom · camera.guest_room · camera.studyStop recording in bedrooms and study and close the mechanical privacy shutter where the model has one; leave entry and garden cameras armed. turn_off · shutter close
  2. switch.camera_cloud_uploadCut the cloud-upload path so any clip recorded during the visit stays on the local NVR only. turn_off
  3. script.guest_arrival_lightingPush the guest-path lighting scene (hall, stair, guest bathroom) so the visible automation still works while the cameras are quiet. run
  4. timer.guest_mode_expiryStart a 6-hour expiry that restarts each time a guest device is still associated with the guest SSID. start · duration 06:00:00 · restore true
Step-by-step
Make the guest-visible signal real

A camera with a moving shutter and an LED that goes dark is worth more than any privacy policy text. If your cameras lack shutters, replace the ones in bedrooms first; entry cameras without shutters are a much easier conversation.

Cut the uplink, do not just stop the recording

Stopping a recording leaves the device online and still able to push events. Block the camera VLAN's route to the internet at the firewall, and verify with a packet capture that the camera really stopped reaching out. This is the difference between a gesture and a guarantee.

Auto-expire on device association, not on a fixed clock

A fixed 24-hour timer leaves cameras off the morning after a guest leaves. Keying expiry to six hours after the last guest device leaves the SSID means the house protects itself again without anyone remembering to press a button.

Hardware

ModelProtocolLinkRole in this chain
Reolink E1 Pro (or any camera with a mechanical privacy shutter) wifi wireless Indoor cameras with a physical shutter, so 'off' is auditable to a guest rather than a promise.
Local NVR with a dedicated VLAN wifi wired Records to local storage on an isolated VLAN that has no outbound internet route.
Guest SSID on a separate AP or VLAN wifi wireless Client association on the guest SSID is the presence signal that keeps guest mode alive.

When it fails

If a camera does not acknowledge the shutter-close command, the automation retries once and then cuts that camera's PoE port at the switch, which is the only guarantee a guest can verify. If the switch is unreachable, the notification tells you which camera is still live so you can unplug it manually before the guest arrives.

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.