You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.6 KiB
114 lines
4.6 KiB
######################################################################
|
|
# @CCOSTAN - Follow Me on X
|
|
# For more info visit https://www.vcloudinfo.com/click-here
|
|
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
|
# -------------------------------------------------------------------
|
|
# Kiosk Driveway Camera Takeover - Wake and coordinate both displays
|
|
# Shows the live Driveway feed for the shorter of occupancy or ten minutes.
|
|
# -------------------------------------------------------------------
|
|
# Notes: Garage and Front Door remain higher-priority camera states.
|
|
# Notes: Repeated activity keeps each kiosk visible without changing its idle settings.
|
|
######################################################################
|
|
|
|
kiosk_driveway_camera_takeover:
|
|
alias: "Kiosks - Show Driveway Camera"
|
|
description: >-
|
|
Show the Driveway camera on Kitchen and Bedroom until Frigate occupancy
|
|
clears or ten minutes elapse, while preserving higher-priority cameras.
|
|
mode: restart
|
|
variables:
|
|
bedroom_screen_was_on: "{{ is_state('switch.alarm_panel_1_screen', 'on') }}"
|
|
bedroom_screensaver_was_active: >-
|
|
{{ is_state('switch.alarm_panel_1_screensaver', 'on') }}
|
|
kitchen_screensaver_was_active: >-
|
|
{{ is_state('switch.kitchen_show_screensaver_active_2', 'on') }}
|
|
sequence:
|
|
- service: timer.start
|
|
target:
|
|
entity_id: timer.kiosk_driveway_camera_display
|
|
data:
|
|
duration: "00:10:00"
|
|
- delay: "00:00:01"
|
|
- parallel:
|
|
- sequence:
|
|
- if:
|
|
- condition: state
|
|
entity_id: binary_sensor.driveway_zone_car_occupancy
|
|
state: "on"
|
|
then:
|
|
- wait_for_trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.driveway_zone_car_occupancy
|
|
to: "off"
|
|
timeout: "00:10:00"
|
|
continue_on_timeout: true
|
|
- service: timer.cancel
|
|
target:
|
|
entity_id: timer.kiosk_driveway_camera_display
|
|
- sequence:
|
|
- repeat:
|
|
while:
|
|
- condition: state
|
|
entity_id: timer.kiosk_driveway_camera_display
|
|
state: active
|
|
sequence:
|
|
- parallel:
|
|
- service: automation.trigger
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: automation.kitchen_kiosk_satellite_show_garage_camera
|
|
data:
|
|
skip_condition: true
|
|
- service: switch.turn_on
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: switch.alarm_panel_1_screen
|
|
- service: switch.turn_off
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: switch.alarm_panel_1_screensaver
|
|
- service: button.press
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: button.alarm_panel_1_trigger_motion_activity
|
|
- service: button.press
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: button.alarm_panel_1_bring_to_foreground
|
|
- delay: "00:00:45"
|
|
- service: automation.trigger
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: automation.kitchen_kiosk_satellite_show_garage_camera
|
|
data:
|
|
skip_condition: true
|
|
- if:
|
|
- condition: state
|
|
entity_id: sensor.kiosk_active_camera_view
|
|
state: none
|
|
then:
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ kitchen_screensaver_was_active | bool }}"
|
|
then:
|
|
- service: switch.turn_on
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: switch.kitchen_show_screensaver_active_2
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ bedroom_screensaver_was_active | bool }}"
|
|
then:
|
|
- service: switch.turn_on
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: switch.alarm_panel_1_screensaver
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ not (bedroom_screen_was_on | bool) }}"
|
|
then:
|
|
- service: switch.turn_off
|
|
continue_on_error: true
|
|
target:
|
|
entity_id: switch.alarm_panel_1_screen
|