mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-09 18:40:14 -04:00
Compare commits
14 Commits
78cd67a560
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d501134c8 | |||
| 30bbe781ef | |||
| 70989327d5 | |||
| bf67d595ef | |||
| 7de01f94c1 | |||
| 6f4259d767 | |||
| 149fac6ec0 | |||
| a272421a33 | |||
| 105fb7cf86 | |||
| 6003d60774 | |||
| 97a0e678c0 | |||
| 6550521520 | |||
| 578edbc7dc | |||
| a49d981ad4 |
@@ -15,11 +15,15 @@ watchman_report.txt
|
||||
.ha_run.lock
|
||||
backup_config.yaml
|
||||
|
||||
.cache/
|
||||
.storage/
|
||||
.cloud/
|
||||
.automatic/
|
||||
glances/
|
||||
.tts.token*
|
||||
*.tts.token
|
||||
.secrets/
|
||||
secrets/
|
||||
customize.yaml
|
||||
image/
|
||||
open-zwave/
|
||||
@@ -43,6 +47,7 @@ rtl_433/
|
||||
tts/
|
||||
/lovelace/private
|
||||
model_cache/
|
||||
www/mail_and_packages/*
|
||||
|
||||
secrets.yaml
|
||||
google_calendars.yaml
|
||||
@@ -62,6 +67,7 @@ rtl_433.conf
|
||||
*.conf.template*
|
||||
go2rtc-1.0.0
|
||||
go2rtc.yaml
|
||||
mqtt_dump.txt
|
||||
|
||||
nest.conf
|
||||
harmony_harmony_hub.conf
|
||||
|
||||
@@ -47,17 +47,17 @@ This is how to actuall do it!
|
||||
```yaml
|
||||
- platform: template
|
||||
value_template: >
|
||||
{{ is_state('binary_sensor.girls_room_multisensor_home_security_motion_detection','off') and states('sensor.girls_room_last_motion') | int <= 300 and states('sensor.system_uptime') | int >= 5 }}
|
||||
{{ is_state('binary_sensor.girls_room_multisensor_motion_detection','off') and states('sensor.girls_room_last_motion') | int <= 300 and states('sensor.system_uptime') | int >= 5 }}
|
||||
prob_given_true: 0.8
|
||||
|
||||
- platform: template
|
||||
value_template: >
|
||||
{{ is_state('binary_sensor.girls_room_multisensor_home_security_motion_detection','off') and states('sensor.girls_room_last_motion') | int > 300 and states('sensor.girls_room_last_motion') | int <= 600 and states('sensor.system_uptime') | int >= 5 }}
|
||||
{{ is_state('binary_sensor.girls_room_multisensor_motion_detection','off') and states('sensor.girls_room_last_motion') | int > 300 and states('sensor.girls_room_last_motion') | int <= 600 and states('sensor.system_uptime') | int >= 5 }}
|
||||
prob_given_true: 0.6
|
||||
|
||||
- platform: template
|
||||
value_template: >
|
||||
{{ is_state('binary_sensor.girls_room_multisensor_home_security_motion_detection','off') and states('sensor.girls_room_last_motion') | int > 600 and states('sensor.girls_room_last_motion') | int <= 900 and states('sensor.system_uptime') | int >= 10 }}
|
||||
{{ is_state('binary_sensor.girls_room_multisensor_motion_detection','off') and states('sensor.girls_room_last_motion') | int > 600 and states('sensor.girls_room_last_motion') | int <= 900 and states('sensor.system_uptime') | int >= 10 }}
|
||||
prob_given_true: 0.4
|
||||
```
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ triggers:
|
||||
to: "on"
|
||||
|
||||
action:
|
||||
- action: notify.mobile_app_pixel_7
|
||||
- action: notify.mobile_app_pixel_10_pro
|
||||
data:
|
||||
message: >-
|
||||
The following are open: "{{ dict((states|selectattr('entity_id', 'in', state_attr('group.my_hvac_affecting_openings', 'entity_id'))|list)|groupby('state'))['on']|map(attribute='name')|list|join(', ') }}"
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
alias: Camera06 Preset
|
||||
id: automation_camera06_preset
|
||||
mode: restart
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_select.camera_06
|
||||
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
|
||||
- platform: time_pattern
|
||||
minutes: "/30"
|
||||
|
||||
action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_06
|
||||
state: "Static"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_left_preset_1
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_06
|
||||
state: "Door"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_left_preset_3
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_06
|
||||
state: "Bed"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_left_preset_3
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_06
|
||||
state: "Window"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_left_preset_2
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_06
|
||||
state: "Floor"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_left_preset_4
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_06
|
||||
state: "Privacy"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_left_preset_5
|
||||
@@ -1,52 +0,0 @@
|
||||
alias: Camera07 Preset
|
||||
id: automation_camera07_preset
|
||||
mode: restart
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_select.camera_07
|
||||
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
|
||||
- platform: time_pattern
|
||||
minutes: "/30"
|
||||
|
||||
action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_07
|
||||
state: "Static"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_right_preset_2
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_07
|
||||
state: "Door"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_right_preset_1
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_07
|
||||
state: "Bed"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_right_preset_3
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_07
|
||||
state: "Window"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_right_preset_2
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_07
|
||||
state: "Floor"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_right_preset_4
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.camera_07
|
||||
state: "Privacy"
|
||||
sequence:
|
||||
- action: shell_command.master_bedroom_right_preset_5
|
||||
@@ -1,108 +0,0 @@
|
||||
alias: Frigate Recordings
|
||||
id: automation_frigate_recordings
|
||||
mode: restart
|
||||
|
||||
trigger:
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
|
||||
- id: automatic
|
||||
platform: time_pattern
|
||||
minutes: "/10"
|
||||
|
||||
- id: boolean
|
||||
platform: state
|
||||
entity_id: input_boolean.debug_recordings
|
||||
|
||||
- id: indoors
|
||||
platform: state
|
||||
entity_id: input_boolean.indoor_recordings
|
||||
|
||||
- id: outdoors
|
||||
platform: state
|
||||
entity_id: input_boolean.outdoor_recordings
|
||||
|
||||
action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.debug_recordings
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam01_recordings
|
||||
- switch.frigate_cam03_recordings
|
||||
- switch.frigate_cam04_recordings
|
||||
- switch.frigate_cam06_recordings
|
||||
- switch.frigate_cam07_recordings
|
||||
- switch.frigate_cam08_recordings
|
||||
- switch.frigate_cam12_recordings
|
||||
- switch.frigate_cam13_recordings
|
||||
- switch.frigate_cam14_recordings
|
||||
- switch.frigate_cam18_recordings
|
||||
- switch.frigate_cam19_recordings
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_recordings
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam01_recordings
|
||||
- switch.frigate_cam03_recordings
|
||||
- switch.frigate_cam06_recordings
|
||||
- switch.frigate_cam07_recordings
|
||||
- switch.frigate_cam08_recordings
|
||||
- switch.frigate_cam12_recordings
|
||||
- switch.frigate_cam13_recordings
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_recordings
|
||||
state: "off"
|
||||
sequence:
|
||||
- action: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam01_recordings
|
||||
- switch.frigate_cam03_recordings
|
||||
- switch.frigate_cam06_recordings
|
||||
- switch.frigate_cam07_recordings
|
||||
- switch.frigate_cam08_recordings
|
||||
- switch.frigate_cam12_recordings
|
||||
- switch.frigate_cam13_recordings
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.outdoor_recordings
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam04_recordings
|
||||
- switch.frigate_cam14_recordings
|
||||
- switch.frigate_cam18_recordings
|
||||
- switch.frigate_cam19_recordings
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.outdoor_recordings
|
||||
state: "off"
|
||||
sequence:
|
||||
- action: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam04_recordings
|
||||
- switch.frigate_cam14_recordings
|
||||
- switch.frigate_cam18_recordings
|
||||
- switch.frigate_cam19_recordings
|
||||
@@ -1,108 +0,0 @@
|
||||
alias: Frigate Snapshots
|
||||
id: automation_frigate_snapshots
|
||||
mode: restart
|
||||
|
||||
trigger:
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
|
||||
- id: automatic
|
||||
platform: time_pattern
|
||||
minutes: "/10"
|
||||
|
||||
- id: boolean
|
||||
platform: state
|
||||
entity_id: input_boolean.debug_snapshots
|
||||
|
||||
- id: indoors
|
||||
platform: state
|
||||
entity_id: input_boolean.indoor_snapshots
|
||||
|
||||
- id: outdoors
|
||||
platform: state
|
||||
entity_id: input_boolean.outdoor_snapshots
|
||||
|
||||
action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.debug_snapshots
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam01_snapshots
|
||||
- switch.frigate_cam03_snapshots
|
||||
- switch.frigate_cam04_snapshots
|
||||
- switch.frigate_cam06_snapshots
|
||||
- switch.frigate_cam07_snapshots
|
||||
- switch.frigate_cam08_snapshots
|
||||
- switch.frigate_cam12_snapshots
|
||||
- switch.frigate_cam13_snapshots
|
||||
- switch.frigate_cam14_snapshots
|
||||
- switch.frigate_cam18_snapshots
|
||||
- switch.frigate_cam19_snapshots
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_snapshots
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam01_snapshots
|
||||
- switch.frigate_cam03_snapshots
|
||||
- switch.frigate_cam06_snapshots
|
||||
- switch.frigate_cam07_snapshots
|
||||
- switch.frigate_cam08_snapshots
|
||||
- switch.frigate_cam12_snapshots
|
||||
- switch.frigate_cam13_snapshots
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_snapshots
|
||||
state: "off"
|
||||
sequence:
|
||||
- action: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam01_snapshots
|
||||
- switch.frigate_cam03_snapshots
|
||||
- switch.frigate_cam06_snapshots
|
||||
- switch.frigate_cam07_snapshots
|
||||
- switch.frigate_cam08_snapshots
|
||||
- switch.frigate_cam12_snapshots
|
||||
- switch.frigate_cam13_snapshots
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.outdoor_snapshots
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam04_snapshots
|
||||
- switch.frigate_cam14_snapshots
|
||||
- switch.frigate_cam18_snapshots
|
||||
- switch.frigate_cam19_snapshots
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.outdoor_snapshots
|
||||
state: "off"
|
||||
sequence:
|
||||
- action: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- switch.frigate_cam04_snapshots
|
||||
- switch.frigate_cam14_snapshots
|
||||
- switch.frigate_cam18_snapshots
|
||||
- switch.frigate_cam19_snapshots
|
||||
@@ -1,149 +0,0 @@
|
||||
id: automation_frigate_person_back_yard
|
||||
alias: Frigate Person Back Yard
|
||||
description: "Fire a notification if a person is detected by Frigate in the back yard"
|
||||
mode: single
|
||||
max_exceeded: silent
|
||||
trigger:
|
||||
platform: mqtt
|
||||
topic: frigate/events
|
||||
payload: frigate_cam14
|
||||
value_template: "{{ value_json['after']['camera'] }}"
|
||||
variables:
|
||||
id: "{{ trigger.payload_json['after']['id'] }}"
|
||||
camera: "{{ trigger.payload_json['after']['camera'] }}"
|
||||
camera_name: "{{ camera | replace('_', ' ') | title }}"
|
||||
object: "{{ trigger.payload_json['after']['label'] }}"
|
||||
label: "{{ object | title }}"
|
||||
entered_zones: "{{ trigger.payload_json['after']['entered_zones'] }}"
|
||||
type: "{{ trigger.payload_json['type'] }}"
|
||||
base_url: https://automation.clintweaver.com
|
||||
group_target: ""
|
||||
zone_only: false
|
||||
input_zones:
|
||||
- front_porch
|
||||
- driveway
|
||||
zones: "{{ input_zones | list }}"
|
||||
input_labels:
|
||||
- person
|
||||
labels: "{{ input_labels | list }}"
|
||||
presence_entity: person.clint
|
||||
condition:
|
||||
- "{{ type != 'end' }}"
|
||||
- "{{ not zone_only or entered_zones|length > 0 }}"
|
||||
- "{{ not zones|length or zones|select('in', entered_zones)|list|length > 0 }}"
|
||||
- "{{ not labels|length or object in labels }}"
|
||||
#- "{{ not presence_entity or not is_state(presence_entity, 'home') }}"
|
||||
- '{{ is_state("binary_sensor.patio_door_contact","off") }}'
|
||||
- "{{ is_state('input_boolean.outdoor_snapshots','on') }}"
|
||||
action:
|
||||
- choose:
|
||||
- conditions: "{{ not group_target }}"
|
||||
sequence:
|
||||
- device_id: 70c62eb366d6ed914b0ccc6bf41c32fd
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
data:
|
||||
tag: "{{ id }}"
|
||||
group: frigate-notification-{{ camera }}
|
||||
image: /api/frigate/notifications/{{id}}/thumbnail.jpg?format=android
|
||||
attachment:
|
||||
url: /api/frigate/notifications/{{id}}/thumbnail.jpg
|
||||
|
||||
- action: persistent_notification.create
|
||||
data:
|
||||
title: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
message: 'A {{ label }} was detected on the {{ camera_name }} camera. '
|
||||
notification_id: "{{ id }}"
|
||||
default:
|
||||
- action: notify.{{ group_target }}
|
||||
data:
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
data:
|
||||
tag: "{{ id }}"
|
||||
group: frigate-notification-{{ camera }}
|
||||
image: /api/frigate/notifications/{{id}}/thumbnail.jpg?format=android
|
||||
attachment:
|
||||
url: /api/frigate/notifications/{{id}}/thumbnail.jpg
|
||||
- repeat:
|
||||
sequence:
|
||||
- wait_for_trigger:
|
||||
- platform: mqtt
|
||||
topic: frigate/events
|
||||
payload: "{{ id }}"
|
||||
value_template: "{{ value_json['after']['id'] }}"
|
||||
timeout:
|
||||
minutes: 2
|
||||
continue_on_timeout: false
|
||||
- condition: template
|
||||
value_template: "{{ wait.trigger.payload_json['type'] == 'end' }}"
|
||||
- choose:
|
||||
- conditions: "{{ not group_target }}"
|
||||
sequence:
|
||||
- device_id: 70c62eb366d6ed914b0ccc6bf41c32fd
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
data:
|
||||
tag: "{{ id }}"
|
||||
group: frigate-notification-{{ camera }}
|
||||
url: >-
|
||||
{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
|
||||
clickAction: >-
|
||||
{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
|
||||
image: >-
|
||||
/api/frigate/notifications/{{id}}/thumbnail.jpg?format=android
|
||||
sound: none
|
||||
attachment:
|
||||
url: /api/frigate/notifications/{{id}}/thumbnail.jpg
|
||||
actions:
|
||||
- action: URI
|
||||
title: View Clip
|
||||
uri: >-
|
||||
{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
|
||||
- action: URI
|
||||
title: View Snapshot
|
||||
uri: >-
|
||||
{{base_url}}/api/frigate/notifications/{{id}}/snapshot.jpg
|
||||
- action: silence-{{ camera }}
|
||||
title: Silence Notifications
|
||||
destructive: true
|
||||
default:
|
||||
- action: notify.{{ group_target }}
|
||||
data:
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
data:
|
||||
tag: "{{ id }}"
|
||||
group: frigate-notification-{{ camera }}
|
||||
url: >-
|
||||
{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
|
||||
clickAction: >-
|
||||
{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
|
||||
image: >-
|
||||
/api/frigate/notifications/{{id}}/thumbnail.jpg?format=android
|
||||
sound: none
|
||||
attachment:
|
||||
url: /api/frigate/notifications/{{id}}/thumbnail.jpg
|
||||
actions:
|
||||
- action: URI
|
||||
title: View Clip
|
||||
uri: >-
|
||||
{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
|
||||
- action: URI
|
||||
title: View Snapshot
|
||||
uri: >-
|
||||
{{base_url}}/api/frigate/notifications/{{id}}/snapshot.jpg
|
||||
- action: silence-{{ camera }}
|
||||
title: Silence Notifications
|
||||
destructive: true
|
||||
until: "{{ wait.trigger.payload_json['type'] == 'end' }}"
|
||||
- wait_for_trigger:
|
||||
- platform: event
|
||||
event_type: mobile_app_notification_action
|
||||
event_data:
|
||||
action: silence-{{ camera }}
|
||||
timeout:
|
||||
seconds: 30
|
||||
continue_on_timeout: false
|
||||
- delay:
|
||||
minutes: 30
|
||||
@@ -48,7 +48,7 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ not group_target }}"
|
||||
sequence:
|
||||
- device_id: 70c62eb366d6ed914b0ccc6bf41c32fd
|
||||
- device_id: 99193a9cdfd7a8cb893c54665d710e7d
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
@@ -89,7 +89,7 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ not group_target }}"
|
||||
sequence:
|
||||
- device_id: 70c62eb366d6ed914b0ccc6bf41c32fd
|
||||
- device_id: 99193a9cdfd7a8cb893c54665d710e7d
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
|
||||
@@ -6,7 +6,7 @@ max_exceeded: silent
|
||||
trigger:
|
||||
platform: mqtt
|
||||
topic: frigate/events
|
||||
payload: frigate_cam19
|
||||
payload: doorbell_cam
|
||||
value_template: "{{ value_json['after']['camera'] }}"
|
||||
variables:
|
||||
id: "{{ trigger.payload_json['after']['id'] }}"
|
||||
@@ -39,13 +39,13 @@ condition:
|
||||
- '{{ is_state("binary_sensor.front_door_contact","off") }}'
|
||||
- '{{ is_state("binary_sensor.patio_door_contact","off") }}'
|
||||
- '{{ is_state("binary_sensor.front_porch_motion","off") }}'
|
||||
- '{{ is_state("binary_sensor.garage_motion_switch_home_security_motion_detection","off") }}'
|
||||
- '{{ is_state("binary_sensor.garage_motion_switch_motion_detection","off") }}'
|
||||
- "{{ is_state('input_boolean.outdoor_snapshots','on') }}"
|
||||
action:
|
||||
- choose:
|
||||
- conditions: "{{ not group_target }}"
|
||||
sequence:
|
||||
- device_id: 70c62eb366d6ed914b0ccc6bf41c32fd
|
||||
- device_id: 99193a9cdfd7a8cb893c54665d710e7d
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
@@ -86,7 +86,7 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ not group_target }}"
|
||||
sequence:
|
||||
- device_id: 70c62eb366d6ed914b0ccc6bf41c32fd
|
||||
- device_id: 99193a9cdfd7a8cb893c54665d710e7d
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
|
||||
@@ -20,7 +20,7 @@ variables:
|
||||
type: "{{ trigger.payload_json['type'] }}"
|
||||
stationary: "{{ trigger.payload_json['after']['stationary'] }}"
|
||||
base_url: https://automation.clintweaver.com
|
||||
group_target: "mobile_app_pixel_7"
|
||||
group_target: "mobile_app_pixel_10_pro"
|
||||
zone_only: true
|
||||
before_zones:
|
||||
- from_street
|
||||
@@ -52,7 +52,7 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ not group_target }}"
|
||||
sequence:
|
||||
- device_id: 70c62eb366d6ed914b0ccc6bf41c32fd
|
||||
- device_id: 99193a9cdfd7a8cb893c54665d710e7d
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
@@ -93,7 +93,7 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ not group_target }}"
|
||||
sequence:
|
||||
- device_id: 70c62eb366d6ed914b0ccc6bf41c32fd
|
||||
- device_id: 99193a9cdfd7a8cb893c54665d710e7d
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: A {{ label }} was detected on the {{ camera_name }} camera.
|
||||
|
||||
@@ -25,10 +25,10 @@ condition:
|
||||
entity_id: media_player.front_room_hub
|
||||
state: "playing"
|
||||
- condition: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.girls_room_clock
|
||||
state: "playing"
|
||||
- condition: state
|
||||
entity_id: media_player.girls_room_hub
|
||||
entity_id: media_player.bedroom_hub
|
||||
state: "playing"
|
||||
- condition: state
|
||||
entity_id: media_player.bathroom_mini
|
||||
|
||||
@@ -18,6 +18,8 @@ action:
|
||||
sequence:
|
||||
- action: homeassistant.turn_on
|
||||
entity_id: input_boolean.clint_work_from_home
|
||||
- action: homeassistant.turn_off
|
||||
entity_id: input_boolean.allow_announcements
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: binary_sensor.clint_work_from_home
|
||||
@@ -25,3 +27,5 @@ action:
|
||||
sequence:
|
||||
- action: homeassistant.turn_off
|
||||
entity_id: input_boolean.clint_work_from_home
|
||||
- action: homeassistant.turn_on
|
||||
entity_id: input_boolean.allow_announcements
|
||||
|
||||
@@ -3,10 +3,16 @@ id: automation_clint_at_work
|
||||
#description:
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: device_tracker.pixel_7
|
||||
entity_id: device_tracker.pixel_10_pro
|
||||
to: "WMU"
|
||||
action:
|
||||
- action: input_text.set_value
|
||||
data:
|
||||
entity_id: input_text.person_clint
|
||||
value: at work
|
||||
# - action: notify.mobile_app_pixel_10_pro
|
||||
# data:
|
||||
# message: command_volume_level
|
||||
# data:
|
||||
# media_stream: notification_stream
|
||||
# command: 1
|
||||
|
||||
@@ -6,10 +6,12 @@ mode: restart
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- device_tracker.pixel_7
|
||||
- device_tracker.pixel_10_pro
|
||||
- person.clint
|
||||
- group.person_clint
|
||||
from: "home"
|
||||
for:
|
||||
seconds: 30
|
||||
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
@@ -21,7 +23,7 @@ condition:
|
||||
entity_id: person.clint
|
||||
state: "home"
|
||||
- condition: state
|
||||
entity_id: device_tracker.pixel_7
|
||||
entity_id: device_tracker.pixel_10_pro
|
||||
state: "home"
|
||||
|
||||
action:
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
alias: Clint Home
|
||||
id: automation_clint_home
|
||||
mode: restart
|
||||
#description:
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- device_tracker.pixel_7
|
||||
- person.clint
|
||||
- group.person_clint
|
||||
- device_tracker.pixel_7_wifi
|
||||
to: "home"
|
||||
|
||||
- platform: state
|
||||
id: car_home
|
||||
entity_id:
|
||||
- binary_sensor.gray_suv_east_side
|
||||
- binary_sensor.gray_suv_west_side
|
||||
- group.traverse
|
||||
from: "off"
|
||||
to: "on"
|
||||
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
|
||||
action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: or
|
||||
conditions:
|
||||
- condition: numeric_state
|
||||
entity_id: group.person_clint
|
||||
above: 0
|
||||
value_template: "{{ dict((states|selectattr('entity_id', 'in', state_attr('group.person_clint', 'entity_id'))|list)|groupby('state'))['home']|count }}"
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_wifi_connection
|
||||
state: "DreamWeaver"
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_wifi_connection
|
||||
state: "DreamIoT-2G"
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_wifi_connection
|
||||
state: "pozfam"
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_wifi_connection
|
||||
state: "pozfam-2.4G"
|
||||
- condition: trigger
|
||||
id: "car_home"
|
||||
sequence:
|
||||
- action: input_boolean.turn_on
|
||||
entity_id: input_boolean.clint_home
|
||||
- action: automation.turn_on
|
||||
entity_id: automation.clint_at_work
|
||||
|
||||
- delay: "00:00:30"
|
||||
|
||||
@@ -7,12 +7,16 @@ trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.bed_presence_c175a4_bed_occupied_either
|
||||
to: "on"
|
||||
# Bed in master bedroom is occupied
|
||||
- platform: state
|
||||
entity_id: input_boolean.master_bed_occupied
|
||||
to: "on"
|
||||
# Radio playing
|
||||
- platform: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
to: "playing"
|
||||
- platform: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
to: "idle"
|
||||
# Light on
|
||||
- platform: state
|
||||
@@ -26,10 +30,10 @@ trigger:
|
||||
minutes: 5
|
||||
# Something gets plugged in
|
||||
- platform: state
|
||||
entity_id: sensor.pixel_7_charger_type
|
||||
entity_id: sensor.pixel_10_pro_charger_type
|
||||
to: "Wireless"
|
||||
- platform: state
|
||||
entity_id: sensor.pixel_7_charger_type
|
||||
entity_id: sensor.pixel_10_pro_charger_type
|
||||
to: "wireless"
|
||||
- platform: state
|
||||
entity_id: sensor.dreamsurface_dreamsurface_battery_powerline_status
|
||||
|
||||
@@ -10,7 +10,7 @@ trigger:
|
||||
entity_id:
|
||||
- input_select.clint_status_dropdown
|
||||
- input_boolean.clint_home
|
||||
- device_tracker.pixel_7
|
||||
- device_tracker.pixel_10_pro
|
||||
|
||||
condition:
|
||||
- condition: template
|
||||
|
||||
@@ -13,6 +13,10 @@ trigger:
|
||||
entity_id: binary_sensor.bed_presence_c175a4_bed_occupied_right
|
||||
to: "off"
|
||||
for: "00:05:00"
|
||||
# Bed in master bedroom is occupied
|
||||
- platform: state
|
||||
entity_id: input_boolean.master_bed_occupied
|
||||
to: "on"
|
||||
- platform: state
|
||||
entity_id:
|
||||
- binary_sensor.master_bedroom_door_contact
|
||||
|
||||
@@ -10,6 +10,10 @@ trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.bed_presence_c175a4_bed_occupied_right
|
||||
to: "on"
|
||||
# Bed in master bedroom is occupied
|
||||
- platform: state
|
||||
entity_id: input_boolean.master_bed_occupied
|
||||
to: "on"
|
||||
|
||||
condition:
|
||||
- condition: state
|
||||
|
||||
@@ -5,12 +5,12 @@ id: automation_clint_changing_zones
|
||||
trigger:
|
||||
# Been away for a few minutes
|
||||
- platform: state
|
||||
entity_id: device_tracker.pixel_7
|
||||
entity_id: device_tracker.pixel_10_pro
|
||||
to: "not_home"
|
||||
for: "00:05:00"
|
||||
# Arrived in a zone
|
||||
- platform: state
|
||||
entity_id: device_tracker.pixel_7
|
||||
entity_id: device_tracker.pixel_10_pro
|
||||
from: "not_home"
|
||||
condition:
|
||||
# Been at least 5 minutes
|
||||
|
||||
@@ -16,7 +16,7 @@ condition:
|
||||
|
||||
action:
|
||||
- action: input_boolean.turn_off
|
||||
data:
|
||||
target:
|
||||
entity_id: input_boolean.master_bedroom_asleep
|
||||
|
||||
- delay:
|
||||
@@ -26,9 +26,10 @@ action:
|
||||
milliseconds: 0
|
||||
|
||||
- action: media_player.volume_set
|
||||
target:
|
||||
#entity_id: media_player.home_assistant_voice_097b44_media_player
|
||||
entity_id: media_player.ma_bedroom_hub
|
||||
data:
|
||||
#entity_id: media_player.ma_home_assistant_voice_097b44_media_player
|
||||
entity_id: media_player.ma_master_bedroom_clock
|
||||
volume_level: 0.90
|
||||
|
||||
- action: input_select.select_option
|
||||
@@ -37,16 +38,21 @@ action:
|
||||
target:
|
||||
entity_id: input_select.master_bedroom_mode
|
||||
|
||||
- action: music_assistant.play_media
|
||||
- action: media_player.shuffle_set
|
||||
target:
|
||||
#entity_id: media_player.ma_home_assistant_voice_097b44_media_player
|
||||
entity_id: media_player.ma_master_bedroom_clock
|
||||
entity_id: media_player.ma_bedroom_hub
|
||||
data:
|
||||
media_type: playlist
|
||||
#media_id: library://playlist/7
|
||||
media_id: >
|
||||
{% set playlists = ['library://playlist/33','library://playlist/32','library://playlist/21','library://playlist/28','library://playlist/27','library://playlist/22','library://playlist/29','library://playlist/36','library://playlist/23','library://playlist/12','library://playlist/34','library://playlist/35','library://playlist/19'] %}
|
||||
{{ playlists|random }}
|
||||
enqueue: replace
|
||||
shuffle: true
|
||||
|
||||
- action: script.wake_the_bedroom
|
||||
- action: music_assistant.play_media
|
||||
data:
|
||||
media_id: library://playlist/32
|
||||
media_type: playlist
|
||||
enqueue: replace
|
||||
target:
|
||||
entity_id: media_player.ma_bedroom_hub
|
||||
#media_id: >
|
||||
# {% set playlists = ['library://playlist/32','library://playlist/9'] %}
|
||||
# {{ playlists|random }}
|
||||
|
||||
#- action: script.wake_the_bedroom
|
||||
|
||||
@@ -8,10 +8,10 @@ trigger:
|
||||
to: "on"
|
||||
# Radio playing
|
||||
- platform: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
to: "playing"
|
||||
- platform: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
to: "idle"
|
||||
# Light on
|
||||
- platform: state
|
||||
|
||||
@@ -16,11 +16,11 @@ condition:
|
||||
state: "off"
|
||||
action:
|
||||
# Notify the last person to leave
|
||||
- action: notify.mobile_app_pixel_7
|
||||
- action: notify.mobile_app_pixel_10_pro
|
||||
data:
|
||||
message: >-
|
||||
{% if as_timestamp(states.input_boolean.kristy_home.last_updated) > as_timestamp(states.input_boolean.clint_home.last_updated) %}
|
||||
The following are open: {{ dict((states|selectattr('entity_id', 'in', state_attr('group.my_exterior_windows', 'entity_id') + state_attr('group.my_exterior_doors', 'entity_id'))|list)|groupby('state'))['on']|map(attribute='name')|list|join(', ') }}
|
||||
The following are open: {{ dict((states|selectattr('entity_id', 'in', state_attr('group.my_exterior_windows', 'entity_id') + state_attr('binary_sensor.exterior_doors', 'entity_id'))|list)|groupby('state'))['on']|map(attribute='name')|list|join(', ') }}
|
||||
{% else %}
|
||||
The following are open: {{ dict((states|selectattr('entity_id', 'in', state_attr('group.my_exterior_windows', 'entity_id') + state_attr('group.my_exterior_doors', 'entity_id'))|list)|groupby('state'))['on']|map(attribute='name')|list|join(', ') }}
|
||||
The following are open: {{ dict((states|selectattr('entity_id', 'in', state_attr('group.my_exterior_windows', 'entity_id') + state_attr('binary_sensor.exterior_doors', 'entity_id'))|list)|groupby('state'))['on']|map(attribute='name')|list|join(', ') }}
|
||||
{% endif %}
|
||||
|
||||
@@ -29,8 +29,8 @@ action:
|
||||
- media_player.bathroom_mini
|
||||
- media_player.front_room_hub
|
||||
- media_player.kitchen
|
||||
- media_player.girls_room_hub
|
||||
- media_player.master_bedroom_clock
|
||||
- media_player.girls_room_clock
|
||||
- media_player.bedroom_hub
|
||||
volume_level: 0.7
|
||||
- delay: "00:00:03"
|
||||
- action: tts.speak
|
||||
|
||||
@@ -24,12 +24,12 @@ action:
|
||||
- action: media_player.volume_set
|
||||
data_template:
|
||||
volume_level: 0.30
|
||||
entity_id: media_player.ma_home_assistant_voice_097b44_media_player
|
||||
entity_id: media_player.home_assistant_voice_097b44_media_player
|
||||
- action: tts.speak
|
||||
target:
|
||||
entity_id: tts.google_translate_en_com
|
||||
data:
|
||||
media_player_entity_id: media_player.ma_home_assistant_voice_097b44_media_player
|
||||
media_player_entity_id: media_player.home_assistant_voice_097b44_media_player
|
||||
message: >-
|
||||
The following are open:
|
||||
{{ dict((states|selectattr('entity_id', 'in', state_attr('group.my_exterior_windows', 'entity_id') + state_attr('group.my_exterior_doors', 'entity_id'))|list)|groupby('state'))['on']|map(attribute='name')|list|join(', ') }}
|
||||
{{ dict((states|selectattr('entity_id', 'in', state_attr('group.my_exterior_windows', 'entity_id') + state_attr('binary_sensor.exterior_doors', 'entity_id'))|list)|groupby('state'))['on']|map(attribute='name')|list|join(', ') }}
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
alias: Continue Girls Room Noise
|
||||
id: automation_continue_girls_room_noise
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: media_player.girls_room_hub
|
||||
from: "playing"
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: input_boolean.girls_room_asleep
|
||||
state: "on"
|
||||
- condition: or
|
||||
conditions:
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.bridget_in_bed
|
||||
state: "on"
|
||||
- condition: state
|
||||
entity_id: input_boolean.bridget_home
|
||||
state: "on"
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.ebin_in_bed
|
||||
state: "on"
|
||||
- condition: state
|
||||
entity_id: input_boolean.ebin_home
|
||||
state: "on"
|
||||
- condition: state
|
||||
entity_id: input_select.girls_room_mode
|
||||
state: "Night on"
|
||||
action:
|
||||
- action: input_select.select_option
|
||||
data:
|
||||
entity_id: input_select.google_home
|
||||
option: "Girls Room"
|
||||
- action: input_select.select_option
|
||||
data:
|
||||
entity_id: input_select.ambient_sound
|
||||
option: "Random White Noise"
|
||||
- action: input_number.set_value
|
||||
data:
|
||||
entity_id: input_number.volume_ambientsounds
|
||||
value: "0.35"
|
||||
- action: script.ambientsounds
|
||||
@@ -35,11 +35,11 @@ condition:
|
||||
attribute: source
|
||||
state: "YouTube"
|
||||
- condition: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
attribute: source
|
||||
state: "PBS Kids"
|
||||
- condition: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
attribute: source
|
||||
state: "YouTube"
|
||||
|
||||
@@ -94,23 +94,23 @@ action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
state: "playing"
|
||||
- condition: or
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
attribute: source
|
||||
state: "YouTube"
|
||||
- condition: state
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
attribute: source
|
||||
state: "PBS Kids"
|
||||
sequence:
|
||||
- action: media_player.select_source
|
||||
data:
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
source: Home
|
||||
- action: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.master_bedroom_clock
|
||||
entity_id: media_player.bedroom_hub
|
||||
|
||||
@@ -13,7 +13,7 @@ condition:
|
||||
state: "off"
|
||||
for: "00:10:00"
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.deck_light_level
|
||||
entity_id: sensor.deck_hue_motion_sensor_illuminance
|
||||
below: 25
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.sun_elevation
|
||||
|
||||
@@ -38,7 +38,7 @@ condition:
|
||||
state: "on"
|
||||
# It's getting dark
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.bar_light_level
|
||||
entity_id: sensor.bar_hue_motion_sensor_illuminance
|
||||
below: 15
|
||||
# Somebody is nearly home, or just arrived
|
||||
- condition: or
|
||||
|
||||
@@ -8,7 +8,7 @@ trigger:
|
||||
to: "on"
|
||||
|
||||
action:
|
||||
- action: notify.mobile_app_pixel_7
|
||||
- action: notify.mobile_app_pixel_10_pro
|
||||
data:
|
||||
message: >-
|
||||
Its too hot or cold to leave these open: {{ dict((states|selectattr('entity_id', 'in', state_attr('group.my_hvac_affecting_openings', 'entity_id'))|list)|groupby('state'))['on']|map(attribute='name')|list|join(', ') }}
|
||||
|
||||
@@ -17,7 +17,7 @@ condition:
|
||||
state: "on"
|
||||
|
||||
action:
|
||||
- action: notify.mobile_app_pixel_7
|
||||
- action: notify.mobile_app_pixel_10_pro
|
||||
data:
|
||||
title: Update Available
|
||||
message: A Home Assistant update is available
|
||||
|
||||
@@ -95,13 +95,11 @@ action:
|
||||
entity_id: binary_sensor.computer_area_occupied
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: webrtc.dash_cast
|
||||
- action: dash_cast.load_url
|
||||
data:
|
||||
entity_id: media_player.computer_area_hub
|
||||
url: cam01_sub_opus
|
||||
force: true
|
||||
extra:
|
||||
mode: webrtc
|
||||
url: http://192.168.1.7:1984/stream.html?src=boys_room_cam
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
@@ -109,49 +107,13 @@ action:
|
||||
entity_id: binary_sensor.front_room_occupied
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: webrtc.dash_cast
|
||||
- action: dash_cast.load_url
|
||||
data:
|
||||
entity_id: media_player.front_room_hub
|
||||
url: cam01_sub_opus
|
||||
force: true
|
||||
extra:
|
||||
mode: webrtc
|
||||
url: http://192.168.1.7:1984/stream.html?src=boys_room_cam
|
||||
|
||||
- delay: "00:10:00"
|
||||
|
||||
- action: media_player.turn_off
|
||||
entity_id: media_player.front_room_hub, media_player.computer_area_hub
|
||||
|
||||
# - alias: "Flash some lights"
|
||||
# repeat:
|
||||
# count: 6
|
||||
# sequence:
|
||||
# - delay: 1
|
||||
# - action: light.toggle
|
||||
# target:
|
||||
# entity_id:
|
||||
# - light.entryway_hue
|
||||
# - light.computer_area_hue
|
||||
# - light.front_room_hue
|
||||
#- delay: '00:00:02'
|
||||
|
||||
# - alias: "Fix computer area lights"
|
||||
# action: automation.trigger
|
||||
# target:
|
||||
# entity_id: "automation.computer_area_lights_to_{{ computer_area }}"
|
||||
# data:
|
||||
# skip_condition: true
|
||||
|
||||
# - alias: "Fix front room lights"
|
||||
# action: automation.trigger
|
||||
# target:
|
||||
# entity_id: "automation.front_room_lights_to_{{ front_room }}"
|
||||
# data:
|
||||
# skip_condition: true
|
||||
|
||||
# - alias: "Fix entryway lights"
|
||||
# action: automation.trigger
|
||||
# target:
|
||||
# entity_id: "automation.entryway_lights_to_{{ entryway }}"
|
||||
# data:
|
||||
# skip_condition: true
|
||||
|
||||
@@ -8,4 +8,4 @@ trigger:
|
||||
|
||||
action:
|
||||
- action: media_player.turn_off
|
||||
entity_id: media_player.ma_boys_room_clock
|
||||
entity_id: media_player.boys_room_clock
|
||||
|
||||
@@ -7,7 +7,7 @@ trigger:
|
||||
to: "on"
|
||||
|
||||
- platform: state
|
||||
entity_id: media_player.ma_boys_room_clock
|
||||
entity_id: media_player.boys_room_clock
|
||||
to: "idle"
|
||||
for: 00:00:05
|
||||
|
||||
@@ -21,17 +21,17 @@ action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: media_player.ma_boys_room_clock
|
||||
entity_id: media_player.boys_room_clock
|
||||
state: "playing"
|
||||
sequence:
|
||||
- action: media_player.media_stop
|
||||
target:
|
||||
entity_id: media_player.ma_boys_room_clock
|
||||
entity_id: media_player.boys_room_clock
|
||||
|
||||
- action: script.search_and_play_playlist
|
||||
- action: music_assistant.play_media
|
||||
target:
|
||||
entity_id: media_player.ma_boys_room_clock
|
||||
data:
|
||||
speaker: media_player.ma_boys_room_clock
|
||||
search_term: CleverThunderstorm
|
||||
volume: 0.3
|
||||
repeat: all
|
||||
shuffle: false
|
||||
media_type: playlist
|
||||
media_id: library://playlist/34
|
||||
enqueue: replace
|
||||
|
||||
@@ -26,7 +26,7 @@ trigger:
|
||||
|
||||
# - platform: state
|
||||
# id: motion
|
||||
# entity_id: group.computer_area_motion
|
||||
# entity_id: binary_sensor.computer_area_motion
|
||||
# to: "on"
|
||||
|
||||
condition:
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
alias: "Computer Area Occupied"
|
||||
id: automation_computer_area_occupied
|
||||
mode: restart
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- binary_sensor.computer_area_occupied
|
||||
to: "on"
|
||||
condition:
|
||||
# Computer area was not already occupied or computer area light is off while not set to manual or off
|
||||
- condition: or
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.computer_area_occupied
|
||||
state: "off"
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: light.computer_area_hue
|
||||
state: "off"
|
||||
- condition: not
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.computer_area_mode
|
||||
state: "Off"
|
||||
- condition: state
|
||||
entity_id: input_select.computer_area_mode
|
||||
state: "Manual"
|
||||
|
||||
action:
|
||||
- action: input_boolean.turn_on
|
||||
entity_id: input_boolean.computer_area_occupied
|
||||
@@ -24,7 +24,7 @@ trigger:
|
||||
|
||||
# - platform: state
|
||||
# id: motion
|
||||
# entity_id: group.dining_room_motion
|
||||
# entity_id: binary_sensor.dining_room_motion
|
||||
# to: "on"
|
||||
|
||||
condition:
|
||||
|
||||
@@ -20,7 +20,7 @@ trigger:
|
||||
|
||||
# - platform: state
|
||||
# id: motion
|
||||
# entity_id: group.front_room_motion
|
||||
# entity_id: binary_sensor.front_room_motion
|
||||
# to: "on"
|
||||
|
||||
- platform: state
|
||||
@@ -119,7 +119,7 @@ action:
|
||||
condition: state
|
||||
entity_id: light.front_room_hue
|
||||
state: "on"
|
||||
- "{{ states('sensor.front_room_light_level') | float(default=0) < states('input_number.front_room_light_level_trigger') | float(default=0) }}"
|
||||
- "{{ states('sensor.front_room_hue_motion_sensor_illuminance') | float(default=0) < states('input_number.front_room_light_level_trigger') | float(default=0) }}"
|
||||
sequence:
|
||||
- action: scene.turn_on
|
||||
data:
|
||||
@@ -137,7 +137,7 @@ action:
|
||||
condition: state
|
||||
entity_id: light.front_room_hue
|
||||
state: "off"
|
||||
- "{{ states('sensor.front_room_light_level') | float(default=0) < states('input_number.front_room_light_level_trigger') | float(default=0) }}"
|
||||
- "{{ states('sensor.front_room_hue_motion_sensor_illuminance') | float(default=0) < states('input_number.front_room_light_level_trigger') | float(default=0) }}"
|
||||
sequence:
|
||||
- action: scene.turn_on
|
||||
target:
|
||||
@@ -149,7 +149,7 @@ action:
|
||||
condition: state
|
||||
entity_id: light.front_room_hue
|
||||
state: "on"
|
||||
- "{{ states('sensor.front_room_light_level') | float(default=0) < states('input_number.front_room_light_level_trigger') | float(default=0) }}"
|
||||
- "{{ states('sensor.front_room_hue_motion_sensor_illuminance') | float(default=0) < states('input_number.front_room_light_level_trigger') | float(default=0) }}"
|
||||
sequence:
|
||||
- action: scene.turn_on
|
||||
data:
|
||||
@@ -163,7 +163,7 @@ action:
|
||||
condition: state
|
||||
entity_id: light.front_room_hue
|
||||
state: "off"
|
||||
- "{{ states('sensor.front_room_light_level') | float(default=0) < states('input_number.front_room_light_level_trigger') | float(default=0) }}"
|
||||
- "{{ states('sensor.front_room_hue_motion_sensor_illuminance') | float(default=0) < states('input_number.front_room_light_level_trigger') | float(default=0) }}"
|
||||
sequence:
|
||||
- action: scene.turn_on
|
||||
target:
|
||||
|
||||
@@ -3,7 +3,7 @@ id: automation_front_room_water_sensor_on
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.furnace_room_water_sensor_water_alarm_water_leak_detected
|
||||
entity_id: binary_sensor.furnace_room_water_sensor_leak
|
||||
to: "on"
|
||||
for: "00:00:10"
|
||||
|
||||
@@ -12,9 +12,9 @@ action:
|
||||
target:
|
||||
entity_id: tts.google_translate_en_com
|
||||
data:
|
||||
media_player_entity_id: media_player.front_room_hub, media_player.bathroom_mini, media_player.kitchen, media_player.master_bedroom_clock
|
||||
media_player_entity_id: media_player.front_room_hub, media_player.bathroom_mini, media_player.kitchen, media_player.bedroom_hub
|
||||
message: Attention! A water leak has been detected on the furnace room floor!
|
||||
|
||||
- action: notify.mobile_app_pixel_7
|
||||
- action: notify.mobile_app_pixel_10_pro
|
||||
data:
|
||||
message: Attention! A water leak has been detected on the furnace room floor!
|
||||
|
||||
@@ -18,7 +18,7 @@ triggers:
|
||||
trigger: state
|
||||
alias: When the furnace room door has been closed for 10 minutes
|
||||
- id: motion_off
|
||||
entity_id: binary_sensor.furnace_room_motion_switch_home_security_motion_detection
|
||||
entity_id: binary_sensor.furnace_room_motion_switch_motion_detection
|
||||
to: "off"
|
||||
for: "00:15:00"
|
||||
trigger: state
|
||||
@@ -40,7 +40,7 @@ actions:
|
||||
id: door_closed
|
||||
- condition: state
|
||||
entity_id: >-
|
||||
binary_sensor.furnace_room_motion_switch_home_security_motion_detection
|
||||
binary_sensor.furnace_room_motion_switch_motion_detection
|
||||
state: "off"
|
||||
- condition: state
|
||||
entity_id: light.furnace_room
|
||||
|
||||
@@ -18,7 +18,7 @@ trigger:
|
||||
|
||||
# - platform: state
|
||||
# id: "motion"
|
||||
# entity_id: group.garage_motion
|
||||
# entity_id: binary_sensor.garage_motion
|
||||
# from: "off"
|
||||
# to: "on"
|
||||
|
||||
@@ -56,7 +56,7 @@ trigger:
|
||||
|
||||
- platform: state
|
||||
id: "workshop_motion"
|
||||
entity_id: group.workshop_motion
|
||||
entity_id: binary_sensor.workshop_motion
|
||||
from: "off"
|
||||
to: "on"
|
||||
|
||||
|
||||
@@ -17,6 +17,6 @@ condition:
|
||||
state: "on"
|
||||
|
||||
action:
|
||||
- action: notify.mobile_app_pixel_7
|
||||
- action: notify.mobile_app_pixel_10_pro
|
||||
data:
|
||||
message: The garage is open, but nobody is home
|
||||
|
||||
@@ -31,32 +31,32 @@ action:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.ma_girls_room_clock
|
||||
state: "playing"
|
||||
|
||||
- action: media_player.volume_set
|
||||
data:
|
||||
volume_level: 0.4
|
||||
volume_level: 0.20
|
||||
target:
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.ma_girls_room_clock
|
||||
|
||||
#- action: script.goodnight_kids_youtube_music
|
||||
- action: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
target:
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.ma_girls_room_clock
|
||||
|
||||
- action: media_player.repeat_set
|
||||
data:
|
||||
repeat: all
|
||||
target:
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.ma_girls_room_clock
|
||||
|
||||
- action: music_assistant.play_media
|
||||
data:
|
||||
media_id: library://playlist/5
|
||||
media_id: library://playlist/36
|
||||
media_type: playlist
|
||||
enqueue: replace
|
||||
target:
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.ma_girls_room_clock
|
||||
|
||||
@@ -70,7 +70,7 @@ condition:
|
||||
state: "on"
|
||||
|
||||
variables:
|
||||
switch_name: girls_room_fan_light_switch_light
|
||||
switch_name: light.girls_room_fan_light_switch_light
|
||||
light_name: girls_room_hue
|
||||
mode_name: input_select.girls_room_mode
|
||||
automatic_profile: input_select.automatic_light_profile
|
||||
|
||||
@@ -10,11 +10,6 @@ trigger:
|
||||
from: "on"
|
||||
to: "off"
|
||||
for: "00:00:05"
|
||||
- trigger: state
|
||||
entity_id: binary_sensor.white_bed_occupied
|
||||
from: "on"
|
||||
to: "off"
|
||||
for: "00:00:05"
|
||||
- trigger: state
|
||||
entity_id: binary_sensor.girls_room_door
|
||||
from: "off"
|
||||
@@ -100,13 +95,11 @@ action:
|
||||
entity_id: binary_sensor.computer_area_occupied
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: webrtc.dash_cast
|
||||
- action: dash_cast.load_url
|
||||
data:
|
||||
entity_id: media_player.computer_area_hub
|
||||
url: cam08_sub_opus
|
||||
force: true
|
||||
extra:
|
||||
mode: webrtc
|
||||
url: http://192.168.1.7:1984/stream.html?src=girls_room_cam
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
@@ -114,49 +107,14 @@ action:
|
||||
entity_id: binary_sensor.front_room_occupied
|
||||
state: "on"
|
||||
sequence:
|
||||
- action: webrtc.dash_cast
|
||||
- action: dash_cast.load_url
|
||||
data:
|
||||
entity_id: media_player.front_room_hub
|
||||
url: cam08_sub_opus
|
||||
force: true
|
||||
extra:
|
||||
mode: webrtc
|
||||
url: http://192.168.1.7:1984/stream.html?src=girls_room_cam
|
||||
|
||||
- delay: "00:10:00"
|
||||
|
||||
- action: media_player.turn_off
|
||||
entity_id: media_player.front_room_hub, media_player.computer_area_hub
|
||||
|
||||
# - alias: "Flash some lights"
|
||||
# repeat:
|
||||
# count: 6
|
||||
# sequence:
|
||||
# - delay: 1
|
||||
# - action: light.toggle
|
||||
# target:
|
||||
# entity_id:
|
||||
# - light.entryway_hue
|
||||
# - light.computer_area_hue
|
||||
# - light.front_room_hue
|
||||
#- delay: '00:00:02'
|
||||
|
||||
# - alias: "Fix computer area lights"
|
||||
# action: automation.trigger
|
||||
# target:
|
||||
# entity_id: "automation.computer_area_lights_to_{{ computer_area }}"
|
||||
# data:
|
||||
# skip_condition: true
|
||||
|
||||
# - alias: "Fix front room lights"
|
||||
# action: automation.trigger
|
||||
# target:
|
||||
# entity_id: "automation.front_room_lights_to_{{ front_room }}"
|
||||
# data:
|
||||
# skip_condition: true
|
||||
|
||||
# - alias: "Fix entryway lights"
|
||||
# action: automation.trigger
|
||||
# target:
|
||||
# entity_id: "automation.entryway_lights_to_{{ entryway }}"
|
||||
# data:
|
||||
# skip_condition: true
|
||||
|
||||
@@ -8,4 +8,4 @@ trigger:
|
||||
|
||||
action:
|
||||
- action: media_player.turn_off
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.girls_room_clock
|
||||
|
||||
@@ -7,7 +7,7 @@ trigger:
|
||||
to: "on"
|
||||
|
||||
- platform: state
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.girls_room_clock
|
||||
to: "idle"
|
||||
for: 00:00:05
|
||||
|
||||
@@ -22,17 +22,17 @@ action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.girls_room_clock
|
||||
state: "playing"
|
||||
sequence:
|
||||
- action: media_player.media_stop
|
||||
target:
|
||||
entity_id: media_player.ma_girls_room_hub
|
||||
entity_id: media_player.girls_room_clock
|
||||
|
||||
- action: script.search_and_play_playlist
|
||||
- action: music_assistant.play_media
|
||||
target:
|
||||
entity_id: media_player.ma_girls_room_clock
|
||||
data:
|
||||
speaker: media_player.ma_girls_room_hub
|
||||
search_term: Clever Kids Goodnight Songs
|
||||
volume: 0.25
|
||||
repeat: all
|
||||
shuffle: false
|
||||
media_type: playlist
|
||||
media_id: library://playlist/36
|
||||
enqueue: replace
|
||||
@@ -26,7 +26,7 @@ trigger:
|
||||
|
||||
# - platform: state
|
||||
# id: motion
|
||||
# entity_id: group.great_room_motion
|
||||
# entity_id: binary_sensor.great_room_motion
|
||||
# to: "on"
|
||||
|
||||
condition:
|
||||
|
||||
@@ -62,7 +62,7 @@ action:
|
||||
- condition: state
|
||||
entity_id: input_select.kitchen_mode
|
||||
state: "Manual"
|
||||
- "{{ states('sensor.bar_light_level') | float(default=0) >= states('input_number.kitchen_light_level_trigger') | float(default=0) }}"
|
||||
- "{{ states('sensor.bar_hue_motion_sensor_illuminance') | float(default=0) >= states('input_number.kitchen_light_level_trigger') | float(default=0) }}"
|
||||
sequence:
|
||||
- action: scene.turn_on
|
||||
data:
|
||||
|
||||
@@ -26,7 +26,7 @@ trigger:
|
||||
|
||||
# - platform: state
|
||||
# id: motion
|
||||
# entity_id: group.kitchen_motion
|
||||
# entity_id: binary_sensor.kitchen_motion
|
||||
# to: "on"
|
||||
|
||||
condition:
|
||||
|
||||
@@ -18,7 +18,7 @@ triggers:
|
||||
|
||||
- trigger: state
|
||||
id: motion_off
|
||||
entity_id: binary_sensor.mancave_motion_switch_home_security_motion_detection
|
||||
entity_id: binary_sensor.mancave_motion_switch_motion_detection
|
||||
to: "off"
|
||||
for: "00:15:00"
|
||||
|
||||
@@ -38,7 +38,7 @@ action:
|
||||
- condition: trigger
|
||||
id: "door_closed"
|
||||
- condition: state
|
||||
entity_id: binary_sensor.mancave_motion_switch_home_security_motion_detection
|
||||
entity_id: binary_sensor.mancave_motion_switch_motion_detection
|
||||
state: "off"
|
||||
- condition: state
|
||||
entity_id: light.mancave
|
||||
|
||||
@@ -7,7 +7,7 @@ trigger:
|
||||
entity_id: input_select.master_bathroom_mode
|
||||
|
||||
- platform: state
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
to: "off"
|
||||
|
||||
#- platform: time_pattern
|
||||
@@ -26,7 +26,7 @@ condition:
|
||||
entity_id: input_select.master_bathroom_mode
|
||||
state: "Off"
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
state: "off"
|
||||
action:
|
||||
- choose:
|
||||
@@ -40,7 +40,7 @@ action:
|
||||
entity_id: input_select.master_bathroom_mode
|
||||
state: "Off"
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
state: "off"
|
||||
- condition: not
|
||||
conditions:
|
||||
@@ -62,4 +62,4 @@ action:
|
||||
- alias: "Turn off z-wave switch since all lights are off"
|
||||
action: homeassistant.turn_off
|
||||
target:
|
||||
entity_id: switch.master_bathroom_motion_switch, switch.shower_switch
|
||||
entity_id: switch.master_bathroom_motion_switch, switch.master_bathroom_switch
|
||||
|
||||
@@ -10,7 +10,7 @@ trigger:
|
||||
- input_select.master_bathroom_mode
|
||||
- input_select.automatic_light_profile
|
||||
- platform: state
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
to: "on"
|
||||
|
||||
# Only turn on the lights when necessary
|
||||
@@ -19,7 +19,7 @@ condition:
|
||||
conditions:
|
||||
# Either when motion is detected
|
||||
- condition: template
|
||||
value_template: "{{ trigger.entity_id == 'input_boolean.master_bathroom_occupied' }}"
|
||||
value_template: "{{ trigger.entity_id == 'input_boolean.bathroom_occupied' }}"
|
||||
# Or when the scene changes while the lights are already on
|
||||
- condition: and
|
||||
conditions:
|
||||
@@ -30,7 +30,7 @@ condition:
|
||||
- condition: template
|
||||
value_template: "{{ trigger.entity_id == 'input_select.automatic_light_profile' }}"
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
state: "on"
|
||||
|
||||
variables:
|
||||
@@ -44,7 +44,7 @@ action:
|
||||
target:
|
||||
entity_id:
|
||||
- switch.master_bathroom_motion_switch
|
||||
- switch.shower_switch
|
||||
- switch.master_bathroom_switch
|
||||
- choose:
|
||||
- alias: "If the room is set to manual, just turn the lights on"
|
||||
conditions:
|
||||
|
||||
@@ -10,7 +10,7 @@ trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- input_boolean.home_occupied
|
||||
- binary_sensor.master_bathroom_occupied
|
||||
- binary_sensor.bathroom_occupied
|
||||
to: "off"
|
||||
for: "00:10:00"
|
||||
|
||||
@@ -26,10 +26,10 @@ condition:
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
state: "on"
|
||||
- condition: state
|
||||
entity_id: binary_sensor.master_bathroom_occupied
|
||||
entity_id: binary_sensor.bathroom_occupied
|
||||
state: "off"
|
||||
for: "00:10:00"
|
||||
|
||||
@@ -41,7 +41,7 @@ action:
|
||||
state: "off"
|
||||
sequence:
|
||||
- action: homeassistant.turn_off
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
- conditions:
|
||||
- condition: not
|
||||
conditions:
|
||||
@@ -50,4 +50,4 @@ action:
|
||||
state: "Manual"
|
||||
sequence:
|
||||
- action: homeassistant.turn_off
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
|
||||
@@ -5,14 +5,14 @@ mode: restart
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- binary_sensor.master_bathroom_occupied
|
||||
- binary_sensor.bathroom_occupied
|
||||
to: "on"
|
||||
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
state: "off"
|
||||
|
||||
action:
|
||||
- action: input_boolean.turn_on
|
||||
entity_id: input_boolean.master_bathroom_occupied
|
||||
entity_id: input_boolean.bathroom_occupied
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
alias: Continue White Noise
|
||||
id: automation_continue_white_noise
|
||||
initial_state: "on"
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: media_player.ma_home_assistant_voice_097b44_media_player
|
||||
to: "off"
|
||||
for: "00:00:02"
|
||||
- platform: state
|
||||
entity_id: media_player.ma_home_assistant_voice_097b44_media_player
|
||||
to: "idle"
|
||||
for: "00:00:02"
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bedroom_asleep
|
||||
state: "on"
|
||||
|
||||
action:
|
||||
#- action: input_select.select_option
|
||||
# data:
|
||||
# entity_id: input_select.master_bedroom_mode
|
||||
# option: 'Off'
|
||||
- action: input_select.select_option
|
||||
data:
|
||||
entity_id: input_select.google_home
|
||||
option: "Master Bedroom"
|
||||
- action: input_select.select_option
|
||||
data:
|
||||
entity_id: input_select.ambient_sound
|
||||
option: "Thunderstorm"
|
||||
- action: input_number.set_value
|
||||
data:
|
||||
entity_id: input_number.volume_ambientsounds
|
||||
value: "0.3"
|
||||
- action: script.ambientsounds
|
||||
@@ -4,7 +4,7 @@ initial_state: "off"
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.pixel_7_charger_type
|
||||
entity_id: sensor.pixel_10_pro_charger_type
|
||||
to: "wireless"
|
||||
|
||||
- platform: state
|
||||
@@ -37,7 +37,7 @@ condition:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_charger_type
|
||||
entity_id: sensor.pixel_10_pro_charger_type
|
||||
state: "wireless"
|
||||
- condition: state
|
||||
entity_id: binary_sensor.bed_presence_c175a4_bed_occupied_either
|
||||
|
||||
@@ -9,7 +9,7 @@ trigger:
|
||||
entity_id: input_select.master_bedroom_mode
|
||||
|
||||
- platform: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
to: "off"
|
||||
|
||||
- platform: state
|
||||
@@ -48,7 +48,7 @@ condition:
|
||||
entity_id: input_select.master_bedroom_mode
|
||||
state: "Off"
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "off"
|
||||
- condition: state
|
||||
entity_id: input_select.master_bedroom_mode
|
||||
@@ -66,7 +66,7 @@ action:
|
||||
entity_id: input_select.master_bedroom_mode
|
||||
state: "Off"
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "off"
|
||||
- condition: not
|
||||
conditions:
|
||||
|
||||
@@ -18,17 +18,19 @@ trigger:
|
||||
to: "off"
|
||||
|
||||
- platform: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
to: "on"
|
||||
|
||||
- platform: state
|
||||
id: occupied
|
||||
entity_id: binary_sensor.master_bedroom_occupied
|
||||
entity_id:
|
||||
- binary_sensor.bedroom_occupied
|
||||
- input_boolean.bedroom_occupied
|
||||
to: "on"
|
||||
|
||||
# - platform: state
|
||||
# id: motion
|
||||
# entity_id: group.master_bedroom_motion
|
||||
# entity_id: binary_sensor.master_bedroom_motion
|
||||
# to: "on"
|
||||
|
||||
condition:
|
||||
@@ -73,7 +75,7 @@ condition:
|
||||
- condition: trigger
|
||||
id: "mode_change"
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "on"
|
||||
|
||||
variables:
|
||||
@@ -87,6 +89,29 @@ action:
|
||||
action: homeassistant.turn_on
|
||||
target:
|
||||
entity_id: "{{ switch_name }}"
|
||||
|
||||
- choose:
|
||||
- alias: "If the room is set to adaptive, turn all adaptive switches on "
|
||||
conditions:
|
||||
- alias: "Room set to adaptive"
|
||||
condition: state
|
||||
entity_id: input_select.master_bedroom_mode
|
||||
state: Adaptive
|
||||
sequence:
|
||||
- action: switch.turn_on
|
||||
target:
|
||||
entity_id:
|
||||
- switch.adaptive_lighting_bedroom
|
||||
- switch.adaptive_lighting_adapt_brightness_bedroom
|
||||
- switch.adaptive_lighting_adapt_color_bedroom
|
||||
default:
|
||||
- action: switch.turn_off
|
||||
target:
|
||||
entity_id:
|
||||
- switch.adaptive_lighting_bedroom
|
||||
- switch.adaptive_lighting_adapt_brightness_bedroom
|
||||
- switch.adaptive_lighting_adapt_color_bedroom
|
||||
|
||||
- choose:
|
||||
- alias: "If the room is set to manual, just turn the lights on"
|
||||
conditions:
|
||||
|
||||
@@ -10,7 +10,7 @@ trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- input_boolean.home_occupied
|
||||
- binary_sensor.master_bedroom_occupied
|
||||
- binary_sensor.bedroom_occupied
|
||||
to: "off"
|
||||
for: "00:05:00"
|
||||
|
||||
@@ -29,7 +29,7 @@ condition:
|
||||
- "unavailable"
|
||||
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "on"
|
||||
|
||||
- condition: or
|
||||
@@ -45,7 +45,7 @@ condition:
|
||||
for:
|
||||
minutes: 5
|
||||
- condition: state
|
||||
entity_id: binary_sensor.master_bedroom_occupied
|
||||
entity_id: binary_sensor.bedroom_occupied
|
||||
state: "off"
|
||||
for:
|
||||
minutes: 5
|
||||
@@ -57,7 +57,7 @@ action:
|
||||
state: "off"
|
||||
sequence:
|
||||
- action: homeassistant.turn_off
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
- conditions:
|
||||
- condition: not
|
||||
conditions:
|
||||
@@ -66,4 +66,4 @@ action:
|
||||
state: "Manual"
|
||||
sequence:
|
||||
- action: homeassistant.turn_off
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
|
||||
@@ -5,14 +5,14 @@ mode: restart
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- binary_sensor.master_bedroom_occupied
|
||||
- binary_sensor.bedroom_occupied
|
||||
to: "on"
|
||||
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "off"
|
||||
|
||||
action:
|
||||
- action: input_boolean.turn_on
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
|
||||
@@ -10,4 +10,9 @@ action:
|
||||
- action: media_player.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id: media_player.ma_home_assistant_voice_097b44_media_player
|
||||
entity_id: media_player.ma_bedroom_hub
|
||||
|
||||
- action: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.adaptive_lighting_sleep_mode_bedroom
|
||||
@@ -7,10 +7,15 @@ trigger:
|
||||
to: "on"
|
||||
|
||||
action:
|
||||
- action: script.search_and_play_playlist
|
||||
- action: music_assistant.play_media
|
||||
target:
|
||||
entity_id: media_player.ma_bedroom_hub
|
||||
data:
|
||||
speaker: media_player.ma_master_bedroom_clock
|
||||
search_term: CleverThunderstorm
|
||||
volume: 0.25
|
||||
repeat: all
|
||||
shuffle: false
|
||||
media_type: playlist
|
||||
media_id: library://playlist/34
|
||||
enqueue: replace
|
||||
|
||||
- action: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.adaptive_lighting_sleep_mode_bedroom
|
||||
|
||||
@@ -56,7 +56,7 @@ triggers:
|
||||
entity_id: input_boolean.girls_room_occupied
|
||||
|
||||
- trigger: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
|
||||
- trigger: state
|
||||
entity_id: input_boolean.girls_room_asleep
|
||||
@@ -210,7 +210,7 @@ action:
|
||||
- conditions:
|
||||
- alias: "Master Bedroom not occupied"
|
||||
condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "off"
|
||||
- alias: "Master Bedroom not asleep"
|
||||
condition: state
|
||||
@@ -248,7 +248,7 @@ action:
|
||||
- conditions:
|
||||
- alias: "Master Bedroom is occupied"
|
||||
condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "on"
|
||||
- alias: "Master Bedroom above high"
|
||||
condition: template
|
||||
@@ -265,7 +265,7 @@ action:
|
||||
- conditions:
|
||||
- alias: "Master Bedroom is occupied"
|
||||
condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "on"
|
||||
- alias: "Master Bedroom above medium"
|
||||
condition: template
|
||||
@@ -282,7 +282,7 @@ action:
|
||||
- conditions:
|
||||
- alias: "Master Bedroom is occupied"
|
||||
condition: state
|
||||
entity_id: input_boolean.master_bedroom_occupied
|
||||
entity_id: input_boolean.bedroom_occupied
|
||||
state: "on"
|
||||
- alias: "Master Bedroom above low"
|
||||
condition: template
|
||||
|
||||
@@ -1,102 +1,102 @@
|
||||
alias: Dishwasher Done
|
||||
id: dishwashwer_done
|
||||
description: "Dishwasher just finished"
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.empty_dishwasher
|
||||
from: "off"
|
||||
to: "on"
|
||||
# alias: Dishwasher Done
|
||||
# id: dishwashwer_done
|
||||
# description: "Dishwasher just finished"
|
||||
# trigger:
|
||||
# - platform: state
|
||||
# entity_id: input_boolean.empty_dishwasher
|
||||
# from: "off"
|
||||
# to: "on"
|
||||
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
# - platform: homeassistant
|
||||
# event: start
|
||||
|
||||
condition:
|
||||
- alias: "The home is occupied"
|
||||
condition: state
|
||||
entity_id: input_boolean.home_occupied
|
||||
state: "on"
|
||||
# condition:
|
||||
# - alias: "The home is occupied"
|
||||
# condition: state
|
||||
# entity_id: input_boolean.home_occupied
|
||||
# state: "on"
|
||||
|
||||
- alias: "Its not bedtime"
|
||||
condition: state
|
||||
entity_id: input_boolean.bedtime
|
||||
state: "off"
|
||||
# - alias: "Its not bedtime"
|
||||
# condition: state
|
||||
# entity_id: input_boolean.bedtime
|
||||
# state: "off"
|
||||
|
||||
action:
|
||||
- repeat:
|
||||
while: "{{ is_state('input_boolean.empty_dishwasher','on') }}"
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.allow_announcements
|
||||
state: "on"
|
||||
# action:
|
||||
# - repeat:
|
||||
# while: "{{ is_state('input_boolean.empty_dishwasher','on') }}"
|
||||
# sequence:
|
||||
# - choose:
|
||||
# - conditions:
|
||||
# - condition: state
|
||||
# entity_id: input_boolean.allow_announcements
|
||||
# state: "on"
|
||||
|
||||
- condition: not
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_audio_mode
|
||||
state: in_communication
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_audio_mode
|
||||
state: in_call
|
||||
- condition: state
|
||||
entity_id: input_boolean.kids_bedtime
|
||||
state: "on"
|
||||
# - condition: state
|
||||
# entity_id: input_boolean.announcement_pending
|
||||
# state: 'on'
|
||||
# - condition: not
|
||||
# conditions:
|
||||
# - condition: state
|
||||
# entity_id: sensor.pixel_7_audio_mode
|
||||
# state: in_communication
|
||||
# - condition: state
|
||||
# entity_id: sensor.pixel_7_audio_mode
|
||||
# state: in_call
|
||||
# - condition: state
|
||||
# entity_id: input_boolean.kids_bedtime
|
||||
# state: "on"
|
||||
# # - condition: state
|
||||
# # entity_id: input_boolean.announcement_pending
|
||||
# # state: 'on'
|
||||
|
||||
sequence:
|
||||
- action: input_boolean.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_dishwasher_done
|
||||
- action: input_boolean.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_dishwasher_done
|
||||
# - input_boolean.announcement_pending
|
||||
# sequence:
|
||||
# - action: input_boolean.turn_off
|
||||
# data: {}
|
||||
# target:
|
||||
# entity_id:
|
||||
# - input_boolean.announce_dishwasher_done
|
||||
# - action: input_boolean.turn_on
|
||||
# data: {}
|
||||
# target:
|
||||
# entity_id:
|
||||
# - input_boolean.announce_dishwasher_done
|
||||
# # - input_boolean.announcement_pending
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- "{{is_state('binary_sensor.dreambox_recently_active','on') }}"
|
||||
# - choose:
|
||||
# - conditions:
|
||||
# - "{{is_state('binary_sensor.dreambox_recently_active','on') }}"
|
||||
|
||||
sequence:
|
||||
- action: notify.dreambox
|
||||
data:
|
||||
message: The dishwasher is done
|
||||
# sequence:
|
||||
# - action: notify.dreambox
|
||||
# data:
|
||||
# message: The dishwasher is done
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- "{{is_state('binary_sensor.dreamsurface_recently_active','on') }}"
|
||||
# - choose:
|
||||
# - conditions:
|
||||
# - "{{is_state('binary_sensor.dreamsurface_recently_active','on') }}"
|
||||
|
||||
sequence:
|
||||
- action: notify.dreamsurface
|
||||
data:
|
||||
message: The dishwasher is done
|
||||
# sequence:
|
||||
# - action: notify.dreamsurface
|
||||
# data:
|
||||
# message: The dishwasher is done
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.clint_home
|
||||
state: "off"
|
||||
# - choose:
|
||||
# - conditions:
|
||||
# - condition: state
|
||||
# entity_id: input_boolean.clint_home
|
||||
# state: "off"
|
||||
|
||||
sequence:
|
||||
- action: notify.mobile_app_pixel_7
|
||||
data:
|
||||
message: The dishwasher is done
|
||||
data:
|
||||
tag: "dishwasher-complete"
|
||||
notification_icon: mdi:dishwasher-alert
|
||||
channel: Appliance
|
||||
# sequence:
|
||||
# - action: notify.mobile_app_pixel_10_pro
|
||||
# data:
|
||||
# message: The dishwasher is done
|
||||
# data:
|
||||
# tag: "dishwasher-complete"
|
||||
# notification_icon: mdi:dishwasher-alert
|
||||
# channel: Appliance
|
||||
|
||||
- delay:
|
||||
minutes: 30
|
||||
# - delay:
|
||||
# minutes: 30
|
||||
|
||||
- action: input_boolean.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_dishwasher_done
|
||||
# - action: input_boolean.turn_off
|
||||
# data: {}
|
||||
# target:
|
||||
# entity_id:
|
||||
# - input_boolean.announce_dishwasher_done
|
||||
|
||||
@@ -14,6 +14,12 @@ trigger:
|
||||
from: "on"
|
||||
to: "off"
|
||||
|
||||
- platform: state
|
||||
id: evening
|
||||
entity_id: binary_sensor.evening
|
||||
from: "off"
|
||||
to: "on"
|
||||
|
||||
# condition:
|
||||
# - alias: "The home is occupied"
|
||||
# condition: state
|
||||
@@ -46,3 +52,13 @@ action:
|
||||
data: {}
|
||||
target:
|
||||
entity_id: button.dreamsurface_normal_brightness
|
||||
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: evening
|
||||
|
||||
sequence:
|
||||
- action: button.press
|
||||
data: {}
|
||||
target:
|
||||
entity_id: button.dreamsurface_dim_brightness
|
||||
|
||||
@@ -7,7 +7,7 @@ max_exceeded: silent
|
||||
variables:
|
||||
# Map scanner device ID to media player entity ID
|
||||
sources:
|
||||
299e280bcc3579ca9b3ef714677dbf9b: girls_room_hub
|
||||
299e280bcc3579ca9b3ef714677dbf9b: girls_room_clock
|
||||
75060fd1afdd90be: upstairs_speakers
|
||||
# Map tag ID to content
|
||||
tags:
|
||||
|
||||
@@ -8,7 +8,7 @@ max_exceeded: silent
|
||||
variables:
|
||||
# Map scanner device ID to media player entity ID
|
||||
sources:
|
||||
299e280bcc3579ca9b3ef714677dbf9b: girls_room_hub
|
||||
299e280bcc3579ca9b3ef714677dbf9b: girls_room_clock
|
||||
75060fd1afdd90be: front_room_hub
|
||||
# Map tag ID to content
|
||||
tags:
|
||||
|
||||
@@ -7,7 +7,7 @@ max_exceeded: silent
|
||||
variables:
|
||||
# Map scanner device ID to media player entity ID
|
||||
devices:
|
||||
299e280bcc3579ca9b3ef714677dbf9b: media_player.girls_room_hub
|
||||
299e280bcc3579ca9b3ef714677dbf9b: media_player.girls_room_clock
|
||||
|
||||
# Map tag ID to content
|
||||
tags:
|
||||
|
||||
@@ -55,7 +55,7 @@ action:
|
||||
state: "off"
|
||||
|
||||
sequence:
|
||||
- action: notify.mobile_app_pixel_7
|
||||
- action: notify.mobile_app_pixel_10_pro
|
||||
data:
|
||||
message: The kitchen fridge has been open for too long!
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@ id: automation_new_mail
|
||||
trigger:
|
||||
- id: new_mail
|
||||
platform: numeric_state
|
||||
entity_id: sensor.mail_usps_mail
|
||||
entity_id: sensor.imap_gmail_com_mail_usps_mail
|
||||
above: 0
|
||||
|
||||
- id: no_mail
|
||||
platform: numeric_state
|
||||
entity_id: sensor.mail_usps_mail
|
||||
entity_id: sensor.imap_gmail_com_mail_usps_mail
|
||||
below: 1
|
||||
|
||||
- platform: homeassistant
|
||||
@@ -24,7 +24,7 @@ action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.mail_usps_mail
|
||||
entity_id: sensor.imap_gmail_com_mail_usps_mail
|
||||
above: 0
|
||||
|
||||
sequence:
|
||||
@@ -34,7 +34,7 @@ action:
|
||||
|
||||
- conditions:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.mail_usps_mail
|
||||
entity_id: sensor.imap_gmail_com_mail_usps_mail
|
||||
below: 1
|
||||
|
||||
sequence:
|
||||
|
||||
@@ -20,8 +20,29 @@ action:
|
||||
target:
|
||||
entity_id: climate.thermostat
|
||||
|
||||
- action: climate.set_preset_mode
|
||||
target:
|
||||
entity_id: climate.thermostat
|
||||
data:
|
||||
preset_mode: "auto"
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.home_occupied
|
||||
state: "on"
|
||||
|
||||
sequence:
|
||||
- action: climate.set_preset_mode
|
||||
target:
|
||||
entity_id: climate.thermostat
|
||||
data:
|
||||
preset_mode: "home"
|
||||
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.home_occupied
|
||||
state: "off"
|
||||
|
||||
sequence:
|
||||
- action: climate.set_preset_mode
|
||||
target:
|
||||
entity_id: climate.thermostat
|
||||
data:
|
||||
preset_mode: "away"
|
||||
|
||||
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
alias: Tumble Dryer Done
|
||||
id: tumble_dryer_done
|
||||
description: "Dryer just finished"
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.fold_clothes
|
||||
from: "off"
|
||||
to: "on"
|
||||
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
|
||||
condition:
|
||||
- alias: "The home is occupied"
|
||||
condition: state
|
||||
entity_id: input_boolean.home_occupied
|
||||
state: "on"
|
||||
|
||||
- alias: "Its not bedtime"
|
||||
condition: state
|
||||
entity_id: input_boolean.bedtime
|
||||
state: "off"
|
||||
|
||||
- condition: state
|
||||
entity_id: input_boolean.allow_announcements
|
||||
state: "on"
|
||||
|
||||
action:
|
||||
- repeat:
|
||||
while: "{{ is_state('input_boolean.fold_clothes','on') }}"
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.clint_home
|
||||
state: "on"
|
||||
- condition: state
|
||||
entity_id: binary_sensor.utility_room_occupied
|
||||
state: "off"
|
||||
- condition: not
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_audio_mode
|
||||
state: in_communication
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_audio_mode
|
||||
state: in_call
|
||||
- condition: state
|
||||
entity_id: input_boolean.kids_bedtime
|
||||
state: "on"
|
||||
- condition: state
|
||||
entity_id: input_boolean.bedtime
|
||||
state: "on"
|
||||
# - condition: state
|
||||
# entity_id: input_boolean.announcement_pending
|
||||
# state: 'on'
|
||||
|
||||
sequence:
|
||||
- action: input_boolean.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_dryer_done
|
||||
- action: input_boolean.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_dryer_done
|
||||
# - input_boolean.announcement_pending
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- "{{ is_state('binary_sensor.dreambox_recently_active','on') }}"
|
||||
|
||||
sequence:
|
||||
- action: notify.dreambox
|
||||
data:
|
||||
message: The dryer is done
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- "{{ is_state('binary_sensor.dreamsurface_recently_active','on') }}"
|
||||
|
||||
sequence:
|
||||
- action: notify.dreamsurface
|
||||
data:
|
||||
message: The dryer is done
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.clint_home
|
||||
state: "off"
|
||||
|
||||
sequence:
|
||||
- action: notify.mobile_app_pixel_7
|
||||
data:
|
||||
message: The dryer is done
|
||||
data:
|
||||
tag: "dryer-complete"
|
||||
notification_icon: mdi:tumble-dryer-alert
|
||||
channel: Appliance
|
||||
|
||||
- delay:
|
||||
minutes: 15
|
||||
|
||||
- action: input_boolean.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_dryer_done
|
||||
@@ -1,111 +0,0 @@
|
||||
alias: Washing Machine Done
|
||||
id: washing_machine_done
|
||||
description: "Washing machine just finished"
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.swap_laundry
|
||||
from: "off"
|
||||
to: "on"
|
||||
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
|
||||
condition:
|
||||
- alias: "The home is occupied"
|
||||
condition: state
|
||||
entity_id: input_boolean.home_occupied
|
||||
state: "on"
|
||||
|
||||
- alias: "Its not bedtime"
|
||||
condition: state
|
||||
entity_id: input_boolean.bedtime
|
||||
state: "off"
|
||||
|
||||
- condition: state
|
||||
entity_id: input_boolean.allow_announcements
|
||||
state: "on"
|
||||
|
||||
action:
|
||||
- repeat:
|
||||
while: "{{ is_state('input_boolean.swap_laundry','on') }}"
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.clint_home
|
||||
state: "on"
|
||||
- condition: state
|
||||
entity_id: binary_sensor.utility_room_occupied
|
||||
state: "off"
|
||||
- condition: not
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_audio_mode
|
||||
state: in_communication
|
||||
- condition: state
|
||||
entity_id: sensor.pixel_7_audio_mode
|
||||
state: in_call
|
||||
- condition: state
|
||||
entity_id: input_boolean.kids_bedtime
|
||||
state: "on"
|
||||
- condition: state
|
||||
entity_id: input_boolean.bedtime
|
||||
state: "on"
|
||||
# - condition: state
|
||||
# entity_id: input_boolean.announcement_pending
|
||||
# state: 'on'
|
||||
|
||||
sequence:
|
||||
- action: input_boolean.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_washing_machine_done
|
||||
- action: input_boolean.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_washing_machine_done
|
||||
# - input_boolean.announcement_pending
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- "{{is_state('binary_sensor.dreambox_recently_active','on') }}"
|
||||
|
||||
sequence:
|
||||
- action: notify.dreambox
|
||||
data:
|
||||
message: The washing machine is done
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- "{{is_state('binary_sensor.dreamsurface_recently_active','on') }}"
|
||||
|
||||
sequence:
|
||||
- action: notify.dreamsurface
|
||||
data:
|
||||
message: The washing machine is done
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.clint_home
|
||||
state: "off"
|
||||
|
||||
sequence:
|
||||
- action: notify.mobile_app_pixel_7
|
||||
data:
|
||||
message: The washing machine is done
|
||||
data:
|
||||
tag: "washing-machine-complete"
|
||||
notification_icon: mdi:washing-machine-alert
|
||||
channel: Appliance
|
||||
|
||||
- delay:
|
||||
minutes: 15
|
||||
|
||||
- action: input_boolean.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- input_boolean.announce_washing_machine_done
|
||||
@@ -0,0 +1,442 @@
|
||||
blueprint:
|
||||
name: Party Lights
|
||||
author: AntonH
|
||||
homeassistant:
|
||||
min_version: 2024.10.0
|
||||
description: '**Version 3.2**
|
||||
|
||||
|
||||
Lights go to party mode (color loops or fade-in-and-out)
|
||||
|
||||
|
||||
⚠️ **NOTE:** ⚠️
|
||||
|
||||
*This automation is triggered by the status of a switch or an input_boolean entity.*
|
||||
|
||||
*You can create this input_boolean by going to Settings > Devices & services >
|
||||
Helpers*
|
||||
|
||||
*There you click on ''Create helper and choose ''Toggle''.*
|
||||
|
||||
'
|
||||
source_url: https://gist.github.com/Twanne/fe33ab8466f9a4e94b3f8e21f745a377
|
||||
domain: automation
|
||||
input:
|
||||
party_mode_trigger:
|
||||
name: Party mode trigger
|
||||
description: "The trigger you want to use to turn the party mode on.\nThe automation
|
||||
will keep running until this is turned off.\nSupported entity types:\n -
|
||||
input_boolean\n - switch\n"
|
||||
default: []
|
||||
selector:
|
||||
entity:
|
||||
filter:
|
||||
- domain:
|
||||
- input_boolean
|
||||
- switch
|
||||
reorder: false
|
||||
multiple: false
|
||||
target_lights:
|
||||
name: Target lights
|
||||
description: Which lights do you want to control?
|
||||
selector:
|
||||
entity:
|
||||
multiple: true
|
||||
filter:
|
||||
- domain:
|
||||
- light
|
||||
reorder: false
|
||||
input_sync_lights:
|
||||
name: Synchronize lights
|
||||
description: 'If more than 1 target light is selected, choose if they will all
|
||||
change to the same state or if they each get their own random values.
|
||||
|
||||
`ℹ️ Light groups will be seen an a single entity.`
|
||||
|
||||
'
|
||||
default: true
|
||||
selector:
|
||||
boolean: {}
|
||||
time_between_changes:
|
||||
name: Time between changes
|
||||
description: Change the lights setting after this duration
|
||||
default:
|
||||
hours: 0
|
||||
minutes: 0
|
||||
seconds: 0
|
||||
milliseconds: 0
|
||||
selector:
|
||||
duration:
|
||||
enable_millisecond: true
|
||||
transition_time:
|
||||
name: Transition time
|
||||
description: 'The time it takes for the light to transition to the assigned
|
||||
value when it''s triggered.
|
||||
|
||||
`⚠️ This value should not be greater than the time between changes!`
|
||||
|
||||
'
|
||||
default: 0
|
||||
selector:
|
||||
number:
|
||||
min: 0.0
|
||||
max: 300.0
|
||||
step: 1.0
|
||||
unit_of_measurement: s
|
||||
mode: slider
|
||||
color_mode:
|
||||
name: Color mode
|
||||
description: "Select how the lights need to change\n \n 1. ⬛ **NO COLOR CHANGE:**\n
|
||||
\ Don't change colors.\n 2. \U0001F500 **RANDOM COLOR MODE:**\n Change all
|
||||
RGB values randomly.\n 3. \U0001F308 **SATURATED COLOR MODE**\n Random,
|
||||
but deeply saturated, colors only.\n 4. \U0001F384 **CHRISTMAS COLORS:**\n
|
||||
\ Change only between Christmas colors.\n 5. \U0001F6A8 **POLICE LIGHTS**\n
|
||||
\ Change between red and blue.\n `⚠️ Lights will be synchronized!`\n 6.
|
||||
\U0001F7E5 **REDS ONLY MODE:**\n Change only red value randomly.\n 7. \U0001F7E9
|
||||
**GREENS ONLY MODE:**\n Change only green value randomly.\n 8. \U0001F7E6
|
||||
**BLUES ONLY MODE:**\n Change only blue value randomly.\n 9. \U0001F7E6
|
||||
**TEALS ONLY MODE:**\n Change only teal shades randomly.\n 10. \U0001F338
|
||||
**PINKS ONLY MODE:**\n Change only pink shades randomly.\n 11. \U0001F7E8
|
||||
**YELLOWS ONLY MODE:**\n Change only yellow shades randomly.\n"
|
||||
default: no_color_change
|
||||
selector:
|
||||
select:
|
||||
mode: dropdown
|
||||
options:
|
||||
- label: NO COLOR CHANGE
|
||||
value: no_color_change
|
||||
- label: RANDOM COLOR MODE
|
||||
value: random
|
||||
- label: SATURATED COLOR MODE
|
||||
value: deep
|
||||
- label: CHRISTMAS COLORS
|
||||
value: christmas
|
||||
- label: POLICE LIGHTS
|
||||
value: police
|
||||
- label: REDS ONLY MODE
|
||||
value: red
|
||||
- label: GREENS ONLY MODE
|
||||
value: green
|
||||
- label: BLUES ONLY MODE
|
||||
value: blue
|
||||
- label: TEALS ONLY MODE
|
||||
value: teal
|
||||
- label: PINKS ONLY MODE
|
||||
value: pink
|
||||
- label: YELLOWS ONLY MODE
|
||||
value: yellow
|
||||
multiple: false
|
||||
custom_value: false
|
||||
sort: false
|
||||
brightness_mode:
|
||||
name: Brightness mode
|
||||
description: "Select how the lights need to change\n 1. **RANDOM BRIGHTNESS:**\n
|
||||
\ Change the brightness randomly within a set range\n \n 2. **FIXED BRIGHTNESS:**\n
|
||||
\ Keep the light at a user defined brightness\n"
|
||||
default: random
|
||||
selector:
|
||||
select:
|
||||
mode: dropdown
|
||||
options:
|
||||
- label: RANDOM BRIGHTNESS
|
||||
value: random
|
||||
- label: FIXED BRIGHTNESS
|
||||
value: fixed
|
||||
multiple: false
|
||||
custom_value: false
|
||||
sort: false
|
||||
random_brightness_section:
|
||||
name: Settings for RANDOM BRIGHTNESS
|
||||
icon: mdi:brightness-auto
|
||||
collapsed: true
|
||||
input:
|
||||
min_brightness_pct:
|
||||
name: Minimum brightness (RANDOM BRIGHTNESS MODE)
|
||||
description: Don't set the brightness of the light below this value
|
||||
default: 0
|
||||
selector:
|
||||
number:
|
||||
min: 0.0
|
||||
max: 100.0
|
||||
step: 1.0
|
||||
mode: slider
|
||||
unit_of_measurement: '%'
|
||||
max_brightness_pct:
|
||||
name: Maximum brightness (RANDOM BRIGHTNESS MODE)
|
||||
description: Don't set the brightness of the light above this value
|
||||
default: 100
|
||||
selector:
|
||||
number:
|
||||
min: 0.0
|
||||
max: 100.0
|
||||
step: 1.0
|
||||
mode: slider
|
||||
unit_of_measurement: '%'
|
||||
fixed_brightness_section:
|
||||
name: Settings for FIXED BRIGHTNESS
|
||||
icon: mdi:brightness-percent
|
||||
collapsed: true
|
||||
input:
|
||||
fixed_brightness_pct:
|
||||
name: Brightness (FIXED BRIGHTNESS MODE)
|
||||
description: Keep the light at this percentage (color changes might affect
|
||||
this somewhat)
|
||||
default: 0
|
||||
selector:
|
||||
number:
|
||||
min: 0.0
|
||||
max: 100.0
|
||||
step: 1.0
|
||||
mode: slider
|
||||
unit_of_measurement: '%'
|
||||
light_effects_section:
|
||||
name: Light Effects
|
||||
icon: mdi:creation-outline
|
||||
collapsed: true
|
||||
input:
|
||||
light_effect:
|
||||
name: Effects (All modes)
|
||||
description: 'Which light effect do you want to run?
|
||||
|
||||
`ℹ️ Recommended to set the time between changes long enough for the effects
|
||||
to loop at least once.`
|
||||
|
||||
'
|
||||
default: ''
|
||||
selector:
|
||||
text:
|
||||
multiple: false
|
||||
multiline: false
|
||||
turn_off_settings_section:
|
||||
name: Turn off settings
|
||||
icon: mdi:cog-stop-outline
|
||||
collapsed: true
|
||||
input:
|
||||
turn_off_delay:
|
||||
name: Turn off delay
|
||||
description: 'The time to wait before the automation is turned off and the
|
||||
After Party State becomes active.
|
||||
|
||||
'
|
||||
default:
|
||||
hours: 0
|
||||
minutes: 0
|
||||
seconds: 0
|
||||
selector:
|
||||
duration: {}
|
||||
after_party_state:
|
||||
name: After party state
|
||||
description: "What state should the lights have when the party mode is turned
|
||||
off.\n \n 1. **NO CHANGE:**\n Keep the lights in the state they are
|
||||
at the end of the party.\n 2. **TURN OFF:**\n Turn the lights off.\n
|
||||
\ 3. **RETURN TO PREVIOUS STATE:**\n Return the lights to the state they
|
||||
were before the party began.\n 4. **USER DEFINED SCENE:**\n Activate
|
||||
a scene that determines the state of the lights after the party.\n 5.
|
||||
**SCENE THEN OFF**\n Set the lights to a specific setting by activating
|
||||
the user defined scene, then turn them off.\n"
|
||||
default: return_to_previous
|
||||
selector:
|
||||
select:
|
||||
mode: dropdown
|
||||
options:
|
||||
- label: NO CHANGE
|
||||
value: no_change
|
||||
- label: LIGHTS OFF
|
||||
value: lights_off
|
||||
- label: RETURN TO PREVIOUS STATE
|
||||
value: return_to_previous
|
||||
- label: USER DEFINED SCENE
|
||||
value: user_defined_scene
|
||||
- label: SCENE THEN OFF
|
||||
value: scene_then_off
|
||||
multiple: false
|
||||
custom_value: false
|
||||
sort: false
|
||||
after_party_scene:
|
||||
name: After party scene
|
||||
description: 'User defined scene that can be activated after the party mode
|
||||
is turned off.
|
||||
|
||||
'
|
||||
default: []
|
||||
selector:
|
||||
entity:
|
||||
filter:
|
||||
- domain:
|
||||
- scene
|
||||
reorder: false
|
||||
multiple: false
|
||||
mode: restart
|
||||
variables:
|
||||
party_mode_trigger: !input party_mode_trigger
|
||||
target_lights: !input target_lights
|
||||
time_between_changes: !input time_between_changes
|
||||
transition_time: !input transition_time
|
||||
color_mode: !input color_mode
|
||||
brightness_mode: !input brightness_mode
|
||||
min_brightness_pct: !input min_brightness_pct
|
||||
max_brightness_pct: !input max_brightness_pct
|
||||
fixed_brightness_pct: !input fixed_brightness_pct
|
||||
light_effect: !input light_effect
|
||||
after_party_state: !input after_party_state
|
||||
after_party_scene: !input after_party_scene
|
||||
turn_off_delay: !input turn_off_delay
|
||||
input_sync_lights: !input input_sync_lights
|
||||
sync_lights: '{{ true if color_mode == "police" else input_sync_lights }}
|
||||
|
||||
'
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id: !input party_mode_trigger
|
||||
to: 'on'
|
||||
actions:
|
||||
- action: scene.create
|
||||
metadata: {}
|
||||
data:
|
||||
scene_id: before_state
|
||||
snapshot_entities: '{{ target_lights }}'
|
||||
- repeat:
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ sync_lights is true }}'
|
||||
sequence:
|
||||
- variables:
|
||||
brightness_value: "{% if brightness_mode == \"random\" %}\n {{ range(min_brightness_pct,
|
||||
max_brightness_pct) | random }}\n{% else %}\n {{ fixed_brightness_pct
|
||||
}}\n{% endif %}\n"
|
||||
rgb_value: "{% if color_mode == \"random\" %}\n {{ range(256) | random,
|
||||
range(256) | random, range(256) | random }}\n{% elif color_mode == \"deep\"
|
||||
%}\n {% set r = range(256) |random %}\n {% set g = range(256) |random
|
||||
%}\n {% set b = range(256) |random %}\n {# check if all values aren't
|
||||
too high. This will mute the colors as they will go towards white. #}\n
|
||||
\ {% if ( r >= 200 and g >= 200 and b >= 200) %}\n {% set rgb_changer
|
||||
= range(3) | random %}\n \n {% if rgb_changer == 0 %}\n {{
|
||||
(r - 100), g, b }}\n {% elif rgb_changer == 1 %}\n {{ r, (g
|
||||
- 100), b }}\n {% elif rgb_changer == 2 %}\n {{ r, g, (b - 100)
|
||||
}}\n {% endif %} \n \n {# check if all values aren't too close
|
||||
together. This will mute the colors because they will form a grey color.
|
||||
#}\n {% elif ( (r - g)|abs <= 100 and (g - b)|abs <= 100 and (b - r)|abs
|
||||
<= 100 ) %}\n {% set rgb_changer = range(3) | random %}\n {%
|
||||
if rgb_changer == 0 %}\n {{ (r / 2)|int , g, b }}\n {% elif
|
||||
rgb_changer == 1 %}\n {{ r, (g / 2)|int, b }}\n {% elif rgb_changer
|
||||
== 2 %}\n {{ r, g, (b / 2)|int }}\n {% endif %}\n {% else %}\n
|
||||
\ {{ r, g, b }}\n {% endif %}\n{% elif color_mode == \"christmas\"
|
||||
%} \n {% macro random_rgb_component(max) %}\n {{ range(256) | random
|
||||
}}\n {% endmacro %}\n {% macro get_color(color_key) %}\n {% if
|
||||
color_key == 1 %}\n [{{ random_rgb_component(256) }}, 0, 0]\n {%
|
||||
elif color_key == 2 %}\n [0, {{ random_rgb_component(256) }}, 0]\n
|
||||
\ {% elif color_key == 3 %}\n [0, 0, {{ random_rgb_component(256)
|
||||
}}]\n {% elif color_key == 4 %}\n [255, 255, {{ random_rgb_component(50)
|
||||
}}]\n {% endif %}\n {% endmacro %}\n {% set color_key = range(1,
|
||||
5) | random %}\n {% set random_color = get_color(color_key) %}\n {{
|
||||
random_color }} \n{% elif color_mode == \"police\" %}\n {% if state_attr(
|
||||
target_lights[0], 'rgb_color') | string == '(255, 0, 0)' %}\n [ 0,
|
||||
0, 255 ]\n {% else %}\n [ 255, 0, 0 ]\n {% endif %}\n{% elif color_mode
|
||||
== \"red\" %}\n {{ range(256) | random, 0, 0 }}\n{% elif color_mode
|
||||
== \"green\" %}\n {{ 0, range(256) | random, 0 }}\n{% elif color_mode
|
||||
== \"blue\" %}\n {{ 0, 0, range(256) | random }}\n{% elif color_mode
|
||||
== \"teal\" %}\n {{ range(256) | random, 255, 255 }}\n{% elif color_mode
|
||||
== \"pink\" %}\n {{ 255, range(256) | random, 255 }}\n{% elif color_mode
|
||||
== \"yellow\" %}\n {{ 255, 255, range(256) | random }}\n{% else %}\n
|
||||
\ {{ 255, 255, 255 }}\n{% endif %}\n"
|
||||
- action: light.turn_on
|
||||
data: "{% if light_effect == \"\" %}\n {% if color_mode == \"no_color_change\"
|
||||
%}\n {{ { \"transition\": transition_time, \"brightness_pct\": brightness_value
|
||||
} }}\n {% else %}\n {{ { \"transition\": transition_time, \"brightness_pct\":
|
||||
brightness_value, \"rgb_color\": rgb_value } }}\n {% endif %}\n{% else
|
||||
%}\n {% if color_mode == \"no_color_change\" %}\n {{ { \"transition\":
|
||||
transition_time, \"brightness_pct\": brightness_value, \"effect\": light_effect
|
||||
\ } }}\n {% else %}\n {{ { \"transition\": transition_time, \"brightness_pct\":
|
||||
brightness_value, \"rgb_color\": rgb_value, \"effect\": light_effect }
|
||||
}}\n {% endif %}\n{% endif %}\n"
|
||||
target:
|
||||
entity_id: '{{ target_lights }}'
|
||||
- conditions: '{{ sync_lights is false }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
for_each: '{{ target_lights }}'
|
||||
sequence:
|
||||
- variables:
|
||||
brightness_value: "{% if brightness_mode == \"random\" %}\n {{ range(min_brightness_pct,
|
||||
max_brightness_pct) | random }}\n{% else %}\n {{ fixed_brightness_pct
|
||||
}}\n{% endif %}\n"
|
||||
rgb_value: "{% if color_mode == \"random\" %}\n {{ range(256) | random,
|
||||
range(256) | random, range(256) | random }}\n{% elif color_mode
|
||||
== \"deep\" %}\n {% set r = range(256) |random %}\n {% set g =
|
||||
range(256) |random %}\n {% set b = range(256) |random %}\n {#
|
||||
check if all values aren't too high. This will mute the colors as
|
||||
they will go towards white. #}\n {% if ( r >= 200 and g >= 200
|
||||
and b >= 200) %}\n {% set rgb_changer = range(3) | random %}\n
|
||||
\ \n {% if rgb_changer == 0 %}\n {{ (r - 100), g, b }}\n
|
||||
\ {% elif rgb_changer == 1 %}\n {{ r, (g - 100), b }}\n {%
|
||||
elif rgb_changer == 2 %}\n {{ r, g, (b - 100) }}\n {% endif
|
||||
%} \n \n {# check if all values aren't too close together.
|
||||
This will mute the colors because they will form a grey color. #}\n
|
||||
\ {% elif ( (r - g)|abs <= 100 and (g - b)|abs <= 100 and (b - r)|abs
|
||||
<= 100 ) %}\n {% set rgb_changer = range(3) | random %}\n {%
|
||||
if rgb_changer == 0 %}\n {{ (r / 2)|int , g, b }}\n {% elif
|
||||
rgb_changer == 1 %}\n {{ r, (g / 2)|int, b }}\n {% elif
|
||||
rgb_changer == 2 %}\n {{ r, g, (b / 2)|int }}\n {% endif
|
||||
%}\n {% else %}\n {{ r, g, b }}\n {% endif %}\n{% elif color_mode
|
||||
== \"christmas\" %} \n {% macro random_rgb_component(max) %}\n
|
||||
\ {{ range(0, max) | random }}\n {% endmacro %}\n {% macro get_color(color_key)
|
||||
%}\n {% if color_key == 1 %}\n [{{ random_rgb_component(256)
|
||||
}}, 0, 0]\n {% elif color_key == 2 %}\n [0, {{ random_rgb_component(256)
|
||||
}}, 0]\n {% elif color_key == 3 %}\n [0, 0, {{ random_rgb_component(256)
|
||||
}}]\n {% elif color_key == 4 %}\n [255, 255, {{ random_rgb_component(50)
|
||||
}}]\n {% endif %}\n {% endmacro %}\n {% set color_key = range(1,
|
||||
5) | random %}\n {% set random_color = get_color(color_key) %}\n
|
||||
\ {{ random_color }}\n{% elif color_mode == \"red\" %}\n {{ range(256)
|
||||
| random, 0, 0 }}\n{% elif color_mode == \"green\" %}\n {{ 0, range(256)
|
||||
| random, 0 }}\n{% elif color_mode == \"blue\" %}\n {{ 0, 0, range(256)
|
||||
| random }}\n{% elif color_mode == \"teal\" %}\n {{ range(256)
|
||||
| random, 255, 255 }}\n{% elif color_mode == \"pink\" %}\n {{ 255,
|
||||
range(256) | random, 255 }}\n{% elif color_mode == \"yellow\" %}\n
|
||||
\ {{ 255, 255, range(256) | random }}\n{% else %}\n {{ 255, 255,
|
||||
255 }}\n{% endif %}\n"
|
||||
- action: light.turn_on
|
||||
data: "{% if light_effect == \"\" %}\n {% if color_mode == \"no_color_change\"
|
||||
%}\n {{ { \"transition\": transition_time, \"brightness_pct\":
|
||||
brightness_value } }}\n {% else %}\n {{ { \"transition\": transition_time,
|
||||
\"brightness_pct\": brightness_value, \"rgb_color\": rgb_value } }}\n
|
||||
\ {% endif %}\n{% else %}\n {% if color_mode == \"no_color_change\"
|
||||
%}\n {{ { \"transition\": transition_time, \"brightness_pct\":
|
||||
brightness_value, \"effect\": light_effect } }}\n {% else %}\n {{
|
||||
{ \"transition\": transition_time, \"brightness_pct\": brightness_value,
|
||||
\"rgb_color\": rgb_value, \"effect\": light_effect } }}\n {% endif
|
||||
%}\n{% endif %}\n"
|
||||
target:
|
||||
entity_id: '{{ repeat.item }}'
|
||||
- delay: !input time_between_changes
|
||||
until:
|
||||
- condition: state
|
||||
entity_id: !input party_mode_trigger
|
||||
state: 'off'
|
||||
- delay: !input turn_off_delay
|
||||
- choose:
|
||||
- conditions: '{{ "lights_off" in after_party_state }}'
|
||||
sequence:
|
||||
- action: light.turn_off
|
||||
target:
|
||||
entity_id: '{{ target_lights }}'
|
||||
- conditions: '{{ "return_to_previous" in after_party_state }}'
|
||||
sequence:
|
||||
- action: scene.turn_on
|
||||
metadata: {}
|
||||
target:
|
||||
entity_id: scene.before_state
|
||||
- conditions: '{{ "user_defined_scene" in after_party_state }}'
|
||||
sequence:
|
||||
- action: scene.turn_on
|
||||
metadata: {}
|
||||
target:
|
||||
entity_id: '{{ after_party_scene }}'
|
||||
- conditions: '{{ "scene_then_off" in after_party_state }}'
|
||||
sequence:
|
||||
- action: scene.turn_on
|
||||
metadata: {}
|
||||
target:
|
||||
entity_id: '{{ after_party_scene }}'
|
||||
- action: light.turn_off
|
||||
target:
|
||||
entity_id: '{{ target_lights }}'
|
||||
@@ -0,0 +1,56 @@
|
||||
# alias: "Adaptive Lights: Kitchen"
|
||||
# description: ""
|
||||
# triggers:
|
||||
# - trigger: state
|
||||
# entity_id:
|
||||
# - binary_sensor.kitchen_motion
|
||||
# - binary_sensor.kitchen_presence
|
||||
# to:
|
||||
# - "on"
|
||||
# id: Motion or Presence
|
||||
# alias: Motion or Presence
|
||||
# - trigger: event
|
||||
# event_type: timer.finished
|
||||
# event_data:
|
||||
# entity_id: timer.kitchen_lights
|
||||
# id: Timer finished
|
||||
# alias: Kitchen Lights Timer Finished
|
||||
# conditions: []
|
||||
# actions:
|
||||
# - alias: Turn on the lights, start the timer, or turn off the lights?
|
||||
# choose:
|
||||
# - conditions:
|
||||
# - condition: trigger
|
||||
# id:
|
||||
# - Motion or Presence
|
||||
# sequence:
|
||||
# - if:
|
||||
# - condition: state
|
||||
# entity_id: switch.adaptive_lighting_kitchen_northern
|
||||
# state:
|
||||
# - "off"
|
||||
# then:
|
||||
# - action: switch.turn_on
|
||||
# metadata: {}
|
||||
# target:
|
||||
# entity_id: switch.adaptive_lighting_kitchen_northern
|
||||
# data: {}
|
||||
# alias: Turn on the light, if needed
|
||||
# - action: timer.start
|
||||
# metadata: {}
|
||||
# target:
|
||||
# entity_id: timer.kitchen_lights
|
||||
# data: {}
|
||||
# alias: Occupancy with the lights off
|
||||
# - conditions:
|
||||
# - condition: trigger
|
||||
# id:
|
||||
# - Timer finished
|
||||
# sequence:
|
||||
# - action: switch.turn_off
|
||||
# metadata: {}
|
||||
# target:
|
||||
# entity_id: switch.adaptive_lighting_kitchen_northern
|
||||
# data: {}
|
||||
# alias: Timer finished so turn off the lights
|
||||
# mode: single
|
||||
@@ -7,4 +7,4 @@ repeat:
|
||||
can_acknowledge: True
|
||||
skip_first: false
|
||||
notifiers:
|
||||
- mobile_app_pixel_7
|
||||
- mobile_app_pixel_10_pro
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
name: "Dream-Frigate is unavailable"
|
||||
done_message: "Dream-Frigate is now available"
|
||||
entity_id: sensor.frigate_status
|
||||
state: unavailable
|
||||
repeat:
|
||||
- 1
|
||||
- 5
|
||||
- 15
|
||||
can_acknowledge: True
|
||||
skip_first: true
|
||||
notifiers:
|
||||
- mobile_app_pixel_10_pro
|
||||
@@ -9,4 +9,4 @@
|
||||
# can_acknowledge: True
|
||||
# skip_first: true
|
||||
# notifiers:
|
||||
# - mobile_app_pixel_7
|
||||
# - mobile_app_pixel_10_pro
|
||||
|
||||
@@ -6,4 +6,4 @@ repeat: 10
|
||||
can_acknowledge: True
|
||||
skip_first: True
|
||||
notifiers:
|
||||
- mobile_app_pixel_7
|
||||
- mobile_app_pixel_10_pro
|
||||
|
||||
@@ -6,4 +6,4 @@ repeat: 10
|
||||
can_acknowledge: True
|
||||
skip_first: True
|
||||
notifiers:
|
||||
- mobile_app_pixel_7
|
||||
- mobile_app_pixel_10_pro
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
# can_acknowledge: True
|
||||
# skip_first: false
|
||||
# notifiers:
|
||||
# - mobile_app_pixel_7
|
||||
# - mobile_app_pixel_10_pro
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# name: "The AC is probably broken again!"
|
||||
# message: "It is {{states('sensor.front_porch_temperature')}} outside and {{state_attr('climate.thermostat','current_temperature')}} inside. The thermostat is set to {{state_attr('climate.thermostat','target_temp_low')}} and the delta is {{states('sensor.hvac_multisensor_delta')}}"
|
||||
# message: "It is {{states('sensor.front_porch_hue_motion_sensor_temperature')}} outside and {{state_attr('climate.thermostat','current_temperature')}} inside. The thermostat is set to {{state_attr('climate.thermostat','target_temp_low')}} and the delta is {{states('sensor.hvac_multisensor_delta')}}"
|
||||
# done_message: "AC is now {{states('sensor.hvac_multisensor_delta')}}"
|
||||
# entity_id: binary_sensor.hvac_multisensor_delta_too_small_for_too_long
|
||||
# state: "on"
|
||||
@@ -10,4 +10,4 @@
|
||||
# can_acknowledge: True
|
||||
# skip_first: true
|
||||
# notifiers:
|
||||
# - mobile_app_pixel_7
|
||||
# - mobile_app_pixel_10_pro
|
||||
|
||||
@@ -7,4 +7,4 @@ repeat:
|
||||
can_acknowledge: True
|
||||
skip_first: false
|
||||
notifiers:
|
||||
- mobile_app_pixel_7
|
||||
- mobile_app_pixel_10_pro
|
||||
|
||||
@@ -7,4 +7,4 @@ repeat:
|
||||
can_acknowledge: True
|
||||
skip_first: false
|
||||
notifiers:
|
||||
- mobile_app_pixel_7
|
||||
- mobile_app_pixel_10_pro
|
||||
|
||||
@@ -7,4 +7,4 @@ repeat:
|
||||
can_acknowledge: True
|
||||
skip_first: true
|
||||
notifiers:
|
||||
- mobile_app_pixel_7
|
||||
- mobile_app_pixel_10_pro
|
||||
|
||||
@@ -6,4 +6,4 @@ repeat: 360
|
||||
can_acknowledge: True
|
||||
skip_first: False
|
||||
notifiers:
|
||||
- mobile_app_pixel_7
|
||||
- mobile_app_pixel_10_pro
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
platform: 'bayesian'
|
||||
name: 'Window Open HVAC On'
|
||||
platform: "bayesian"
|
||||
name: "Window Open HVAC On"
|
||||
device_class: problem
|
||||
prior: 0
|
||||
probability_threshold: 0.6
|
||||
observations:
|
||||
- entity_id: 'group.my_exterior_windows'
|
||||
- entity_id: "group.my_exterior_windows"
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.01
|
||||
platform: 'state'
|
||||
to_state: 'on'
|
||||
- entity_id: 'group.my_exterior_doors'
|
||||
platform: "state"
|
||||
to_state: "on"
|
||||
- entity_id: "binary_sensor.exterior_doors"
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.01
|
||||
platform: 'state'
|
||||
to_state: 'on'
|
||||
platform: "state"
|
||||
to_state: "on"
|
||||
- entity_id: sensor.hvac_action
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.01
|
||||
platform: 'state'
|
||||
to_state: 'cooling'
|
||||
platform: "state"
|
||||
to_state: "cooling"
|
||||
- entity_id: sensor.hvac_action
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.01
|
||||
platform: 'state'
|
||||
to_state: 'heating'
|
||||
platform: "state"
|
||||
to_state: "heating"
|
||||
- entity_id: sensor.hvac_action
|
||||
prob_given_true: .01
|
||||
prob_given_false: 0.01
|
||||
platform: 'state'
|
||||
to_state: 'idle'
|
||||
platform: "state"
|
||||
to_state: "idle"
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.back_yard_occupied
|
||||
name: Back Yard Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.25
|
||||
probability_threshold: 0.75
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.back_yard_occupied
|
||||
# name: Back Yard Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.25
|
||||
# probability_threshold: 0.75
|
||||
# observations:
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .01
|
||||
prob_given_false: 0.01
|
||||
to_state: 'off'
|
||||
# - entity_id: input_boolean.home_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .01
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'off'
|
||||
|
||||
- entity_id: group.back_yard_motion
|
||||
prob_given_true: .9
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.back_yard_motion
|
||||
# prob_given_true: .9
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.boys_room_occupied
|
||||
name: Boys Room Occupied
|
||||
prior: 0.25
|
||||
probability_threshold: 0.75
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.boys_room_occupied
|
||||
# name: Boys Room Occupied
|
||||
# prior: 0.25
|
||||
# probability_threshold: 0.75
|
||||
# observations:
|
||||
|
||||
- entity_id: binary_sensor.white_bed_occupied
|
||||
platform: state
|
||||
prob_given_true: .83
|
||||
prob_given_false: 0.0
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.white_bed_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .83
|
||||
# prob_given_false: 0.0
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: binary_sensor.boys_room_person_occupancy
|
||||
prob_given_true: .4
|
||||
prob_given_false: 0.0
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.boys_room_person_occupancy
|
||||
# prob_given_true: .4
|
||||
# prob_given_false: 0.0
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .99
|
||||
prob_given_false: 0.67
|
||||
to_state: 'on'
|
||||
# - entity_id: input_boolean.home_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: 0.67
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: group.boys_room_motion
|
||||
platform: state
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.0
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.boys_room_motion
|
||||
# platform: state
|
||||
# prob_given_true: .5
|
||||
# prob_given_false: 0.0
|
||||
# to_state: 'on'
|
||||
|
||||
@@ -1,25 +1,19 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.computer_area_occupied
|
||||
name: Computer Area Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.25
|
||||
probability_threshold: 0.7
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.computer_area_occupied
|
||||
# name: Computer Area Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.25
|
||||
# probability_threshold: 0.7
|
||||
# observations:
|
||||
|
||||
- entity_id: group.computer_area_motion
|
||||
prob_given_true: .99
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.computer_area_motion
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
# - entity_id: binary_sensor.computer_chair_contact_occupied
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .7
|
||||
prob_given_false: 0.1
|
||||
to_state: 'on'
|
||||
# - entity_id: input_boolean.home_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .7
|
||||
# prob_given_false: 0.1
|
||||
# to_state: 'on'
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.dining_room_occupied
|
||||
name: Dining Room Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.25
|
||||
probability_threshold: 0.7
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.dining_room_occupied
|
||||
# name: Dining Room Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.25
|
||||
# probability_threshold: 0.7
|
||||
# observations:
|
||||
|
||||
- entity_id: group.dining_room_motion
|
||||
prob_given_true: .99
|
||||
prob_given_false: .85
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.dining_room_motion
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: .85
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: binary_sensor.dining_room_person_occupancy
|
||||
prob_given_true: .99
|
||||
prob_given_false: .85
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.dining_room_person_occupancy
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: .85
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .99
|
||||
prob_given_false: 0.01
|
||||
to_state: 'on'
|
||||
# - entity_id: input_boolean.home_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'on'
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.entryway_occupied
|
||||
name: Entryway Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.02
|
||||
probability_threshold: 0.65
|
||||
observations:
|
||||
- entity_id: group.entryway_motion
|
||||
prob_given_true: 0.9
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.entryway_occupied
|
||||
# name: Entryway Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.02
|
||||
# probability_threshold: 0.65
|
||||
# observations:
|
||||
# - entity_id: binary_sensor.entryway_motion
|
||||
# prob_given_true: 0.9
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .98
|
||||
prob_given_false: 0.85
|
||||
to_state: 'on'
|
||||
# - entity_id: input_boolean.home_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .98
|
||||
# prob_given_false: 0.85
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: binary_sensor.entryway_person_occupancy
|
||||
prob_given_true: .02
|
||||
prob_given_false: 0.0
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.entryway_person_occupancy
|
||||
# prob_given_true: .02
|
||||
# prob_given_false: 0.0
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: binary_sensor.inner_garage_door_contact
|
||||
prob_given_true: 0.02
|
||||
prob_given_false: 0.0
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.inner_garage_door_contact
|
||||
# prob_given_true: 0.02
|
||||
# prob_given_false: 0.0
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: binary_sensor.front_door_contact
|
||||
prob_given_true: 0.02
|
||||
prob_given_false: 0.0
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.front_door_contact
|
||||
# prob_given_true: 0.02
|
||||
# prob_given_false: 0.0
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
@@ -1,37 +1,32 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.front_room_occupied
|
||||
name: Front Room Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.5
|
||||
probability_threshold: 0.75
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.front_room_occupied
|
||||
# name: Front Room Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.5
|
||||
# probability_threshold: 0.75
|
||||
# observations:
|
||||
|
||||
- entity_id: group.front_room_motion
|
||||
prob_given_true: .75
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.front_room_motion
|
||||
# prob_given_true: .75
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: media_player.front_room_tv
|
||||
prob_given_true: .9
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'playing'
|
||||
# - entity_id: media_player.front_room_tv
|
||||
# prob_given_true: .9
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'playing'
|
||||
|
||||
- entity_id: media_player.front_room_tv
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'home'
|
||||
# - entity_id: media_player.front_room_tv
|
||||
# prob_given_true: .5
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'home'
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .01
|
||||
prob_given_false: 0.01
|
||||
to_state: 'off'
|
||||
# - entity_id: input_boolean.home_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .01
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'off'
|
||||
|
||||
# - entity_id: binary_sensor.front_room_person_occupancy
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.front_yard_occupied
|
||||
name: Front Yard Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.25
|
||||
probability_threshold: 0.75
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.front_yard_occupied
|
||||
# name: Front Yard Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.25
|
||||
# probability_threshold: 0.75
|
||||
# observations:
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .01
|
||||
prob_given_false: 0.01
|
||||
to_state: 'off'
|
||||
# - entity_id: input_boolean.home_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .01
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'off'
|
||||
|
||||
- entity_id: group.front_yard_motion
|
||||
prob_given_true: .9
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.front_yard_motion
|
||||
# prob_given_true: .9
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.furnace_room_occupied
|
||||
name: Furnace Room Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.2
|
||||
probability_threshold: 0.75
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.furnace_room_occupied
|
||||
# name: Furnace Room Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.2
|
||||
# probability_threshold: 0.75
|
||||
# observations:
|
||||
|
||||
- entity_id: group.furnace_room_motion
|
||||
prob_given_true: .99
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.furnace_room_motion
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
@@ -1,67 +1,67 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.garage_occupied
|
||||
name: Garage Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.4
|
||||
probability_threshold: 0.6
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.garage_occupied
|
||||
# name: Garage Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.4
|
||||
# probability_threshold: 0.6
|
||||
# observations:
|
||||
|
||||
- entity_id: group.garage_motion
|
||||
prob_given_true: .8
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.garage_motion
|
||||
# prob_given_true: .8
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: group.garage_motion
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'off'
|
||||
# - entity_id: binary_sensor.garage_motion
|
||||
# prob_given_true: .5
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'off'
|
||||
|
||||
- entity_id: cover.garage_door
|
||||
prob_given_true: .60
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'open'
|
||||
# - entity_id: cover.garage_door
|
||||
# prob_given_true: .60
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'open'
|
||||
|
||||
- entity_id: cover.garage_door
|
||||
prob_given_true: .50
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'closed'
|
||||
# - entity_id: cover.garage_door
|
||||
# prob_given_true: .50
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'closed'
|
||||
|
||||
- entity_id: binary_sensor.inner_garage_door_contact
|
||||
prob_given_true: .75
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.inner_garage_door_contact
|
||||
# prob_given_true: .75
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: binary_sensor.inner_garage_door_contact
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'off'
|
||||
# - entity_id: binary_sensor.inner_garage_door_contact
|
||||
# prob_given_true: .5
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'off'
|
||||
|
||||
- entity_id: binary_sensor.outer_garage_door_contact
|
||||
prob_given_true: .75
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.outer_garage_door_contact
|
||||
# prob_given_true: .75
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: binary_sensor.outer_garage_door_contact
|
||||
prob_given_true: 0.5
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'off'
|
||||
# - entity_id: binary_sensor.outer_garage_door_contact
|
||||
# prob_given_true: 0.5
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'off'
|
||||
|
||||
- entity_id: binary_sensor.workshop_person_occupancy
|
||||
prob_given_true: .99
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.workshop_person_occupancy
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: binary_sensor.workshop_person_occupancy
|
||||
prob_given_true: 0.5
|
||||
prob_given_false: 0.5
|
||||
platform: state
|
||||
to_state: 'off'
|
||||
# - entity_id: binary_sensor.workshop_person_occupancy
|
||||
# prob_given_true: 0.5
|
||||
# prob_given_false: 0.5
|
||||
# platform: state
|
||||
# to_state: 'off'
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
platform: bayesian
|
||||
unique_id: 608783dd-0d18-4e9b-a7f9-3f35eee41fc4
|
||||
name: Girls Room Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.25
|
||||
probability_threshold: 0.90
|
||||
observations:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.girls_room_motion
|
||||
to_state: "on"
|
||||
prob_given_true: .33
|
||||
prob_given_false: 0.0
|
||||
|
||||
- entity_id: binary_sensor.girls_room_person_occupancy
|
||||
prob_given_true: .33
|
||||
prob_given_false: 0.0
|
||||
platform: state
|
||||
to_state: "on"
|
||||
|
||||
- platform: state
|
||||
entity_id: binary_sensor.black_bed_occupied
|
||||
to_state: "on"
|
||||
prob_given_true: .67
|
||||
prob_given_false: 0.0
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .92
|
||||
prob_given_false: 0.5
|
||||
to_state: "on"
|
||||
@@ -1,43 +1,43 @@
|
||||
platform: bayesian
|
||||
unique_id: bayesianbinarysensor.great_room_occupied
|
||||
name: Great Room Occupied
|
||||
device_class: occupancy
|
||||
prior: 0.5
|
||||
probability_threshold: 0.75
|
||||
observations:
|
||||
# platform: bayesian
|
||||
# unique_id: bayesianbinarysensor.great_room_occupied
|
||||
# name: Great Room Occupied
|
||||
# device_class: occupancy
|
||||
# prior: 0.5
|
||||
# probability_threshold: 0.75
|
||||
# observations:
|
||||
|
||||
- entity_id: group.great_room_motion
|
||||
platform: state
|
||||
prob_given_true: .9
|
||||
prob_given_false: 0.01
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.great_room_motion
|
||||
# platform: state
|
||||
# prob_given_true: .9
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'on'
|
||||
|
||||
- entity_id: input_boolean.home_occupied
|
||||
platform: state
|
||||
prob_given_true: .01
|
||||
prob_given_false: 0.01
|
||||
to_state: 'off'
|
||||
# - entity_id: input_boolean.home_occupied
|
||||
# platform: state
|
||||
# prob_given_true: .01
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'off'
|
||||
|
||||
- entity_id: media_player.downstairs_roku
|
||||
platform: state
|
||||
prob_given_true: .9
|
||||
prob_given_false: 0.01
|
||||
to_state: 'playing'
|
||||
# - entity_id: media_player.downstairs_roku
|
||||
# platform: state
|
||||
# prob_given_true: .9
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'playing'
|
||||
|
||||
- entity_id: media_player.downstairs_roku
|
||||
platform: state
|
||||
prob_given_true: .9
|
||||
prob_given_false: 0.01
|
||||
to_state: 'paused'
|
||||
# - entity_id: media_player.downstairs_roku
|
||||
# platform: state
|
||||
# prob_given_true: .9
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'paused'
|
||||
|
||||
- entity_id: media_player.downstairs_roku
|
||||
platform: state
|
||||
prob_given_true: .5
|
||||
prob_given_false: 0.01
|
||||
to_state: 'idle'
|
||||
# - entity_id: media_player.downstairs_roku
|
||||
# platform: state
|
||||
# prob_given_true: .5
|
||||
# prob_given_false: 0.01
|
||||
# to_state: 'idle'
|
||||
|
||||
- entity_id: binary_sensor.great_room_person_occupancy
|
||||
prob_given_true: .99
|
||||
prob_given_false: 0.01
|
||||
platform: state
|
||||
to_state: 'on'
|
||||
# - entity_id: binary_sensor.great_room_person_occupancy
|
||||
# prob_given_true: .99
|
||||
# prob_given_false: 0.01
|
||||
# platform: state
|
||||
# to_state: 'on'
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user