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.
# 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.
Step-by-step
- 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 - switch.camera_cloud_uploadCut the cloud-upload path so any clip recorded during the visit stays on the local NVR only.
turn_off - 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 - 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
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
| Model | Protocol | Link | Role 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.