diff --git a/packages/climate/climate.yaml b/packages/climate/climate.yaml index 10da214..05f1bd4 100644 --- a/packages/climate/climate.yaml +++ b/packages/climate/climate.yaml @@ -87,7 +87,10 @@ automation: to: 'on' for: minutes: 5 - condition: "{{ not is_state('input_select.climate_mode', 'Paused') }}" + condition: + - "{{ not is_state('input_select.climate_mode', 'Manual') }}" + - "{{ not is_state('input_select.climate_mode', 'Paused') }}" + - "{{ is_state('input_boolean.guest_mode', 'off') }}" action: - service: scene.create data: @@ -125,7 +128,9 @@ automation: to: 'off' for: minutes: 5 - condition: "{{ is_state('input_select.climate_mode', 'Paused') }}" + condition: + - "{{ not is_state('input_select.climate_mode', 'Manual') }}" + - "{{ is_state('input_select.climate_mode', 'Paused') }}" action: - service: scene.turn_on target: @@ -146,7 +151,9 @@ automation: trigger: - platform: time at: input_datetime.hvac_start_night - condition: "{{ not is_state('input_select.house_presence_state', 'Extended Away') }}" + condition: + - "{{ not is_state('input_select.climate_mode', 'Manual') }}" + - "{{ not is_state('input_select.house_presence_state', 'Extended Away') }}" action: - service: climate.set_temperature target: @@ -160,7 +167,9 @@ automation: trigger: - platform: time at: input_datetime.hvac_start_day - condition: "{{ not is_state('input_select.house_presence_state', 'Extended Away') }}" + condition: + - "{{ not is_state('input_select.climate_mode', 'Manual') }}" + - "{{ not is_state('input_select.house_presence_state', 'Extended Away') }}" action: - service: climate.set_temperature target: @@ -175,6 +184,8 @@ automation: - platform: state entity_id: input_select.house_presence_state to: 'Extended Away' + condition: + - "{{ not is_state('input_select.climate_mode', 'Manual') }}" action: - service: climate.set_temperature target: diff --git a/packages/security/security.yaml b/packages/security/security.yaml index 0fb3a17..0e8fc89 100644 --- a/packages/security/security.yaml +++ b/packages/security/security.yaml @@ -45,6 +45,8 @@ input_boolean: name: Automatically Disarm Alarm on Presence Change disable_camera_events: name: Disable Camera Events + guest_mode: + name: Guest Mode binary_sensor: @@ -414,15 +416,14 @@ automation: topic: frigate/doorbell/detect/set payload: 'ON' - - alias: Pause Backyard Event Detection when Garage Door Open + - alias: Pause Backyard Event Detection when Garage Door Opens trigger: - platform: state entity_id: binary_sensor.garage_door to: 'on' condition: - condition: state - entity_id: alarm_control_panel.ha_alarm - state: disarmed + - "{{ is_state('alarm_control_panel.ha_alarm', 'disarmed') }}" + - "{{ is_state('input_boolean.guest_mode', 'off') }}" mode: restart action: - service: mqtt.publish @@ -430,7 +431,7 @@ automation: topic: frigate/backyard/detect/set payload: 'OFF' - - alias: Start Backyard Event Detection when Garage Door Closes + - alias: Resume Backyard Event Detection when Garage Door Closes trigger: - platform: state entity_id: binary_sensor.garage_door @@ -438,13 +439,41 @@ automation: - platform: state entity_id: alarm_control_panel.ha_alarm not_to: disarmed + condition: + - "{{ is_state('input_boolean.disable_camera_events', 'off') }}" + - "{{ is_state('input_boolean.guest_mode', 'off') }}" + mode: restart + action: + - delay: 60 # Why? + - service: mqtt.publish + data: + topic: frigate/backyard/detect/set + payload: 'ON' + + - alias: Pause Backyard Event Detection in Guest Mode + trigger: + - platform: state + entity_id: input_boolean.guest_mode + to: 'on' + mode: restart + action: + - service: mqtt.publish + data: + topic: frigate/backyard/detect/set + payload: 'OFF' + + - alias: Resume Backyard Event Detection from Guest Mode + trigger: + - platform: state + entity_id: input_boolean.guest_mode + to: 'off' condition: condition: state entity_id: input_boolean.disable_camera_events state: 'off' mode: restart action: - - delay: 60 + - delay: 60 # Why? - service: mqtt.publish data: topic: frigate/backyard/detect/set