Refresh HA automation and dashboard configs

This commit is contained in:
Carlo Costanzo
2026-04-27 11:49:51 -04:00
parent 0b073c156a
commit bc55e5644e
9 changed files with 67 additions and 97 deletions

View File

@@ -1 +1 @@
2026.4.3
2026.4.4

View File

@@ -26,7 +26,7 @@ Speech-first automations: contextual announcements, stats briefings, guest mode
### Featured files to browse
| File | Why it matters |
| --- | --- |
| [announcements.yaml](announcements.yaml) | Daily/occasional broadcast messages with quiet hours. |
| [announcements.yaml](announcements.yaml) | Family and tracked Life360 arrival greetings plus daily/occasional broadcast messages. |
| [home_stats.yaml](home_stats.yaml) | Voice summary of house status and interesting stats. |
| [guest_mode.yaml](guest_mode.yaml) | Adjust announcements and behaviors while guests are over. |
| [High_Wind_Speed_Check.yaml](High_Wind_Speed_Check.yaml) | Warn about severe wind before it causes issues. |

View File

@@ -1,17 +1,14 @@
#-------------------------------------------
# People Greeting Announcement
# Description: Announces when family members arrive home
#
# Features:
# - Triggers when a person's state changes from 'not_home' to 'home'
# - Waits for specific sensors to confirm entry
# - Uses speech_engine script for personalized welcome messages
# - Includes responsibility reminders and home status checks
#
# Integration: Uses ChromeCast for audio output
# Follow me https://www.vcloudinfo.com/click-here
# More Blog Posts: https://www.vcloudinfo.com
#-------------------------------------------
######################################################################
# @CCOSTAN - Follow Me on X
# For more info visit https://www.vcloudinfo.com/click-here
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# -------------------------------------------------------------------
# People Greeting Announcement - family and Life360 arrival greetings
# Announces covered home arrivals after entry sensor confirmation.
# -------------------------------------------------------------------
# Notes: `group.arriving` batches simultaneous arrivals; Life360 triggers
# only include tracked people not already covered by `group.family`.
######################################################################
- alias: 'People Greeting'
id: 29c5c9dd-550a-4761-a224-78cdc3dd9f43
mode: restart
@@ -24,6 +21,24 @@
- person.justin
from: 'not_home'
to: 'home'
- platform: state
entity_id:
- device_tracker.life360_adriano_costanzo
- device_tracker.life360_amanda_desantis
- device_tracker.life360_gabriella_desantis
- device_tracker.life360_jessica_desantis
- device_tracker.life360_joseph_desantis
- device_tracker.life360_joyce_ruskin
- device_tracker.life360_yolanda_costanzo
to: 'home'
condition:
- condition: template
value_template: >-
{{
trigger.from_state is not none
and trigger.from_state.state not in ['home', 'unknown', 'unavailable']
}}
action:
# This Group is defined in the groups directory.
@@ -44,7 +59,12 @@
- service: script.speech_engine
data:
personarriving: >
{% set person = expand('group.arriving')|map(attribute='name')|join(' and ') %}
{% set ns = namespace(names=[]) %}
{% for arrival in expand('group.arriving') %}
{% set clean_name = arrival.name | replace('Life360 ', '') | trim %}
{% set ns.names = ns.names + [clean_name.split(' ')[0]] %}
{% endfor %}
{% set person = ns.names | join(' and ') if ns.names else 'someone' %}
{%- macro greeting_sentence(person) -%}
{{"[Welcome " + person + " home]" }}
{%- endmacro -%}

View File

@@ -30,12 +30,11 @@
- camera_entity: camera.kidsgate
- camera_entity: camera.garagecam
view:
default: snapshots
update_cycle_camera: true
scan:
enabled: true
default: clips
camera_select: clips
default_cycle_camera: false
menu:
style: outside
style: hidden
media_gallery:
controls:
thumbnails:

View File

@@ -47,7 +47,6 @@ Live collection of plug-and-play Home Assistant packages. Each YAML file in this
| [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` |
| [mariadb_monitoring.yaml](mariadb_monitoring.yaml) | MariaDB health sensors and Lovelace dashboard snippet for recorder stats. | `sensor.mariadb_status`, `sensor.database_size` |
| [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` |
| [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` |
| [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` |
| [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` |
| [infrastructure.yaml](infrastructure.yaml) | Normalized WAN/DNS/backup/domain/cert health, Glances-backed Docker host disk pressure, 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` |

View File

@@ -15,6 +15,7 @@
# Notes: Includes Portainer stack status repairs, 20-minute Joanna dispatch for persistent container outages, and scheduled image prune.
# 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.
# Notes: Weekly reconcile should replace retired container-name switches with the current container-ID-prefixed discovery set.
# Notes: Tapple is now served by `games_hub` on `/tapple/`; do not keep a standalone `tapple` container switch in the monitored group.
######################################################################
input_datetime:
@@ -144,8 +145,6 @@ switch:
- switch.redis_webhooks_engine_container_2
- switch.rvtools_ppt_web_container
- switch.rvtools_ppt_web_container_2
- switch.tapple_container
- switch.tapple_container_2
- switch.tugtainer_agent_container
- switch.tugtainer_agent_container_2
- switch.tugtainer_container

View File

@@ -1,45 +0,0 @@
######################################################################
# @CCOSTAN - Follow Me on X
# For more info visit https://www.vcloudinfo.com/click-here
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# -------------------------------------------------------------------
# GitHub Watched Repo Scout - Nightly Joanna review of watched repos
# Schedules Joanna to review unread watched-repo notifications for HA ideas.
# -------------------------------------------------------------------
# Notes: Joanna native GitHub scout logic runs in docker_17/codex_appliance.
# Notes: Successfully processed watched-repo notifications are marked read by Joanna.
######################################################################
automation:
- id: github_watched_repo_scout_nightly
alias: GitHub Watched Repo Scout - Nightly Joanna Review
description: Ask Joanna nightly to review unread watched-repo GitHub notifications for Home Assistant ideas.
mode: single
trigger:
- platform: time
at: "03:15:00"
variables:
trigger_context: "HA automation github_watched_repo_scout_nightly (GitHub Watched Repo Scout - Nightly Joanna Review)"
action:
- service: script.send_to_logbook
data:
topic: "GITHUB"
message: "Requesting Joanna nightly watched-repo scout review."
- service: script.joanna_dispatch
data:
trigger_context: "{{ trigger_context }}"
source: "home_assistant_automation.github_watched_repo_scout_nightly"
summary: "Nightly GitHub watched-repo scout review for Home Assistant ideas"
diagnostics: >-
schedule=03:15:00,
inbox_scope=unread,
repo_scope=watched,
create_issues=true,
mark_read_on_success=true
request: >-
Review unread GitHub notifications from watched repositories only.
Look for interesting Home Assistant configuration ideas we could apply in
our own repo, send a concise nightly recap, create or refresh one
GitHub issue per strong candidate in CCOSTAN/Home-AssistantConfig, and
mark each watched-repo notification read only after it has been
processed successfully. Leave failed items unread for the next run.

View File

@@ -9,7 +9,7 @@
# -------------------------------------------------------------------
# Notes: Expects JSON with title/message/type from the Tugtainer template.
# Notes: Creates persistent notifications and stamps last-update time.
# Notes: Fires `tugtainer_available_detected` when report contains `### Available:`.
# Notes: Fires update events independently when a report has both Available and Updated sections.
# Notes: Fires `tugtainer_home_assistant_core_updated` when `### Updated:` includes Home Assistant.
# Notes: Home Assistant changelog dispatch uses core-YYYY.M URL format from parsed/fallback version.
# Notes: Joanna dispatch cooldown uses mode=single with a 24-hour delay lockout.
@@ -89,29 +89,28 @@ automation:
data:
title: "{{ title }}"
message: "{{ full_message }}"
- choose:
- conditions:
- condition: template
value_template: "{{ has_available_section }}"
sequence:
- event: tugtainer_available_detected
event_data:
title: "{{ title }}"
event_type: "{{ event_type }}"
message: "{{ message }}"
- conditions:
- condition: template
value_template: "{{ ha_core_update_detected and (ha_core_version_minor | trim != '') }}"
sequence:
- event: tugtainer_home_assistant_core_updated
event_data:
title: "{{ title }}"
event_type: "{{ event_type }}"
message: "{{ message }}"
core_version_full: "{{ ha_core_version_full | trim }}"
core_version_minor: "{{ ha_core_version_minor | trim }}"
changelog_url: "{{ ha_core_changelog_url | trim }}"
report_excerpt: "{{ ha_report_excerpt | trim }}"
- if:
- condition: template
value_template: "{{ has_available_section }}"
then:
- event: tugtainer_available_detected
event_data:
title: "{{ title }}"
event_type: "{{ event_type }}"
message: "{{ message }}"
- if:
- condition: template
value_template: "{{ ha_core_update_detected and (ha_core_version_minor | trim != '') }}"
then:
- event: tugtainer_home_assistant_core_updated
event_data:
title: "{{ title }}"
event_type: "{{ event_type }}"
message: "{{ message }}"
core_version_full: "{{ ha_core_version_full | trim }}"
core_version_minor: "{{ ha_core_version_minor | trim }}"
changelog_url: "{{ ha_core_changelog_url | trim }}"
report_excerpt: "{{ ha_report_excerpt | trim }}"
- alias: "Tugtainer - Dispatch Joanna For Available Updates"
id: tugtainer_dispatch_joanna_for_available_updates
@@ -149,7 +148,7 @@ automation:
- alias: "Tugtainer - Dispatch Joanna For Home Assistant Core Digest"
id: tugtainer_dispatch_joanna_for_home_assistant_core_digest
description: "Dispatch Joanna after Home Assistant core is updated so changelog actions are captured in a GitHub digest issue."
description: "Dispatch Joanna after Home Assistant core is updated so relevant changelog notes reach the morning digest."
mode: queued
trigger:
- platform: event
@@ -187,7 +186,7 @@ automation:
source: "home_assistant_automation.tugtainer_home_assistant_core_digest"
summary: >-
Home Assistant core updated to {{ core_version_full }} via Tugtainer.
Build changelog digest and open/refresh the GitHub Update Digest issue.
Queue a concise changelog note for the morning digest.
entity_ids:
- "input_datetime.tugtainer_last_update"
diagnostics: >-

View File

@@ -53,7 +53,6 @@ What the helper normalizes before the BearClaw intake call:
Current automations that kick off automated resolutions (via `script.joanna_dispatch`):
| Automation ID | Alias | File |
| --- | --- | --- |
| `github_watched_repo_scout_nightly` | GitHub Watched Repo Scout - Nightly Joanna Review | [../packages/github_watched_repo_scout.yaml](../packages/github_watched_repo_scout.yaml) |
| `mqtt_open_repair_on_failure` | MQTT - Open Repair On Failure | [../packages/mqtt_status.yaml](../packages/mqtt_status.yaml) |
| `onenote_indexer_daily_delete_maintenance` | OneNote Indexer - Daily Delete Maintenance Request | [../packages/onenote_indexer.yaml](../packages/onenote_indexer.yaml) |
| `onenote_indexer_failure_open_repair` | OneNote Indexer - Open Repair On Failure | [../packages/onenote_indexer.yaml](../packages/onenote_indexer.yaml) |