diff --git a/README.md b/README.md
index cb41c646..cc0aa94b 100755
--- a/README.md
+++ b/README.md
@@ -259,10 +259,8 @@ Defining Guest Mode - /config/input_boolean/home_modes.yaml#L1-L4
Using Guest mode as a condition - /config/script/speech_engine.yaml#L26-L28
-Track garbage days and chore days for the kids. Voice reminders and Alexa intergration/request for info.'
+Track garbage days. Voice reminders and Alexa intergration/request for info.'
-Defining responsibilities trigger - /config/input_boolean/hidden_booleans.yaml#L5-L7
-
Responsibility Speech Code - /config/script/speech_engine.yaml#L56-L68
diff --git a/config/.HA_VERSION b/config/.HA_VERSION
index 5bc1f4d9..8f208759 100755
--- a/config/.HA_VERSION
+++ b/config/.HA_VERSION
@@ -1 +1 @@
-2025.7.1
\ No newline at end of file
+2025.7.2
\ No newline at end of file
diff --git a/config/automation/Speech/announcements.yaml b/config/automation/Speech/announcements.yaml
index 2ea66270..19ba173a 100755
--- a/config/automation/Speech/announcements.yaml
+++ b/config/automation/Speech/announcements.yaml
@@ -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
diff --git a/config/automation/Speech/home_stats.yaml b/config/automation/Speech/home_stats.yaml
index 8c8b8195..d3f78f19 100755
--- a/config/automation/Speech/home_stats.yaml
+++ b/config/automation/Speech/home_stats.yaml
@@ -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
diff --git a/config/automation/Speech/nest.yaml b/config/automation/Speech/nest.yaml
deleted file mode 100755
index b9394a05..00000000
--- a/config/automation/Speech/nest.yaml
+++ /dev/null
@@ -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
-
-
-
-
diff --git a/config/automation/Speech/responsibilities.yaml b/config/automation/Speech/responsibilities.yaml
deleted file mode 100755
index 86835f6d..00000000
--- a/config/automation/Speech/responsibilities.yaml
+++ /dev/null
@@ -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
diff --git a/config/automation/away.yaml b/config/automation/away.yaml
index 5382fe34..58d00de3 100755
--- a/config/automation/away.yaml
+++ b/config/automation/away.yaml
@@ -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"
diff --git a/config/automation/flash_all.yaml b/config/automation/flash_all.yaml
index 5b28606f..76cd3739 100755
--- a/config/automation/flash_all.yaml
+++ b/config/automation/flash_all.yaml
@@ -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
diff --git a/config/blueprints/automation/homeassistant/motion_light.yaml b/config/blueprints/automation/homeassistant/motion_light.yaml
deleted file mode 100755
index c10d3691..00000000
--- a/config/blueprints/automation/homeassistant/motion_light.yaml
+++ /dev/null
@@ -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
diff --git a/config/blueprints/automation/homeassistant/notify_leaving_zone.yaml b/config/blueprints/automation/homeassistant/notify_leaving_zone.yaml
deleted file mode 100755
index 9b79396f..00000000
--- a/config/blueprints/automation/homeassistant/notify_leaving_zone.yaml
+++ /dev/null
@@ -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 }}"
diff --git a/config/blueprints/script/homeassistant/confirmable_notification.yaml b/config/blueprints/script/homeassistant/confirmable_notification.yaml
deleted file mode 100755
index ae170eab..00000000
--- a/config/blueprints/script/homeassistant/confirmable_notification.yaml
+++ /dev/null
@@ -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
diff --git a/config/configuration.yaml b/config/configuration.yaml
index 53eed32a..cc3ec013 100755
--- a/config/configuration.yaml
+++ b/config/configuration.yaml
@@ -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
diff --git a/config/group/Indoor_Outdoor.yaml b/config/group/Indoor_Outdoor.yaml
index 462232f3..fe36faa7 100755
--- a/config/group/Indoor_Outdoor.yaml
+++ b/config/group/Indoor_Outdoor.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
diff --git a/config/group/media_players.yaml b/config/group/media_players.yaml
index b3696ddd..bbbc9159 100755
--- a/config/group/media_players.yaml
+++ b/config/group/media_players.yaml
@@ -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
diff --git a/config/group/switches.yaml b/config/group/switches.yaml
index c76f966e..6059fb5f 100755
--- a/config/group/switches.yaml
+++ b/config/group/switches.yaml
@@ -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
diff --git a/config/input_boolean/hidden_booleans.yaml b/config/input_boolean/hidden_booleans.yaml
index 2532f064..1d561dec 100755
--- a/config/input_boolean/hidden_booleans.yaml
+++ b/config/input_boolean/hidden_booleans.yaml
@@ -1,7 +1,3 @@
home_stats:
name: Home Stats
initial: off
-
-responsibilities:
- name: responsibilities
- initial: off
diff --git a/config/logbook.yaml b/config/logbook.yaml
new file mode 100644
index 00000000..a335337b
--- /dev/null
+++ b/config/logbook.yaml
@@ -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
diff --git a/config/logger.yaml b/config/logger.yaml
index 73bdfcb3..f4a88ef4 100755
--- a/config/logger.yaml
+++ b/config/logger.yaml
@@ -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
diff --git a/config/packages/alexa_media_player.yaml b/config/packages/alexa_media_player.yaml
index 3c5f7dbf..fea8f4ca 100755
--- a/config/packages/alexa_media_player.yaml
+++ b/config/packages/alexa_media_player.yaml
@@ -12,4 +12,3 @@ sensor:
{{ states.media_player | selectattr('attributes.last_called','eq',True) | map(attribute='entity_id') | first | default('none') }}
#-------------------------------------------
-
diff --git a/config/packages/climate.yaml b/config/packages/climate.yaml
index bbd7187c..c0113f07 100644
--- a/config/packages/climate.yaml
+++ b/config/packages/climate.yaml
@@ -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
+
diff --git a/config/packages/conico.yaml b/config/packages/conico.yaml
deleted file mode 100755
index 851392f0..00000000
--- a/config/packages/conico.yaml
+++ /dev/null
@@ -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
-
diff --git a/config/packages/fridge.yaml b/config/packages/fridge.yaml
new file mode 100644
index 00000000..964fea23
--- /dev/null
+++ b/config/packages/fridge.yaml
@@ -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
diff --git a/config/packages/garadget.yaml b/config/packages/garadget.yaml
index c7e92bbf..6819ac52 100755
--- a/config/packages/garadget.yaml
+++ b/config/packages/garadget.yaml
@@ -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
+
diff --git a/config/packages/proxmox.yaml b/config/packages/proxmox.yaml
index dc8c1a32..6e534889 100644
--- a/config/packages/proxmox.yaml
+++ b/config/packages/proxmox.yaml
@@ -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
diff --git a/config/packages/stats.yaml b/config/packages/stats.yaml
index 48b2e4e5..1de8e0c3 100755
--- a/config/packages/stats.yaml
+++ b/config/packages/stats.yaml
@@ -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
#############################################################
diff --git a/config/recorder.yaml b/config/recorder.yaml
index ed208ff5..daba47d4 100755
--- a/config/recorder.yaml
+++ b/config/recorder.yaml
@@ -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
+
diff --git a/config/script/speech_engine.yaml b/config/script/speech_engine.yaml
index 2285cfdf..35b0483e 100755
--- a/config/script/speech_engine.yaml
+++ b/config/script/speech_engine.yaml
@@ -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
diff --git a/config/templates/speech/briefing.yaml b/config/templates/speech/briefing.yaml
index f49142de..5a0b7dc0 100755
--- a/config/templates/speech/briefing.yaml
+++ b/config/templates/speech/briefing.yaml
@@ -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 %}