mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-09 10:30:14 -04:00
Refactor camera cards to use advanced-camera-card format
- Updated garage-card.yaml to use vertical-stack and advanced-camera-card structure. - Refactored indoor-camera-cycler.yaml to include multiple cameras in advanced-camera-card format. - Modified kitchen-card.yaml to align with new advanced-camera-card structure. - Consolidated master-bedroom-card.yaml to include both left and right cameras in a single advanced-camera-card. - Removed deprecated master-bedroom-left-card.yaml and master-bedroom-right-card.yaml files. - Updated nursery-card.yaml to follow the new advanced-camera-card format. - Refactored outdoor-camera-cycler.yaml to utilize advanced-camera-card for multiple outdoor cameras. - Cleaned up view-ha-floorplan.yaml by removing commented-out code. - Updated view-overview.yaml to remove unused plant entities. - Corrected media source paths in wake_up_the_master_bedroom.yaml and take_meds.yaml scripts. - Added new ESPHome configurations for bed presence sensors. - Updated full-sized floorplan SVG with new IDs for bed presence sensors.
This commit is contained in:
@@ -1,303 +0,0 @@
|
||||
alias: Cycle Cameras
|
||||
id: automation_cycle_cameras
|
||||
mode: queued
|
||||
|
||||
trigger:
|
||||
|
||||
- id: automatic
|
||||
platform: homeassistant
|
||||
event: start
|
||||
|
||||
- id: automatic
|
||||
platform: time_pattern
|
||||
seconds: "/10"
|
||||
|
||||
- id: cam01
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam01_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam03
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam03_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam04
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam04_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam06
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam06_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam07
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam07_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam08
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam08_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam12
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam12_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam13
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam13_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam14
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam14_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
- id: cam19
|
||||
platform: state
|
||||
entity_id: binary_sensor.frigate_cam19_person_occupancy
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
|
||||
action:
|
||||
- service: input_select.select_next
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_select.master_bedroom_camera
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam01
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
data:
|
||||
option: Blue Room
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam03
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
data:
|
||||
option: Computer Area
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam04
|
||||
- condition: state
|
||||
entity_id: input_boolean.outdoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.outdoor_camera_cycle
|
||||
data:
|
||||
option: Garage
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam06
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
data:
|
||||
option: Bedroom Left
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam07
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
data:
|
||||
option: Bedroom Right
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam08
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
data:
|
||||
option: Nursery
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam12
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
data:
|
||||
option: Kitchen
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam13
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
data:
|
||||
option: Front Room
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam14
|
||||
- condition: state
|
||||
entity_id: input_boolean.outdoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.outdoor_camera_cycle
|
||||
data:
|
||||
option: Back Yard
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: cam19
|
||||
- condition: state
|
||||
entity_id: input_boolean.outdoor_camera_lock
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_option
|
||||
target:
|
||||
entity_id: input_select.outdoor_camera_cycle
|
||||
data:
|
||||
option: Front Porch
|
||||
|
||||
default:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: automatic
|
||||
- condition: state
|
||||
entity_id: input_boolean.indoor_camera_lock
|
||||
state: 'off'
|
||||
- condition: or
|
||||
conditions:
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
state: Blue Room
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam01_person_occupancy
|
||||
state: 'off'
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
state: Computer Area
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam03_person_occupancy
|
||||
state: 'off'
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
state: Bedroom Left
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam06_person_occupancy
|
||||
state: 'off'
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
state: Bedroom Right
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam07_person_occupancy
|
||||
state: 'off'
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
state: Nursery
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam08_person_occupancy
|
||||
state: 'off'
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
state: Kitchen
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam12_person_occupancy
|
||||
state: 'off'
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
state: Front Room
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam13_person_occupancy
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_next
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_select.indoor_camera_cycle
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: automatic
|
||||
- condition: state
|
||||
entity_id: input_boolean.outdoor_camera_lock
|
||||
state: 'off'
|
||||
- condition: or
|
||||
conditions:
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.outdoor_camera_cycle
|
||||
state: Garage
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam04_person_occupancy
|
||||
state: 'off'
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.outdoor_camera_cycle
|
||||
state: Back Yard
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam14_person_occupancy
|
||||
state: 'off'
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_select.outdoor_camera_cycle
|
||||
state: Front Porch
|
||||
- condition: state
|
||||
entity_id: binary_sensor.frigate_cam19_person_occupancy
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: input_select.select_next
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_select.outdoor_camera_cycle
|
||||
@@ -37,13 +37,13 @@ action:
|
||||
- media_player.bathroom_mini
|
||||
- media_player.kitchen
|
||||
- media_player.great_room
|
||||
media_content_id: media-source://media_source/local/sounds/tts/almost_bedtime.mp3
|
||||
media_content_id: media-source://media_source/tts/almost_bedtime.mp3
|
||||
volume: 0.7
|
||||
default:
|
||||
- service: script.make_clever_announcement
|
||||
data:
|
||||
entity_id: media_player.announcements
|
||||
media_content_id: media-source://media_source/local/sounds/tts/almost_bedtime.mp3
|
||||
media_content_id: media-source://media_source/tts/almost_bedtime.mp3
|
||||
volume: 0.7
|
||||
|
||||
# Because of how we're calling the script, the automation won't continue until the script is done, so we don't need a delay here
|
||||
|
||||
@@ -2,8 +2,8 @@ initial_state: 'on'
|
||||
alias: 'Bedtime'
|
||||
id: automation_bedtime
|
||||
trigger:
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
# - platform: homeassistant
|
||||
# event: start
|
||||
|
||||
- platform: state
|
||||
entity_id:
|
||||
|
||||
@@ -40,23 +40,23 @@ action:
|
||||
{% if is_state('input_boolean.emmett_home', 'on') %}
|
||||
{% if is_state('input_boolean.bridget_home', 'on') %}
|
||||
{% if is_state('input_boolean.ebin_home', 'on') %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_emmett_bridget_ebin.mp3
|
||||
media-source://media_source/tts/goodnight_emmett_bridget_ebin.mp3
|
||||
{% else %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_emmett_bridget.mp3
|
||||
media-source://media_source/tts/goodnight_emmett_bridget.mp3
|
||||
{% endif %}
|
||||
{% elif is_state('input_boolean.ebin_home','on') %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_emmett_ebin.mp3
|
||||
media-source://media_source/tts/goodnight_emmett_ebin.mp3
|
||||
{% else %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_emmett.mp3
|
||||
media-source://media_source/tts/goodnight_emmett.mp3
|
||||
{% endif %}
|
||||
{% elif is_state('input_boolean.bridget_home', 'on') %}
|
||||
{% if is_state('input_boolean.ebin_home', 'on') %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_bridget_ebin.mp3
|
||||
media-source://media_source/tts/goodnight_bridget_ebin.mp3
|
||||
{% else %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_bridget.mp3
|
||||
media-source://media_source/tts/goodnight_bridget.mp3
|
||||
{% endif %}
|
||||
{% elif is_state('input_boolean.ebin_home', 'on') %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_ebin.mp3
|
||||
media-source://media_source/tts/goodnight_ebin.mp3
|
||||
{% endif %}
|
||||
volume: 0.7
|
||||
default:
|
||||
@@ -67,23 +67,23 @@ action:
|
||||
{% if is_state('input_boolean.emmett_home', 'on') %}
|
||||
{% if is_state('input_boolean.bridget_home', 'on') %}
|
||||
{% if is_state('input_boolean.ebin_home', 'on') %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_emmett_bridget_ebin.mp3
|
||||
media-source://media_source/tts/goodnight_emmett_bridget_ebin.mp3
|
||||
{% else %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_emmett_bridget.mp3
|
||||
media-source://media_source/tts/goodnight_emmett_bridget.mp3
|
||||
{% endif %}
|
||||
{% elif is_state('input_boolean.ebin_home','on') %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_emmett_ebin.mp3
|
||||
media-source://media_source/tts/goodnight_emmett_ebin.mp3
|
||||
{% else %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_emmett.mp3
|
||||
media-source://media_source/tts/goodnight_emmett.mp3
|
||||
{% endif %}
|
||||
{% elif is_state('input_boolean.bridget_home', 'on') %}
|
||||
{% if is_state('input_boolean.ebin_home', 'on') %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_bridget_ebin.mp3
|
||||
media-source://media_source/tts/goodnight_bridget_ebin.mp3
|
||||
{% else %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_bridget.mp3
|
||||
media-source://media_source/tts/goodnight_bridget.mp3
|
||||
{% endif %}
|
||||
{% elif is_state('input_boolean.ebin_home', 'on') %}
|
||||
media-source://media_source/local/sounds/tts/goodnight_ebin.mp3
|
||||
media-source://media_source/tts/goodnight_ebin.mp3
|
||||
{% endif %}
|
||||
volume: 0.7
|
||||
|
||||
|
||||
@@ -8,18 +8,24 @@ trigger:
|
||||
entity_id:
|
||||
- binary_sensor.front_porch_motion
|
||||
- binary_sensor.front_porch_person_occupancy
|
||||
- binary_sensor.front_yard_person_occupancy
|
||||
to: "on"
|
||||
|
||||
- platform: state
|
||||
id: motion_off
|
||||
entity_id: binary_sensor.front_porch_motion, binary_sensor.front_porch_person_occupancy
|
||||
entity_id:
|
||||
- binary_sensor.front_porch_motion
|
||||
- binary_sensor.front_porch_person_occupancy
|
||||
- binary_sensor.front_yard_person_occupancy
|
||||
to: "off"
|
||||
for:
|
||||
minutes: 5
|
||||
|
||||
- platform: state
|
||||
id: door_open
|
||||
entity_id: binary_sensor.garage_door, binary_sensor.outer_garage_door_contact #, binary_sensor.outer_garage_door
|
||||
entity_id:
|
||||
- binary_sensor.garage_door
|
||||
- binary_sensor.outer_garage_door_contact #, binary_sensor.outer_garage_door
|
||||
to: "on"
|
||||
|
||||
- platform: state
|
||||
@@ -33,34 +39,15 @@ trigger:
|
||||
id: too_dark
|
||||
entity_id: binary_sensor.front_porch_naturally_lit
|
||||
to: "off"
|
||||
for:
|
||||
seconds: 30
|
||||
|
||||
- platform: state
|
||||
id: too_bright
|
||||
entity_id: binary_sensor.front_porch_naturally_lit
|
||||
to: "on"
|
||||
|
||||
condition:
|
||||
# - condition: or
|
||||
# conditions:
|
||||
# - alias: "Front porch not naturally lit"
|
||||
# condition: state
|
||||
# entity_id: binary_sensor.front_porch_naturally_lit
|
||||
# state: 'off'
|
||||
|
||||
# - alias: "Light is already off"
|
||||
# condition: state
|
||||
# entity_id: light.front_porch_overhead
|
||||
# state: 'off'
|
||||
|
||||
- alias: "It is not late evening"
|
||||
condition: state
|
||||
entity_id: binary_sensor.late_evening
|
||||
state: 'off'
|
||||
|
||||
- alias: "It is not night"
|
||||
condition: state
|
||||
entity_id: binary_sensor.night
|
||||
state: 'off'
|
||||
for:
|
||||
seconds: 30
|
||||
|
||||
action:
|
||||
- choose:
|
||||
@@ -72,6 +59,16 @@ action:
|
||||
entity_id: light.front_porch_overhead
|
||||
state: 'off'
|
||||
|
||||
- alias: "It is not late evening"
|
||||
condition: state
|
||||
entity_id: binary_sensor.late_evening
|
||||
state: 'off'
|
||||
|
||||
- alias: "It is not night"
|
||||
condition: state
|
||||
entity_id: binary_sensor.night
|
||||
state: 'off'
|
||||
|
||||
- alias: "Front porch not naturally lit"
|
||||
condition: state
|
||||
entity_id: binary_sensor.front_porch_naturally_lit
|
||||
@@ -113,6 +110,26 @@ action:
|
||||
target:
|
||||
entity_id: light.front_porch_overhead
|
||||
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: "too_dark"
|
||||
|
||||
- condition: state
|
||||
entity_id: light.front_porch_overhead
|
||||
state: 'off'
|
||||
|
||||
- condition: state
|
||||
entity_id:
|
||||
- binary_sensor.front_porch_motion
|
||||
- binary_sensor.front_porch_person_occupancy
|
||||
- binary_sensor.front_yard_person_occupancy
|
||||
state: 'on'
|
||||
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: light.front_porch_overhead
|
||||
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: binary_sensor.front_porch_motion
|
||||
|
||||
@@ -54,4 +54,4 @@ action:
|
||||
- alias: "Announce that the coffee is ready"
|
||||
service: script.make_clever_announcement
|
||||
data:
|
||||
media_content_id: media-source://media_source/local/sounds/tts/coffee_ready.mp3
|
||||
media_content_id: media-source://media_source/tts/coffee_ready.mp3
|
||||
|
||||
@@ -46,7 +46,7 @@ action:
|
||||
sequence:
|
||||
- service: script.make_clever_announcement
|
||||
data:
|
||||
media_content_id: media-source://media_source/local/sounds/tts/kitchen_fridge_open_too_long.mp3
|
||||
media_content_id: media-source://media_source/tts/kitchen_fridge_open_too_long.mp3
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
|
||||
Reference in New Issue
Block a user