mirror of
https://github.com/CCOSTAN/Home-AssistantConfig.git
synced 2025-07-25 03:02:51 +00:00
July_2025 (#1524)
This commit is contained in:
parent
561b454518
commit
f1fc8e8012
@ -259,10 +259,8 @@ Defining Guest Mode - /config/input_boolean/home_modes.yaml#L1-L4</a><br>
|
||||
Using Guest mode as a condition - /config/script/speech_engine.yaml#L26-L28</a><br>
|
||||
<p></details>
|
||||
<details>
|
||||
<summary>Track garbage days and chore days for the kids. Voice reminders and Alexa intergration/request for info.'</summary><p align="center">
|
||||
<summary>Track garbage days. Voice reminders and Alexa intergration/request for info.'</summary><p align="center">
|
||||
<a href=https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/config/input_boolean/hidden_booleans.yaml#L5-L7>
|
||||
Defining responsibilities trigger - /config/input_boolean/hidden_booleans.yaml#L5-L7</a><br>
|
||||
<a href=https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/config/script/speech_engine.yaml#L56-L68>
|
||||
Responsibility Speech Code - /config/script/speech_engine.yaml#L56-L68</a><br>
|
||||
<p></details>
|
||||
<details>
|
||||
|
@ -1 +1 @@
|
||||
2025.7.1
|
||||
2025.7.2
|
@ -50,7 +50,7 @@
|
||||
{%- endmacro -%}
|
||||
|
||||
{{greeting_sentence(person)}}
|
||||
call_responsibilities: 1
|
||||
call_garbage_day: 1
|
||||
call_no_announcement: 1
|
||||
call_garage_check: 1
|
||||
call_window_check: 1
|
||||
|
@ -26,7 +26,7 @@
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
call_inside_weather: 1
|
||||
call_responsibilities: 1
|
||||
call_garbage_day: 1
|
||||
call_outside_weather: 1
|
||||
call_garage_check: 1
|
||||
call_window_check: 1
|
||||
|
@ -1,23 +0,0 @@
|
||||
######################################################################
|
||||
## Announce when one of the nests kick in
|
||||
## Announce over all Chromecast Audios
|
||||
######################################################################
|
||||
- alias: 'Nest Status'
|
||||
id: 7812fdaf-a3f8-498b-8f07-28e977e528fe
|
||||
trigger:
|
||||
|
||||
- platform: state
|
||||
entity_id:
|
||||
- climate.downstairs
|
||||
- climate.upstairs
|
||||
from: 'off'
|
||||
|
||||
action:
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
NestStatus: "The {{ trigger.entity_id.split('.')[1].split('_')[0]}} {{ trigger.entity_id.split('.')[1].split('_')[1]}} has now been turned on for {{(trigger.to_state.state)}}."
|
||||
call_window_check: 1
|
||||
|
||||
|
||||
|
||||
|
@ -1,22 +0,0 @@
|
||||
#-------------------------------------------
|
||||
# Responsibilities Announcement
|
||||
# Description: Triggers a speech announcement for daily responsibilities
|
||||
#
|
||||
# Features:
|
||||
# - Announces garbage day and recycling reminders
|
||||
# - Triggered by an input_boolean entity
|
||||
#
|
||||
# Integration: Uses speech_engine script for announcements
|
||||
# Follow me on https://www.vcloudinfo.com/click-here
|
||||
#-------------------------------------------
|
||||
- alias: 'responsibilities'
|
||||
id: f39bd8db-a348-4024-a6a6-a3e3c836646c
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.responsibilities
|
||||
to: 'on'
|
||||
|
||||
action:
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
call_responsibilities: 1
|
@ -41,3 +41,30 @@
|
||||
entity_id: switch.back_landscaping
|
||||
|
||||
|
||||
# Set thermostats to eco mode when everyone is away
|
||||
- alias: 'Set Thermostats to Eco When Away'
|
||||
id: 1e2d3c4b-eco-thermostat-away
|
||||
mode: single
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: group.family
|
||||
to: 'not_home'
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'not_home'
|
||||
- condition: state
|
||||
entity_id: input_boolean.guest_mode
|
||||
state: 'off'
|
||||
action:
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
entity_id:
|
||||
- climate.downstairs
|
||||
- climate.upstairs
|
||||
preset_mode: 'eco'
|
||||
- service: script.notify_engine
|
||||
data:
|
||||
title: "Thermostat Eco Mode Triggered"
|
||||
value1: "DEBUG: Everyone is gone and the Automation was triggered."
|
||||
who: "carlo"
|
||||
|
@ -28,8 +28,6 @@
|
||||
- light.main_slider
|
||||
- light.garage_attic
|
||||
- light.bedroom_lights
|
||||
- light.den_2
|
||||
- light.den1
|
||||
- light.dinette_lights
|
||||
- light.dining_room_lights
|
||||
- light.foyer
|
||||
|
@ -1,49 +0,0 @@
|
||||
blueprint:
|
||||
name: Motion-activated Light
|
||||
domain: automation
|
||||
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
|
||||
input:
|
||||
motion_entity:
|
||||
name: Motion Sensor
|
||||
selector:
|
||||
entity:
|
||||
domain: binary_sensor
|
||||
device_class: motion
|
||||
light_target:
|
||||
name: Light
|
||||
selector:
|
||||
target:
|
||||
entity:
|
||||
domain: light
|
||||
no_motion_wait:
|
||||
name: Wait time
|
||||
description: Time to wait until the light should be turned off.
|
||||
default: 120
|
||||
selector:
|
||||
number:
|
||||
min: 0
|
||||
max: 3600
|
||||
unit_of_measurement: seconds
|
||||
|
||||
# If motion is detected within the delay,
|
||||
# we restart the script.
|
||||
mode: restart
|
||||
max_exceeded: silent
|
||||
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: !input motion_entity
|
||||
from: "off"
|
||||
to: "on"
|
||||
|
||||
action:
|
||||
- service: light.turn_on
|
||||
target: !input light_target
|
||||
- wait_for_trigger:
|
||||
platform: state
|
||||
entity_id: !input motion_entity
|
||||
from: "on"
|
||||
to: "off"
|
||||
- delay: !input no_motion_wait
|
||||
- service: light.turn_off
|
||||
target: !input light_target
|
@ -1,41 +0,0 @@
|
||||
blueprint:
|
||||
name: Send notification when a person leaves a zone
|
||||
domain: automation
|
||||
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
|
||||
input:
|
||||
person_entity:
|
||||
name: Person
|
||||
selector:
|
||||
entity:
|
||||
domain: person
|
||||
zone_entity:
|
||||
name: Zone
|
||||
selector:
|
||||
entity:
|
||||
domain: zone
|
||||
notify_device:
|
||||
name: Device to notify
|
||||
description: Device needs to run the official Home Assistant app to receive notifications.
|
||||
selector:
|
||||
device:
|
||||
integration: mobile_app
|
||||
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: !input person_entity
|
||||
|
||||
variables:
|
||||
zone_entity: !input zone_entity
|
||||
zone_state: "{{ states[zone_entity].name }}"
|
||||
person_entity: !input person_entity
|
||||
person_name: "{{ states[person_entity].name }}"
|
||||
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
|
||||
|
||||
action:
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
device_id: !input notify_device
|
||||
message: "{{ person_name }} has left {{ zone_state }}"
|
@ -1,74 +0,0 @@
|
||||
blueprint:
|
||||
name: Confirmable Notification
|
||||
description: >-
|
||||
A script that sends an actionable notification with a confirmation before
|
||||
running the specified action.
|
||||
domain: script
|
||||
source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml
|
||||
input:
|
||||
notify_device:
|
||||
name: Device to notify
|
||||
description: Device needs to run the official Home Assistant app to receive notifications.
|
||||
selector:
|
||||
device:
|
||||
integration: mobile_app
|
||||
title:
|
||||
name: "Title"
|
||||
description: "The title of the button shown in the notification."
|
||||
default: ""
|
||||
selector:
|
||||
text:
|
||||
message:
|
||||
name: "Message"
|
||||
description: "The message body"
|
||||
selector:
|
||||
text:
|
||||
confirm_text:
|
||||
name: "Confirmation Text"
|
||||
description: "Text to show on the confirmation button"
|
||||
default: "Confirm"
|
||||
selector:
|
||||
text:
|
||||
confirm_action:
|
||||
name: "Confirmation Action"
|
||||
description: "Action to run when notification is confirmed"
|
||||
default: []
|
||||
selector:
|
||||
action:
|
||||
dismiss_text:
|
||||
name: "Dismiss Text"
|
||||
description: "Text to show on the dismiss button"
|
||||
default: "Dismiss"
|
||||
selector:
|
||||
text:
|
||||
dismiss_action:
|
||||
name: "Dismiss Action"
|
||||
description: "Action to run when notification is dismissed"
|
||||
default: []
|
||||
selector:
|
||||
action:
|
||||
|
||||
mode: restart
|
||||
|
||||
sequence:
|
||||
- alias: "Send notification"
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
device_id: !input notify_device
|
||||
title: !input title
|
||||
message: !input message
|
||||
data:
|
||||
actions:
|
||||
- action: "CONFIRM"
|
||||
title: !input confirm_text
|
||||
- action: "DISMISS"
|
||||
title: !input dismiss_text
|
||||
- alias: "Awaiting response"
|
||||
wait_for_trigger:
|
||||
- platform: event
|
||||
event_type: mobile_app_notification_action
|
||||
- choose:
|
||||
- conditions: "{{ wait.trigger.event.data.action == 'CONFIRM' }}"
|
||||
sequence: !input confirm_action
|
||||
- conditions: "{{ wait.trigger.event.data.action == 'DISMISS' }}"
|
||||
sequence: !input dismiss_action
|
@ -64,34 +64,7 @@ light: !include light_groups.yaml
|
||||
ifttt:
|
||||
key: !secret ifttt_key
|
||||
|
||||
logbook:
|
||||
exclude:
|
||||
entities:
|
||||
- automation.detect_lights_and_adjust_the_brightness_when_turned_on_based_on_time
|
||||
- automation.cuckoo_clock
|
||||
- binary_sensor.office_motion
|
||||
- group.garage_doors
|
||||
- media_player.LivingRoomCC
|
||||
- py.warnings
|
||||
- sensor.small_garage_status
|
||||
- sensor.large_garage_status
|
||||
- sensor.small_garage_time_in_state
|
||||
- sensor.large_garage_time_in_state
|
||||
- sensor.large_garage_wifi_signal_strength
|
||||
- sensor.small_garage_wifi_signal_strength
|
||||
- sensor.small_garage_reflection_rate
|
||||
- sensor.large_garage_reflection_rate
|
||||
- sensor.pi_hole_ads_blocked_today
|
||||
- sensor.pi_hole_ads_percentage_blocked_today
|
||||
- sensor.pi_hole_dns_queries_today
|
||||
- sensor.time
|
||||
- sensor.date
|
||||
- sensor.floorplan_date
|
||||
- sensor.floorplan_time
|
||||
- sensor.ha_uptime
|
||||
- sensor.sleepnumber_carlo_stacey_pressure
|
||||
- sensor.sleepnumber_carlo_carlo_pressure
|
||||
|
||||
logbook: !include logbook.yaml
|
||||
logger: !include logger.yaml
|
||||
recorder: !include recorder.yaml
|
||||
|
||||
|
@ -4,8 +4,6 @@ Interior_Lights:
|
||||
- group.kitchen_accents
|
||||
- light.bedroom
|
||||
- light.bedroom_lights
|
||||
- light.den_2
|
||||
- light.den1
|
||||
- light.dinette_lights
|
||||
- light.dining_room_lights
|
||||
- light.foyer
|
||||
|
@ -3,7 +3,6 @@ media_players:
|
||||
- media_player.livingroomcc
|
||||
- media_player.living_room_tv
|
||||
- media_player.living_room_ultra
|
||||
- media_player.upstairs_living_room
|
||||
- media_player.bedroom_tablet
|
||||
- media_player.living_room
|
||||
- media_player.front_room_flex
|
||||
@ -24,6 +23,5 @@ tvs:
|
||||
- media_player.roku_3810x_923c
|
||||
- media_player.roku_living_room
|
||||
- media_player.tv_samsung_q70_series_65
|
||||
- media_player.upstairs_living_room
|
||||
|
||||
|
||||
|
@ -14,7 +14,7 @@ Interior Switches:
|
||||
- switch.lr_amp
|
||||
- switch.master_bathroom_accent_1
|
||||
- switch.master_bathroom_accent_2
|
||||
- switch.pool_deck
|
||||
#- switch.pool_deck - Not being used right now
|
||||
- switch.foyer_outlet
|
||||
- switch.den_outlet
|
||||
- switch.living_room_outlet
|
||||
|
@ -1,7 +1,3 @@
|
||||
home_stats:
|
||||
name: Home Stats
|
||||
initial: off
|
||||
|
||||
responsibilities:
|
||||
name: responsibilities
|
||||
initial: off
|
||||
|
42
config/logbook.yaml
Normal file
42
config/logbook.yaml
Normal file
@ -0,0 +1,42 @@
|
||||
#-------------------------------------------
|
||||
# Logbook Configuration
|
||||
# Description: Settings for the Home Assistant logbook component
|
||||
# This component is responsible for displaying items in the logbook.
|
||||
# Follow me on https://www.vcloudinfo.com/click-here
|
||||
# Original Repo: https://github.com/CCOSTAN/Home-AssistantConfig
|
||||
#-------------------------------------------
|
||||
|
||||
exclude:
|
||||
entity_globs:
|
||||
- sensor.*_location
|
||||
- sensor.*_place
|
||||
- sensor.*_geocoded_location
|
||||
- sensor.pirateweather_*
|
||||
- weather.*
|
||||
entities:
|
||||
- automation.cuckoo_clock
|
||||
- automation.detect_lights_and_adjust_the_brightness_when_turned_on_based_on_time
|
||||
- binary_sensor.office_motion
|
||||
- binary_sensor.refrigerator_door_open
|
||||
- binary_sensor.rheem_wh_running
|
||||
- group.garage_doors
|
||||
- media_player.LivingRoomCC
|
||||
- sensor.date
|
||||
- sensor.downstairs_ac_cooling_numeric
|
||||
- sensor.ha_uptime
|
||||
- sensor.large_garage_reflection_rate
|
||||
- sensor.large_garage_status
|
||||
- sensor.large_garage_time_in_state
|
||||
- sensor.large_garage_wifi_signal_strength
|
||||
- sensor.pi_hole_ads_blocked_today
|
||||
- sensor.pi_hole_ads_percentage_blocked_today
|
||||
- sensor.pi_hole_dns_queries_today
|
||||
- sensor.rheem_wh_running_state
|
||||
- sensor.sleepnumber_carlo_carlo_pressure
|
||||
- sensor.sleepnumber_carlo_stacey_pressure
|
||||
- sensor.small_garage_reflection_rate
|
||||
- sensor.small_garage_status
|
||||
- sensor.small_garage_time_in_state
|
||||
- sensor.small_garage_wifi_signal_strength
|
||||
- sensor.time
|
||||
- sensor.upstairs_ac_cooling_numeric
|
@ -14,13 +14,12 @@
|
||||
|
||||
default: info
|
||||
logs:
|
||||
AIOGitHubAPI: error
|
||||
aiohttp.access: critical
|
||||
aiohttp.server: critical
|
||||
aiounifi: error
|
||||
custom_components.hacs: error
|
||||
hacs: error
|
||||
queueman: error
|
||||
AIOGitHubAPI: error
|
||||
homeassistant.core: error
|
||||
homeassistant.config_entries: error
|
||||
homeassistant.components.automation: warn
|
||||
@ -29,10 +28,14 @@ logs:
|
||||
homeassistant.components.device_tracker: error
|
||||
homeassistant.components.discovery: warn
|
||||
homeassistant.components.feedreader: error
|
||||
homeassistant.components.history: error
|
||||
homeassistant.components.http: warn
|
||||
homeassistant.components.ipp: critical
|
||||
homeassistant.components.logbook: error
|
||||
homeassistant.components.media_player: info
|
||||
homeassistant.components.mqtt: error
|
||||
homeassistant.components.mqtt.discovery: critical
|
||||
homeassistant.components.persistent_notification: critical
|
||||
homeassistant.components.rest.sensor: critical
|
||||
homeassistant.components.recorder: error
|
||||
homeassistant.components.sensor.pi_hole: critical
|
||||
@ -47,9 +50,11 @@ logs:
|
||||
homeassistant.helpers.script: info
|
||||
homeassistant.helpers.entity: critical
|
||||
homeassistant.loader: warn
|
||||
homeassistant.components.websocket_api: error
|
||||
pubnub: critical
|
||||
py.warnings: error
|
||||
pyhap.hap_server: warn
|
||||
queueman: error
|
||||
urllib3.connectionpool: error
|
||||
requests.packages.urllib3.connectionpool: critical
|
||||
root: warn
|
||||
|
@ -12,4 +12,3 @@ sensor:
|
||||
{{ states.media_player | selectattr('attributes.last_called','eq',True) | map(attribute='entity_id') | first | default('none') }}
|
||||
|
||||
#-------------------------------------------
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
# --------------------------------------------------
|
||||
# AC Filter‑change runtime tracker
|
||||
# --------------------------------------------------
|
||||
######################################################################
|
||||
## AC related automations
|
||||
## For more info visit https://www.vcloudinfo.com/click-here
|
||||
## Contact: @CCOSTAN
|
||||
######################################################################
|
||||
|
||||
input_datetime:
|
||||
downstairs_last_filter_change:
|
||||
@ -118,6 +120,19 @@ automation:
|
||||
who: "Carlo"
|
||||
group: "maintenance"
|
||||
|
||||
- alias: 'AC Status off Announcement'
|
||||
id: 7812fdaf-a3f8-498b-8f07-28e977e528fe
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- climate.downstairs
|
||||
- climate.upstairs
|
||||
from: 'off'
|
||||
action:
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
NestStatus: "The {{ trigger.entity_id.split('.')[1].split('_')[0]}} {{ trigger.entity_id.split('.')[1].split('_')[1]}} has now been turned on for {{(trigger.to_state.state)}}."
|
||||
call_window_check: 1
|
||||
|
||||
- alias: Prevent Upstairs Nest Below 76
|
||||
id: 7812fdaf-a3f8-498b-8f07-28e977e528ff
|
||||
@ -132,3 +147,33 @@ automation:
|
||||
data:
|
||||
entity_id: climate.upstairs
|
||||
temperature: 77
|
||||
|
||||
- alias: Set Downstairs Nest to 76 When both in bed
|
||||
id: set_downstairs_nest_76_both_in_bed
|
||||
trigger:
|
||||
- platform: numeric_state
|
||||
entity_id: climate.downstairs
|
||||
attribute: temperature
|
||||
above: 76
|
||||
- platform: state
|
||||
entity_id: group.bed
|
||||
to: 'on'
|
||||
condition:
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: binary_sensor.sleepnumber_carlo_carlo_is_in_bed
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: binary_sensor.sleepnumber_carlo_stacey_is_in_bed
|
||||
state: 'on'
|
||||
- condition: numeric_state
|
||||
entity_id: climate.downstairs
|
||||
attribute: temperature
|
||||
above: 76
|
||||
action:
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 76
|
||||
|
||||
|
@ -1,81 +0,0 @@
|
||||
#-------------------------------------------
|
||||
# Conico Cameras Configuration
|
||||
# Description: Integrates Conico Cameras with Alexa Media Player
|
||||
# Last Updated: 2023-11-15
|
||||
#
|
||||
# Features:
|
||||
# - Displays garage camera feed on Echo Show devices
|
||||
# - Displays driveway camera feed when front door opens
|
||||
# - Triggers based on garage door state and occupancy changes
|
||||
#
|
||||
# Hardware:
|
||||
# - Conico Camera: https://amzn.to/2Kl1eHo
|
||||
# - Amazon Echo Show devices
|
||||
#
|
||||
# Integration: Alexa Media Player
|
||||
#
|
||||
# Original Repo: https://github.com/CCOSTAN/Home-AssistantConfig
|
||||
# Blog Post: https://www.vcloudinfo.com/2019/03/integrating-smart-cameras-with-alexa-echo-shows.html
|
||||
# Follow me on https://www.vcloudinfo.com/click-here
|
||||
#-------------------------------------------
|
||||
|
||||
|
||||
automation:
|
||||
- alias: 'Garage Camera on Alexa Shows'
|
||||
id: 4373df2a-77f2-4e19-be7c-46c7b27ca583
|
||||
mode: single
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- cover.large_garage_door
|
||||
- cover.small_garage_door
|
||||
from: 'closed'
|
||||
to: 'open'
|
||||
|
||||
- platform: state
|
||||
entity_id: binary_sensor.mcu1_gpio12 #interior Garage Doors
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
|
||||
- platform: state
|
||||
entity_id:
|
||||
- person.carlo
|
||||
- person.stacey
|
||||
- person.paige
|
||||
- person.justin
|
||||
to: 'not_home'
|
||||
from: 'home'
|
||||
|
||||
action:
|
||||
- choose:
|
||||
- conditions: "{{ is_state('binary_sensor.sleepnumber_carlo_stacey_is_in_bed','on') }}"
|
||||
sequence:
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.stacey_bedroom
|
||||
media_content_id: 'show garage camera from home assistant'
|
||||
media_content_type: custom
|
||||
- delay: '00:10:00'
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.stacey_bedroom
|
||||
media_content_id: 'hide garage camera'
|
||||
media_content_type: custom
|
||||
|
||||
default:
|
||||
- service: media_player.play_media
|
||||
target:
|
||||
entity_id: media_player.kitchen
|
||||
data:
|
||||
media_content_id: 'show garage camera from home assistant'
|
||||
media_content_type: custom
|
||||
- delay: '00:20:00'
|
||||
- service: media_player.play_media
|
||||
target:
|
||||
entity_id: media_player.kitchen
|
||||
data:
|
||||
media_content_id: 'hide garage camera'
|
||||
media_content_type: custom
|
||||
|
||||
- service: script.garage_lights_off
|
||||
|
38
config/packages/fridge.yaml
Normal file
38
config/packages/fridge.yaml
Normal file
@ -0,0 +1,38 @@
|
||||
#-------------------------------------------
|
||||
# @CCOSTAN
|
||||
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
||||
# Support for LG Fridges (https://amzn.to/3lOYTCv)
|
||||
# Added ThinLg HACS integration for Fridge sensors - https://github.com/ollo69/ha-smartthinq-sensors
|
||||
#-------------------------------------------
|
||||
|
||||
automation:
|
||||
- alias: 'Fridge Door Open'
|
||||
id: 2346efcd-e8a8-4e86-b5b6-43eBl1nkFr1dge95D00r0pen
|
||||
mode: single
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.refrigerator_door_open
|
||||
to: 'on'
|
||||
for:
|
||||
minutes: 5
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: binary_sensor.refrigerator_door_open
|
||||
state: 'on'
|
||||
action:
|
||||
- service: script.notify_engine
|
||||
data:
|
||||
title: 'Fridge Door Open'
|
||||
value1: >
|
||||
The fridge door has been open for more than 5 minutes. Please check and close the fridge door to avoid temperature issues.
|
||||
who: 'family'
|
||||
group: 'information'
|
||||
|
||||
- wait_template: "{{ states.group.family.state == 'home' }}"
|
||||
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
value1: "Attention! The fridge door has been open for more than 5 minutes. Please close the fridge door."
|
||||
|
||||
- delay: 00:30:00
|
||||
- event: event_fridge_door_open
|
@ -79,11 +79,50 @@ group:
|
||||
- cover.large_garage_door
|
||||
- cover.small_garage_door
|
||||
|
||||
automation:
|
||||
|
||||
######################################################################
|
||||
## Automation: Auto-open Large Garage Door when someone comes home
|
||||
######################################################################
|
||||
- alias: 'Auto Open Large Garage Door On Arrival'
|
||||
id: 7e2b1c3a-4b1e-4b2a-9c1a-automated_garage_door
|
||||
mode: single
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- person.carlo
|
||||
- person.stacey
|
||||
- person.justin
|
||||
from: 'not_home'
|
||||
to: 'home'
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: cover.large_garage_door
|
||||
state: 'closed'
|
||||
- condition: state
|
||||
entity_id: group.bed
|
||||
state: 'off'
|
||||
action:
|
||||
- service: cover.open_cover
|
||||
target:
|
||||
entity_id: cover.large_garage_door
|
||||
- service: input_text.set_value
|
||||
target:
|
||||
entity_id: input_text.last_person_home
|
||||
data:
|
||||
value: "{{ trigger.to_state.entity_id.split('.')[1] }}"
|
||||
- service: script.notify_engine
|
||||
data:
|
||||
who: 'parents'
|
||||
value1: "Large Garage has been auto-opened for {{ states('input_text.last_person_home') }}."
|
||||
title: 'Garage Auto-Opened'
|
||||
group: 'Welcome_Home'
|
||||
camera_entity: camera.garagecam
|
||||
|
||||
######################################################################
|
||||
## Send a notification to anyone coming home asking if they want to open the garage door.
|
||||
######################################################################
|
||||
|
||||
automation:
|
||||
- alias: 'Garage Helper'
|
||||
id: 365adc21-5e96-4e78-9e94-089901a29430
|
||||
mode: parallel
|
||||
@ -339,3 +378,61 @@ automation:
|
||||
data:
|
||||
value1: "Check the garage doors. The Small garage is {{ states('cover.small_garage_door')}} and the large garage is {{ states('cover.large_garage_door')}} [Only mention the garage door that is open and remind us to close it for the night]"
|
||||
|
||||
- alias: 'Garage Camera on Alexa Shows'
|
||||
id: 4373df2a-77f2-4e19-be7c-46c7b27ca583
|
||||
mode: single
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- cover.large_garage_door
|
||||
- cover.small_garage_door
|
||||
from: 'closed'
|
||||
to: 'open'
|
||||
|
||||
- platform: state
|
||||
entity_id: binary_sensor.mcu1_gpio12 #interior Garage Doors
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
|
||||
- platform: state
|
||||
entity_id:
|
||||
- person.carlo
|
||||
- person.stacey
|
||||
- person.paige
|
||||
- person.justin
|
||||
to: 'not_home'
|
||||
from: 'home'
|
||||
|
||||
action:
|
||||
- choose:
|
||||
- conditions: "{{ is_state('binary_sensor.sleepnumber_carlo_stacey_is_in_bed','on') }}"
|
||||
sequence:
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.stacey_bedroom
|
||||
media_content_id: 'show garage camera from home assistant'
|
||||
media_content_type: custom
|
||||
- delay: '00:10:00'
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.stacey_bedroom
|
||||
media_content_id: 'hide garage camera'
|
||||
media_content_type: custom
|
||||
|
||||
default:
|
||||
- service: media_player.play_media
|
||||
target:
|
||||
entity_id: media_player.kitchen
|
||||
data:
|
||||
media_content_id: 'show garage camera from home assistant'
|
||||
media_content_type: custom
|
||||
- delay: '00:20:00'
|
||||
- service: media_player.play_media
|
||||
target:
|
||||
entity_id: media_player.kitchen
|
||||
data:
|
||||
media_content_id: 'hide garage camera'
|
||||
media_content_type: custom
|
||||
|
||||
- service: script.garage_lights_off
|
||||
|
||||
|
@ -15,3 +15,22 @@ automation:
|
||||
target:
|
||||
entity_id: button.qemu_docker2_101_reboot
|
||||
mode: single
|
||||
|
||||
- alias: "Notify Carlo of Proxmox Updates"
|
||||
id: notify_carlo_proxmox_updates
|
||||
description: "Sends a notification to Carlo when there are updates available for the Proxmox hosts."
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.node_proxmox02_updates_packages
|
||||
to: 'on'
|
||||
- platform: state
|
||||
entity_id: binary_sensor.node_proxmox1_updates_packages
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.notify_engine
|
||||
data:
|
||||
who: carlo
|
||||
title: "Proxmox Updates Available"
|
||||
value1: "There are updates available for the Proxmox hosts. Please review and apply updates as needed."
|
||||
group: "information"
|
||||
mode: single
|
||||
|
@ -11,16 +11,23 @@ command_line:
|
||||
unique_id: lines_of_code
|
||||
command: "find /config -name '*.yaml' | xargs cat | wc -l"
|
||||
scan_interval: 20000
|
||||
value_template: "{{ value | int }}"
|
||||
unit_of_measurement: "count"
|
||||
- sensor:
|
||||
name: 'GitHub Open Issues'
|
||||
unique_id: github_open_issues
|
||||
command: 'curl -s https://api.github.com/repos/ccostan/home-assistantconfig'
|
||||
scan_interval: 20000
|
||||
value_template: '{{ value_json.open_issues }}'
|
||||
unit_of_measurement: 'count'
|
||||
|
||||
- sensor:
|
||||
name: 'GitHub Stats'
|
||||
unique_id: github_stats_command
|
||||
command: 'curl https://api.github.com/repos/ccostan/home-assistantconfig'
|
||||
name: 'GitHub Stargazers'
|
||||
unique_id: github_stargazers
|
||||
command: 'curl -s https://api.github.com/repos/ccostan/home-assistantconfig'
|
||||
scan_interval: 20000
|
||||
value_template: '{{ value_json.name }}'
|
||||
json_attributes:
|
||||
- open_issues
|
||||
- stargazers_count
|
||||
value_template: '{{ value_json.stargazers_count }}'
|
||||
unit_of_measurement: 'count'
|
||||
|
||||
sensor:
|
||||
- platform: history_stats
|
||||
@ -66,31 +73,42 @@ sensor:
|
||||
friendly_name: 'Number of Sensors'
|
||||
value_template: >-
|
||||
{{ states.sensor | list | count }}
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:counter
|
||||
|
||||
automation_count:
|
||||
friendly_name: 'Number of Automations'
|
||||
value_template: >-
|
||||
{{ states.automation| list | count }}
|
||||
{{ states.automation | list | count }}
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:robot
|
||||
|
||||
script_count:
|
||||
friendly_name: 'Number of Scripts'
|
||||
value_template: >
|
||||
value_template: >-
|
||||
{{ states.script | list | count }}
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:script-text
|
||||
|
||||
binary_sensor_count:
|
||||
friendly_name: 'Number of Binary Sensors'
|
||||
value_template: >-
|
||||
{{ states.binary_sensor | list | count }}
|
||||
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:binary-sensor
|
||||
tracker_count:
|
||||
friendly_name: 'Number of Devices'
|
||||
value_template: >-
|
||||
{{ states.device_tracker| list | count }}
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:account-group
|
||||
|
||||
lights_count:
|
||||
friendly_name: 'Number of Lights'
|
||||
value_template: >
|
||||
{{ states.light | list | count }}
|
||||
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:lightbulb
|
||||
lights_on_count:
|
||||
friendly_name: "Number of lights on"
|
||||
value_template: >-
|
||||
@ -103,7 +121,8 @@ sensor:
|
||||
{% else %}
|
||||
{{ qty }} {{ p1 }} on.
|
||||
{% endif %}
|
||||
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:binary-sensor
|
||||
protect_count:
|
||||
friendly_name: 'Number of Smoke Detectors'
|
||||
value_template: >
|
||||
@ -116,9 +135,12 @@ sensor:
|
||||
{% else %}
|
||||
0
|
||||
{% endif %}
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:smoke-detector
|
||||
camera_count:
|
||||
friendly_name: 'Number of online Cameras'
|
||||
value_template: >
|
||||
{{ states.camera | list | count }}
|
||||
|
||||
unit_of_measurement: 'count'
|
||||
icon_template: mdi:camera
|
||||
#############################################################
|
||||
|
@ -11,28 +11,48 @@
|
||||
#-------------------------------------------
|
||||
#db_url: sqlite:///data/home-assistant_v2.db
|
||||
purge_keep_days: 30
|
||||
include:
|
||||
entities:
|
||||
- device_tracker.spaceship_location_tracker
|
||||
exclude:
|
||||
domains:
|
||||
- device_tracker
|
||||
- camera
|
||||
- device_tracker
|
||||
- event
|
||||
- feedreader
|
||||
- image
|
||||
- media_player
|
||||
- persistent_notification
|
||||
- sun
|
||||
- update
|
||||
- zone
|
||||
entity_globs:
|
||||
- sensor.*uptime*
|
||||
- sensor.vpn_client_*
|
||||
- binary_sensor.*_motion
|
||||
- binary_sensor.*_motion_*
|
||||
- binary_sensor.*is_present
|
||||
# - binary_sensor.*occupancy*
|
||||
- light.sleepnumber_*
|
||||
- number.sleepnumber_*
|
||||
- media_player.*echo*
|
||||
- select.sleepnumber_*
|
||||
- sensor.*_battery
|
||||
- sensor.*_battery_state
|
||||
- sensor.*_bssid
|
||||
- sensor.*_first_connection*
|
||||
- sensor.*_last_connection*
|
||||
- binary_sensor.*_motion
|
||||
- binary_sensor.*is_present
|
||||
- binary_sensor.*_motion_*
|
||||
- sensor.*_last_update*
|
||||
- sensor.*_last_boot
|
||||
- sensor.*_since
|
||||
- sensor.*uptime*
|
||||
- sensor.vpn_client_*
|
||||
- switch.*_do_not_disturb_*
|
||||
- switch.*_repeat_switch
|
||||
|
||||
entities:
|
||||
- automation.update_garage_get_status
|
||||
- binary_sensor.bear_stone
|
||||
- binary_sensor.powerwall_charging
|
||||
- media_player.carlo_s_4th_fire
|
||||
- media_player.alarm_panel_2
|
||||
- script.speech_processing
|
||||
- number.alarm_panel_1_screen_brightness
|
||||
- script.amp_settings
|
||||
- script.speech_processing
|
||||
- sensor.bear_stone
|
||||
- sensor.carlo_ap
|
||||
- sensor.carlo_fast
|
||||
- sensor.clock_am_pm
|
||||
@ -42,23 +62,26 @@ exclude:
|
||||
- sensor.clock_time
|
||||
- sensor.clock_time_2
|
||||
- sensor.date
|
||||
- sensor.dockerconfigs_backup_date
|
||||
- sensor.dockerconfigs_backup_error_message
|
||||
- sensor.dockerconfigs_backup_status
|
||||
- sensor.external_ip
|
||||
- sensor.floorplan_date
|
||||
- sensor.floorplan_time
|
||||
- sensor.floorplan_time_2
|
||||
- sensor.ha_uptime
|
||||
- sensor.large_garage_door_since
|
||||
- sensor.small_garage_door_since
|
||||
- sensor.last_alexa
|
||||
- sensor.lights_on_count
|
||||
- sensor.low_battery
|
||||
- sensor.network
|
||||
- sensor.network_detail
|
||||
- sensor.pi_hole_ads_blocked_today
|
||||
- sensor.pi_hole_ads_percentage_blocked_today
|
||||
- sensor.pi_hole_dns_queries_today
|
||||
- sensor.small_garage_door_since
|
||||
- sensor.large_garage_door_since
|
||||
- sensor.stacey_iphone11_activity
|
||||
- sensor.time
|
||||
- sensor.rachio_watering_time
|
||||
- binary_sensor.rheem_wh_running
|
||||
- sun.sun
|
||||
- zone.home
|
||||
- sensor.stacey_iphone11_activity
|
||||
- sensor.stacey_iphone11_audio_output
|
||||
- sensor.sun_next_dawn
|
||||
- sensor.time
|
||||
- switch.bear_stone
|
||||
- switch.alarm_panel_1_screensaver
|
||||
|
||||
|
@ -3,11 +3,12 @@
|
||||
# action:
|
||||
# service: script.speech_engine
|
||||
# data:
|
||||
# value1:
|
||||
# call_no_announcement:
|
||||
# call_dark_outside:
|
||||
# call_window_check:
|
||||
# call_garage_check:
|
||||
# call_responsibilities
|
||||
# call_garbage_day
|
||||
# call_light_check
|
||||
# call_inside_weather
|
||||
# call_outside_weather
|
||||
@ -50,9 +51,8 @@ speech_engine:
|
||||
# Include the speech message from the "speech/briefing.yaml" template file
|
||||
speech_message: !include ../templates/speech/briefing.yaml
|
||||
|
||||
# Turn off the "input_boolean.home_stats" and "input_boolean.responsibilities" input booleans
|
||||
# Turn off the "input_boolean.home_stats"
|
||||
- service: input_boolean.turn_off
|
||||
data:
|
||||
entity_id:
|
||||
- input_boolean.home_stats
|
||||
- input_boolean.responsibilities
|
||||
|
@ -21,7 +21,7 @@
|
||||
The sun has set. I will turn on the outside lights.
|
||||
{%- endmacro -%}
|
||||
|
||||
{%- macro responsibilities() -%}
|
||||
{%- macro garbage_day() -%}
|
||||
{% set day_of_week = now().strftime('%a') %}
|
||||
{% if day_of_week in ['Wed', 'Sun'] %}
|
||||
Today is garbage day.
|
||||
@ -286,11 +286,11 @@
|
||||
New Information:
|
||||
{% if call_no_announcement != 1 %}
|
||||
{% if now().strftime('%H')|int(9999)< 12 and now().strftime('%H')|int(9999)> 6 %}
|
||||
Good morning.
|
||||
Good morning. [if there is only one person home, address them specifically]
|
||||
{% elif now().strftime('%H')|int(9999)>= 12 and now().strftime('%H')|int(9999)< 17 %}
|
||||
Good afternoon.
|
||||
Good afternoon. [if there is only one person home, address them specifically]
|
||||
{% else %}
|
||||
Good evening.
|
||||
Good evening. [if there is only one person home, address them specifically]
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@ -346,8 +346,8 @@
|
||||
{{ light_check() }}
|
||||
{% endif %}
|
||||
|
||||
{% if call_responsibilities == 1 %}
|
||||
{{ responsibilities() }}
|
||||
{% if call_garbage_day == 1 %}
|
||||
{{ garbage_day() }}
|
||||
{% endif %}
|
||||
|
||||
{% if now().strftime('%H')|int(0) > 21 %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user