Compare commits

..

14 Commits

Author SHA1 Message Date
CeeWeasel 9d501134c8 Remove logging and clear up some general cruft 2026-07-09 16:26:31 -04:00
CeeWeasel 30bbe781ef Changing camera names to ensure frigate, go2rtc, and home assistant all match 2026-06-06 14:04:03 -04:00
CeeWeasel 70989327d5 trying new Imap sensor(s), switched to influxdb on the nas, and added steam sensors for the kids 2026-06-05 09:55:37 -04:00
CeeWeasel bf67d595ef rearranging esphome 2026-05-24 12:33:06 -04:00
CeeWeasel 7de01f94c1 A log of small fixes 2026-05-19 22:44:10 -04:00
CeeWeasel 6f4259d767 all kinds of fun 2026-05-04 21:01:23 -04:00
CeeWeasel 149fac6ec0 Added some themes, but mostly updated power monitor to better wrangle the sensors and udpate_intervals to save DB space 2026-03-14 16:26:42 -04:00
CeeWeasel a272421a33 quieting down the power meter, eventually going to clean up the database and testing new lighting automation for bedroom 2026-03-11 20:13:01 -04:00
CeeWeasel 105fb7cf86 database should now be good and shouldn't cause random restarts
some other minor tweask and renames to appease the watchman
2026-02-10 09:26:10 -05:00
CeeWeasel 6003d60774 Pixel 7 to Pixel 10 2026-01-22 08:39:55 -05:00
CeeWeasel 97a0e678c0 Refactor code structure for improved readability and maintainability 2026-01-19 14:47:59 -05:00
CeeWeasel 6550521520 everything's gotta change 2025-12-12 16:33:09 -05:00
CeeWeasel 578edbc7dc stop hating myself 2025-12-09 16:59:38 -05:00
HomeAssistant a49d981ad4 Will pushing from the server break anything? 2025-12-06 09:12:49 -05:00
497 changed files with 19879 additions and 7664 deletions
+6
View File
@@ -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
+3 -3
View File
@@ -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(', ') }}"
-52
View File
@@ -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
-52
View File
@@ -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
-108
View File
@@ -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
-108
View File
@@ -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. ![image](https://automation.clintweaver.com/api/frigate/notifications/{{trigger.payload_json["after"]["id"]}}/thumbnail.jpg)'
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.
+2 -2
View File
@@ -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
+4
View File
@@ -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
+7 -1
View File
@@ -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
+4 -2
View File
@@ -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:
-56
View File
@@ -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"
+8 -4
View File
@@ -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
+4
View File
@@ -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
+19 -13
View File
@@ -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
+2 -2
View File
@@ -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 %}
+2 -2
View File
@@ -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
+7 -7
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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!
+2 -2
View File
@@ -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:
+2 -2
View File
@@ -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
+5 -5
View File
@@ -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
+88 -88
View File
@@ -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:
+1 -1
View File
@@ -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!
+4 -4
View File
@@ -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:
+26 -5
View File
@@ -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"
-111
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -9,4 +9,4 @@
# can_acknowledge: True
# skip_first: true
# notifiers:
# - mobile_app_pixel_7
# - mobile_app_pixel_10_pro
+1 -1
View File
@@ -6,4 +6,4 @@ repeat: 10
can_acknowledge: True
skip_first: True
notifiers:
- mobile_app_pixel_7
- mobile_app_pixel_10_pro
+1 -1
View File
@@ -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
+1 -1
View File
@@ -7,4 +7,4 @@ repeat:
can_acknowledge: True
skip_first: true
notifiers:
- mobile_app_pixel_7
- mobile_app_pixel_10_pro
+1 -1
View File
@@ -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