Skip to content

Commit c1aec19

Browse files
committed
Update HA automations, scripts, and sidebar config docs
1 parent 67224ed commit c1aec19

7 files changed

Lines changed: 77 additions & 31 deletions

File tree

config/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Live view of the `config/` directory my production Home Assistant instance loads
3838
- **Templates (`templates/`)** – Jinja helpers and speech templates reused by the notify/speech engines.
3939
- **Dashboards (`dashboards/`)** – YAML-managed Lovelace dashboards and UI resources (generated from storage, then maintained as code).
4040
- **www/ + custom components** – branding assets, floorplans, and any custom components the core install depends on.
41-
- **Custom Sidebar (`www/custom-sidebar-config.yaml`)** – restores the Developer Tools shortcut in the bottom sidebar through the HACS-managed Custom Sidebar plugin.
41+
- **Custom Sidebar**`www/custom-sidebar-config.yaml` controls the bottom Developer Tools shortcut; HACS owns the plugin files under `www/community/custom-sidebar`.
4242

4343
### Featured automations by section
4444
| Section | Why start here | Featured automation(s) |

config/automation/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Event-driven automations that sit outside the self-contained packages. These tie
2828
| File | Why it matters |
2929
| --- | --- |
3030
| [garage_entry_light.yaml](garage_entry_light.yaml) | Z-Wave door sensor + motion-controlled garage entry lighting. |
31-
| [kitchen_sink_circadian.yaml](kitchen_sink_circadian.yaml) | Sink light follows a soft morning, warm daytime, and sunset color-temperature schedule. |
31+
| [kitchen_sink_circadian.yaml](kitchen_sink_circadian.yaml) | Sink light follows a soft morning, warm daytime, and sunset color-temperature schedule, and stays off while TV is playing. |
3232
| [dark_rainy_day.yaml](dark_rainy_day.yaml) | Weather-aware lighting helper for gloomy days. |
3333
| [dash_buttons.yaml](dash_buttons.yaml) | Amazon Dash buttons repurposed as quick triggers. |
3434
| [good_night.yaml](good_night.yaml) | Whole-house shutdown and lock-up routine. |

config/automation/kitchen_sink_circadian.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
# Kitchen Sink Circadian Light - all-day white tuning
77
# Turns on after morning bed exits, follows the sun, and shuts down at bedtime.
88
# -------------------------------------------------------------------
9+
# Related Issue: n/a
910
# Notes: Uses color temperature only to avoid inherited color scenes.
11+
# TV playback keeps the sink off so media time does not re-light it.
1012
######################################################################
1113

1214
- alias: "Kitchen Sink Circadian Daylight"
@@ -29,6 +31,10 @@
2931
to: "on"
3032
for: "00:05:00"
3133
id: bed_in
34+
- platform: state
35+
entity_id: media_player.living_room_ultra
36+
to: "playing"
37+
id: tv_playing
3238
- platform: sun
3339
event: sunrise
3440
offset: "-00:30:00"
@@ -61,6 +67,8 @@
6167
or is_state('person.stacey', 'not_home') %}
6268
{% set evening = is_state('sun.sun', 'below_horizon') or now().hour >= 20 or now().hour < 4 %}
6369
{{ evening and carlo_done and stacey_done }}
70+
tv_active: >-
71+
{{ is_state('media_player.living_room_ultra', 'playing') }}
6472
awake_home: >-
6573
{% set carlo_awake = is_state('person.carlo', 'home')
6674
and is_state('binary_sensor.sleepnumber_carlo_carlo_is_in_bed', 'off') %}
@@ -93,9 +101,19 @@
93101
manage_sink: >-
94102
{{ is_state('group.family', 'home')
95103
and is_state('input_boolean.guest_mode', 'off')
104+
and not (tv_active | bool)
96105
and ((awake_home | bool) or is_state('light.sink', 'on'))
97106
and (is_state('light.sink', 'on') or now().hour >= 4) }}
98107
- choose:
108+
- conditions:
109+
- condition: template
110+
value_template: "{{ tv_active | bool }}"
111+
sequence:
112+
- service: light.turn_off
113+
target:
114+
entity_id: light.sink
115+
data:
116+
transition: 60
99117
- conditions:
100118
- condition: template
101119
value_template: "{{ bedtime_active | bool }}"

config/packages/infrastructure.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
# Related Issue: 1584
1010
# Notes: Home dashboard consumes `infra_*` entities for exceptions-only alerts.
1111
# Notes: Domain warning threshold is <30 days; critical threshold is <14 days.
12-
# Notes: Nightly Duplicati verification is performed by codex_appliance against the Duplicati API because HA backup entities are not available.
12+
# Notes: Nightly Duplicati verification is performed by codex_appliance after the Duplicati retry window because HA backup entities are not available.
1313
# Notes: Monthly HA log hygiene review requests Telegram + GitHub issue follow-up only; Joanna must wait for approval before any changes.
1414
# Notes: Numeric WAN telemetry exposes state_class so recorder can keep long-term statistics.
1515
# Notes: Docker host root disk usage uses Glances-backed normalized sensors; raw Glances sensors are recorder/logbook-filtered.
@@ -578,7 +578,7 @@ automation:
578578
mode: single
579579
trigger:
580580
- platform: time
581-
at: "06:15:00"
581+
at: "06:45:00"
582582
action:
583583
- variables:
584584
trigger_context: "HA automation infra_backup_nightly_verification (Infrastructure - Backup Nightly Verification)"
@@ -633,7 +633,7 @@ automation:
633633
entity_ids:
634634
- "switch.duplicati_container"
635635
diagnostics: >-
636-
scheduled_time=06:15:00,
636+
scheduled_time=06:45:00,
637637
duplicati_container={{ duplicati_state }},
638638
verifier_http_status={{ verify_http_status }},
639639
verifier_status={{ verify_status }},

config/script/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Reusable scripts that other automations call for notifications, lighting, safety
3131
| [notify_live_activity.yaml](notify_live_activity.yaml) | Shared helper for tagged live activity/live update pushes and clear commands. |
3232
| [send_to_logbook.yaml](send_to_logbook.yaml) | Generic `logbook.log` helper for Activity feed entries (Issue #1550). |
3333
| [joanna_dispatch.yaml](joanna_dispatch.yaml) | Shared AGENT engineer dispatch contract that routes HA-detected issues into Joanna/BearClaw remediation. |
34-
| [speech_engine.yaml](speech_engine.yaml) | TTS/announcement orchestration with templated speech. |
34+
| [speech_engine.yaml](speech_engine.yaml) | TTS/announcement orchestration with templated speech; speech processing also routes garage Echo announcements and office Echo announcements when the office lamp switch indicates active PC work. |
3535
| [monthly_color_scene.yaml](monthly_color_scene.yaml) | Seasonal lighting scenes used across automations. |
3636
| [interior_off.yaml](interior_off.yaml) | One-call "all interior lights off" helper. |
3737

config/script/speech_processing.yaml

Lines changed: 49 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
1-
#-------------------------------------------
2-
# Speech Processing Script
3-
# Description: Sends notifications to ChromeCast Audio devices
4-
#
5-
# Features:
6-
# - Operates during specified hours
7-
# - Activates when family is home or guest/vacation mode is on
8-
# - Adjustable volume based on time of day
9-
#
10-
# Usage:
11-
# action:
12-
# service: script.speech_engine
13-
# data:
14-
# media_player: [target_media_player]
15-
# speech_message: [message_to_speak]
16-
#
17-
# Original Repo: https://github.com/CCOSTAN/Home-AssistantConfig
18-
# Follow me on https://www.vcloudinfo.com/click-here
19-
#-------------------------------------------
1+
######################################################################
2+
# @CCOSTAN - Follow Me on X
3+
# For more info visit https://www.vcloudinfo.com/click-here
4+
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
5+
# -------------------------------------------------------------------
6+
# Speech Processing Script - shared spoken announcement delivery
7+
# Sends OpenAI-polished speech to Chromecast targets and routed Echo announcements.
8+
# -------------------------------------------------------------------
9+
# Related Issue: 798
10+
# Notes: Operates only when family/guest/vacation and speech notification
11+
# guards allow it, with time-aware volume.
12+
# Notes: Garage Echo is an always-on announcement target. Office Echo is
13+
# added when switch.office_lamp_switch is on, which tracks active PC work.
14+
######################################################################
2015

2116
speech_processing:
2217
mode: queued
@@ -79,18 +74,50 @@ speech_processing:
7974
{{ speech_message }}
8075
response_variable: agent
8176

77+
- variables:
78+
speech_response: "{{ agent.response.speech.plain.speech }}"
79+
routed_media_players: "{{ media_player | string | lower }}"
80+
8281
- service: tts.cloud_say
8382
data:
84-
entity_id: media_player.livingroomCC
83+
entity_id: >
84+
{{ media_player }}
8585
options:
8686
voice: JennyNeural
8787
message: >-
88-
{{ agent.response.speech.plain.speech }}
88+
{{ speech_response }}
8989
cache: false
9090

91+
- choose:
92+
- conditions:
93+
- condition: template
94+
value_template: "{{ 'media_player.garage' not in routed_media_players }}"
95+
sequence:
96+
- service: notify.alexa_media_garage
97+
continue_on_error: true
98+
data:
99+
message: "{{ speech_response }}"
100+
data:
101+
type: announce
102+
103+
- choose:
104+
- conditions:
105+
- condition: state
106+
entity_id: switch.office_lamp_switch
107+
state: 'on'
108+
- condition: template
109+
value_template: "{{ 'media_player.office' not in routed_media_players }}"
110+
sequence:
111+
- service: notify.alexa_media_office
112+
continue_on_error: true
113+
data:
114+
message: "{{ speech_response }}"
115+
data:
116+
type: announce
117+
91118
- event: openai_response
92119
event_data:
93-
response: "{{ now().strftime('%B %d,%Y %-I:%M %p') }} {{ agent.response.speech.plain.speech }}"
120+
response: "{{ now().strftime('%B %d,%Y %-I:%M %p') }} {{ speech_response }}"
94121

95122
- service: input_boolean.turn_off
96123
data:

config/www/custom-sidebar-config.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
# For more info visit https://www.vcloudinfo.com/click-here
44
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
55
# -------------------------------------------------------------------
6-
# Custom Sidebar - Developer Tools shortcut
7-
# Restores Developer Tools as a bottom sidebar item.
6+
# Custom Sidebar - Sidebar shortcut configuration
7+
# Related Issue: 1572
8+
# Adds a bottom-fixed Developer Tools link through elchininet/custom-sidebar.
89
# -------------------------------------------------------------------
9-
# Notes: Custom Sidebar is loaded via frontend.extra_module_url and managed by HACS.
10+
# Served as /local/custom-sidebar-config.yaml; plugin loads via HACS.
1011
######################################################################
1112

1213
order:

0 commit comments

Comments
 (0)