Skip to content

Commit a23e4b2

Browse files
authored
Merge pull request #1723 from CCOSTAN/codex/Add-Sidebar
Add Custom Sidebar developer tools shortcut
2 parents dc61294 + 8816e3d commit a23e4b2

11 files changed

Lines changed: 89 additions & 96 deletions

File tree

config/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +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.
4142

4243
### Featured automations by section
4344
| Section | Why start here | Featured automation(s) |

config/automation/Speech/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Speech-first automations: contextual announcements, stats briefings, guest mode
2626
### Featured files to browse
2727
| File | Why it matters |
2828
| --- | --- |
29-
| [announcements.yaml](announcements.yaml) | Daily/occasional broadcast messages with quiet hours. |
29+
| [announcements.yaml](announcements.yaml) | Family and tracked Life360 arrival greetings plus daily/occasional broadcast messages. |
3030
| [home_stats.yaml](home_stats.yaml) | Voice summary of house status and interesting stats. |
3131
| [guest_mode.yaml](guest_mode.yaml) | Adjust announcements and behaviors while guests are over. |
3232
| [High_Wind_Speed_Check.yaml](High_Wind_Speed_Check.yaml) | Warn about severe wind before it causes issues. |

config/automation/Speech/announcements.yaml

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
1-
#-------------------------------------------
2-
# People Greeting Announcement
3-
# Description: Announces when family members arrive home
4-
#
5-
# Features:
6-
# - Triggers when a person's state changes from 'not_home' to 'home'
7-
# - Waits for specific sensors to confirm entry
8-
# - Uses speech_engine script for personalized welcome messages
9-
# - Includes responsibility reminders and home status checks
10-
#
11-
# Integration: Uses ChromeCast for audio output
12-
# Follow me https://www.vcloudinfo.com/click-here
13-
# More Blog Posts: https://www.vcloudinfo.com
14-
#-------------------------------------------
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+
# People Greeting Announcement - family and Life360 arrival greetings
7+
# Announces covered home arrivals after entry sensor confirmation.
8+
# -------------------------------------------------------------------
9+
# Notes: `group.arriving` batches simultaneous arrivals; Life360 triggers
10+
# only include tracked people not already covered by `group.family`.
11+
######################################################################
1512
- alias: 'People Greeting'
1613
id: 29c5c9dd-550a-4761-a224-78cdc3dd9f43
1714
mode: restart
@@ -24,6 +21,24 @@
2421
- person.justin
2522
from: 'not_home'
2623
to: 'home'
24+
- platform: state
25+
entity_id:
26+
- device_tracker.life360_adriano_costanzo
27+
- device_tracker.life360_amanda_desantis
28+
- device_tracker.life360_gabriella_desantis
29+
- device_tracker.life360_jessica_desantis
30+
- device_tracker.life360_joseph_desantis
31+
- device_tracker.life360_joyce_ruskin
32+
- device_tracker.life360_yolanda_costanzo
33+
to: 'home'
34+
35+
condition:
36+
- condition: template
37+
value_template: >-
38+
{{
39+
trigger.from_state is not none
40+
and trigger.from_state.state not in ['home', 'unknown', 'unavailable']
41+
}}
2742
2843
action:
2944
# This Group is defined in the groups directory.
@@ -44,7 +59,12 @@
4459
- service: script.speech_engine
4560
data:
4661
personarriving: >
47-
{% set person = expand('group.arriving')|map(attribute='name')|join(' and ') %}
62+
{% set ns = namespace(names=[]) %}
63+
{% for arrival in expand('group.arriving') %}
64+
{% set clean_name = arrival.name | replace('Life360 ', '') | trim %}
65+
{% set ns.names = ns.names + [clean_name.split(' ')[0]] %}
66+
{% endfor %}
67+
{% set person = ns.names | join(' and ') if ns.names else 'someone' %}
4868
{%- macro greeting_sentence(person) -%}
4969
{{"[Welcome " + person + " home]" }}
5070
{%- endmacro -%}

config/configuration.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ homeassistant:
2828

2929
default_config:
3030

31+
frontend:
32+
extra_module_url:
33+
- /hacsfiles/custom-sidebar/custom-sidebar-plugin.js
34+
3135
# -------------------------------------------------------------------
3236
# Lovelace (YAML dashboards/resources)
3337
# Dashboard YAML lives under config/dashboards. Do not edit config/.storage.

config/dashboards/overview/partials/cameras_cards.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@
3030
- camera_entity: camera.kidsgate
3131
- camera_entity: camera.garagecam
3232
view:
33-
default: snapshots
34-
update_cycle_camera: true
35-
scan:
36-
enabled: true
33+
default: clips
34+
camera_select: clips
35+
default_cycle_camera: false
3736
menu:
38-
style: outside
37+
style: hidden
3938
media_gallery:
4039
controls:
4140
thumbnails:

config/packages/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ Live collection of plug-and-play Home Assistant packages. Each YAML file in this
4747
| [logbook_activity_feed.yaml](logbook_activity_feed.yaml) | Dummy `sensor.activity_feed` + helper to write clean Activity entries (Issue #1550). | `sensor.activity_feed`, `script.send_to_logbook` |
4848
| [mariadb_monitoring.yaml](mariadb_monitoring.yaml) | MariaDB health sensors and Lovelace dashboard snippet for recorder stats. | `sensor.mariadb_status`, `sensor.database_size` |
4949
| [docker_infrastructure.yaml](docker_infrastructure.yaml) | Docker host patching telemetry, container/stack Repairs automation, 20-minute Joanna escalation for persistent container outages using stable configured monitor membership, and weekly scheduled prune actions across docker_10/14/17/69. | `sensor.docker_*_apt_status`, `binary_sensor.*_stack_status`, `sensor.docker_stacks_down_count`, `repairs.create`, `script.joanna_dispatch` |
50-
| [github_watched_repo_scout.yaml](github_watched_repo_scout.yaml) | Nightly Joanna dispatch that reviews unread notifications from watched GitHub repos, recommends HA-config ideas, refreshes strong-candidate issues, and marks processed watched-repo notifications read. | `automation.github_watched_repo_scout_nightly`, `script.joanna_dispatch`, `script.send_to_logbook` |
5150
| [proxmox.yaml](proxmox.yaml) | Proxmox runtime and disk pressure monitoring with Repairs + Joanna dispatch for sustained node degradations, plus nightly Frigate reboot. | `binary_sensor.proxmox*_runtime_healthy`, `sensor.proxmox*_disk_used_percentage`, `repairs.create`, `script.joanna_dispatch`, `button.qemu_docker2_101_reboot` |
5251
| [synology_dsm.yaml](synology_dsm.yaml) | Synology DSM integration health normalization for Carlo-NAS01 and Carlo-NVR, with Repairs + Joanna dispatch on sustained integration, security, or storage problems. | `binary_sensor.carlo_*_synology_problem`, `sensor.carlo_*_synology_problem_summary`, `repairs.create`, `script.joanna_dispatch` |
5352
| [infrastructure.yaml](infrastructure.yaml) | Normalized WAN/DNS/backup/domain/cert health, Glances-backed Docker host disk pressure with bounded safe Joanna cleanup, and website uptime/latency SLO signals for Infrastructure dashboards, plus nightly backup verification and monthly Joanna HA log hygiene review with GitHub issue follow-up. | `sensor.docker_*_disk_used_percentage`, `automation.docker_host_disk_pressure_monitor`, `binary_sensor.infra_website_uptime_slo_breach`, `binary_sensor.infra_website_latency_degraded`, `automation.infra_backup_nightly_verification`, `script.joanna_dispatch` |

config/packages/docker_infrastructure.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
# Notes: Includes Portainer stack status repairs, 20-minute Joanna dispatch for persistent container outages, and scheduled image prune.
1616
# Notes: Outage escalation keys off the configured monitored group so host-wide telemetry drops do not fall out of scope before the delayed Joanna dispatch runs.
1717
# Notes: Weekly reconcile should replace retired container-name switches with the current container-ID-prefixed discovery set.
18+
# Notes: Tapple is now served by `games_hub` on `/tapple/`; do not keep a standalone `tapple` container switch in the monitored group.
1819
######################################################################
1920

2021
input_datetime:
@@ -144,8 +145,6 @@ switch:
144145
- switch.redis_webhooks_engine_container_2
145146
- switch.rvtools_ppt_web_container
146147
- switch.rvtools_ppt_web_container_2
147-
- switch.tapple_container
148-
- switch.tapple_container_2
149148
- switch.tugtainer_agent_container
150149
- switch.tugtainer_agent_container_2
151150
- switch.tugtainer_container

config/packages/github_watched_repo_scout.yaml

Lines changed: 0 additions & 45 deletions
This file was deleted.

config/packages/tugtainer_updates.yaml

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
# -------------------------------------------------------------------
1010
# Notes: Expects JSON with title/message/type from the Tugtainer template.
1111
# Notes: Creates persistent notifications and stamps last-update time.
12-
# Notes: Fires `tugtainer_available_detected` when report contains `### Available:`.
12+
# Notes: Fires update events independently when a report has both Available and Updated sections.
1313
# Notes: Fires `tugtainer_home_assistant_core_updated` when `### Updated:` includes Home Assistant.
1414
# Notes: Home Assistant changelog dispatch uses core-YYYY.M URL format from parsed/fallback version.
1515
# Notes: Joanna dispatch cooldown uses mode=single with a 24-hour delay lockout.
@@ -89,29 +89,28 @@ automation:
8989
data:
9090
title: "{{ title }}"
9191
message: "{{ full_message }}"
92-
- choose:
93-
- conditions:
94-
- condition: template
95-
value_template: "{{ has_available_section }}"
96-
sequence:
97-
- event: tugtainer_available_detected
98-
event_data:
99-
title: "{{ title }}"
100-
event_type: "{{ event_type }}"
101-
message: "{{ message }}"
102-
- conditions:
103-
- condition: template
104-
value_template: "{{ ha_core_update_detected and (ha_core_version_minor | trim != '') }}"
105-
sequence:
106-
- event: tugtainer_home_assistant_core_updated
107-
event_data:
108-
title: "{{ title }}"
109-
event_type: "{{ event_type }}"
110-
message: "{{ message }}"
111-
core_version_full: "{{ ha_core_version_full | trim }}"
112-
core_version_minor: "{{ ha_core_version_minor | trim }}"
113-
changelog_url: "{{ ha_core_changelog_url | trim }}"
114-
report_excerpt: "{{ ha_report_excerpt | trim }}"
92+
- if:
93+
- condition: template
94+
value_template: "{{ has_available_section }}"
95+
then:
96+
- event: tugtainer_available_detected
97+
event_data:
98+
title: "{{ title }}"
99+
event_type: "{{ event_type }}"
100+
message: "{{ message }}"
101+
- if:
102+
- condition: template
103+
value_template: "{{ ha_core_update_detected and (ha_core_version_minor | trim != '') }}"
104+
then:
105+
- event: tugtainer_home_assistant_core_updated
106+
event_data:
107+
title: "{{ title }}"
108+
event_type: "{{ event_type }}"
109+
message: "{{ message }}"
110+
core_version_full: "{{ ha_core_version_full | trim }}"
111+
core_version_minor: "{{ ha_core_version_minor | trim }}"
112+
changelog_url: "{{ ha_core_changelog_url | trim }}"
113+
report_excerpt: "{{ ha_report_excerpt | trim }}"
115114

116115
- alias: "Tugtainer - Dispatch Joanna For Available Updates"
117116
id: tugtainer_dispatch_joanna_for_available_updates
@@ -149,7 +148,7 @@ automation:
149148

150149
- alias: "Tugtainer - Dispatch Joanna For Home Assistant Core Digest"
151150
id: tugtainer_dispatch_joanna_for_home_assistant_core_digest
152-
description: "Dispatch Joanna after Home Assistant core is updated so changelog actions are captured in a GitHub digest issue."
151+
description: "Dispatch Joanna after Home Assistant core is updated so relevant changelog notes reach the morning digest."
153152
mode: queued
154153
trigger:
155154
- platform: event
@@ -187,7 +186,7 @@ automation:
187186
source: "home_assistant_automation.tugtainer_home_assistant_core_digest"
188187
summary: >-
189188
Home Assistant core updated to {{ core_version_full }} via Tugtainer.
190-
Build changelog digest and open/refresh the GitHub Update Digest issue.
189+
Queue a concise changelog note for the morning digest.
191190
entity_ids:
192191
- "input_datetime.tugtainer_last_update"
193192
diagnostics: >-

config/script/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ What the helper normalizes before the BearClaw intake call:
5353
Current automations that kick off automated resolutions (via `script.joanna_dispatch`):
5454
| Automation ID | Alias | File |
5555
| --- | --- | --- |
56-
| `github_watched_repo_scout_nightly` | GitHub Watched Repo Scout - Nightly Joanna Review | [../packages/github_watched_repo_scout.yaml](../packages/github_watched_repo_scout.yaml) |
5756
| `mqtt_open_repair_on_failure` | MQTT - Open Repair On Failure | [../packages/mqtt_status.yaml](../packages/mqtt_status.yaml) |
5857
| `onenote_indexer_daily_delete_maintenance` | OneNote Indexer - Daily Delete Maintenance Request | [../packages/onenote_indexer.yaml](../packages/onenote_indexer.yaml) |
5958
| `onenote_indexer_failure_open_repair` | OneNote Indexer - Open Repair On Failure | [../packages/onenote_indexer.yaml](../packages/onenote_indexer.yaml) |

0 commit comments

Comments
 (0)