mirror of
https://github.com/CCOSTAN/Home-AssistantConfig.git
synced 2026-04-29 11:43:36 +00:00
Refresh HA automation and dashboard configs
This commit is contained in:
@@ -1 +1 @@
|
||||
2026.4.3
|
||||
2026.4.4
|
||||
@@ -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. |
|
||||
|
||||
@@ -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 -%}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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` |
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
@@ -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: >-
|
||||
|
||||
@@ -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) |
|
||||
|
||||
Reference in New Issue
Block a user