From 77bed9ecf08040cf97c4a2b3f7e28c362107f77f Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Tue, 3 Feb 2026 15:27:20 -0500 Subject: [PATCH] Closes #1561. Summary: - Deployed Tugtainer UI on docker_69 with socket-proxy and agents on docker_10 + docker_14. - Auto-updates scheduled daily at 03:30; protected label added to Tugtainer and socket-proxy. - Home Assistant webhook posts persistent notifications for each update event. Key files: - https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/config/packages/tugtainer_updates.yaml - https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/config/packages/README.md Closing this issue. --- config/README.md | 1 + config/packages/README.md | 1 + config/packages/tugtainer_updates.yaml | 47 ++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 config/packages/tugtainer_updates.yaml diff --git a/config/README.md b/config/README.md index 268f0981..ec5a1656 100755 --- a/config/README.md +++ b/config/README.md @@ -32,6 +32,7 @@ Live view of the `config/` directory my production Home Assistant instance loads ### How the config is organized - **Packages (`packages/`)** – complete subsystems that bundle sensors, switches, automations, scripts, and lovelace assets for a single feature (alarm, garage, water shutoff, etc.). +- **Container updates** – `packages/tugtainer_updates.yaml` logs container updates from Tugtainer into Home Assistant persistent notifications. - **Automations (`automation/`)** – event-driven YAML broken out by area or device; the legacy `automations.yaml` remains for UI-created flows. - **Scripts & scenes (`script/`, `scene/`)** – curated lighting and ambiance logic used by presence, holiday, and seasonal routines. - **Templates (`templates/`)** – Jinja helpers and speech templates reused by the notify/speech engines. diff --git a/config/packages/README.md b/config/packages/README.md index 9967ce4a..f024aa85 100755 --- a/config/packages/README.md +++ b/config/packages/README.md @@ -46,6 +46,7 @@ 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` | | [apt_updates.yaml](apt_updates.yaml) | Weekly APT patch reporting for Docker hosts + Repairs reboot alerts. | `sensor.docker_*_apt_status`, `repairs.create`, `script.send_to_logbook` | +| [tugtainer_updates.yaml](tugtainer_updates.yaml) | Tugtainer container update notifications via webhook + persistent alerts. | `persistent_notification.create`, `input_datetime.tugtainer_last_update` | | [phynplus.yaml](phynplus.yaml) | Phyn shutoff automations with push + Activity feed + Repairs issues for leak events. | `valve.phyn_shutoff_valve`, `binary_sensor.phyn_leak_test_running`, `repairs.create` | | [water_delivery.yaml](water_delivery.yaml) | ReadyRefresh delivery date helper with night-before + garage door Alexa reminders. | `input_datetime.water_delivery_date`, `notify.alexa_media_garage` | | [powerwall.yaml](powerwall.yaml) | Track Tesla Powerwall grid status and shed loads automatically when off-grid (alerts include Activity feed + Repairs). | `binary_sensor.powerwall_grid_status`, `sensor.powerwall_*`, `repairs.create` | diff --git a/config/packages/tugtainer_updates.yaml b/config/packages/tugtainer_updates.yaml new file mode 100644 index 00000000..10f0df4e --- /dev/null +++ b/config/packages/tugtainer_updates.yaml @@ -0,0 +1,47 @@ +###################################################################### +# @CCOSTAN - Follow Me on X +# For more info visit https://www.vcloudinfo.com/click-here +# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig +# ------------------------------------------------------------------- +# Tugtainer Updates - Container update notifications via webhook +# Related Issue: 1561 +# Receives Apprise JSON payloads from Tugtainer and posts HA alerts. +# ------------------------------------------------------------------- +# Notes: Expects JSON with title/message/type from the Tugtainer template. +# Notes: Creates persistent notifications and stamps last-update time. +###################################################################### + +input_datetime: + tugtainer_last_update: + name: "Tugtainer last update" + has_date: true + has_time: true + +automation: + - alias: "Tugtainer Update Report" + id: tugtainer_update_report + description: "Receive Tugtainer update notifications and post persistent alerts." + mode: queued + trigger: + - platform: webhook + webhook_id: !secret tugtainer_updates_webhook + allowed_methods: + - POST + local_only: true + variables: + payload: "{{ trigger.json | default({}) }}" + title: "{{ payload.title | default('Tugtainer update') }}" + message: "{{ payload.message | default('Update event received') }}" + event_type: "{{ payload.type | default('info') }}" + full_message: >- + {{ message }}{% if event_type %} ({{ event_type | upper }}){% endif %} + action: + - service: input_datetime.set_datetime + target: + entity_id: input_datetime.tugtainer_last_update + data: + datetime: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}" + - service: persistent_notification.create + data: + title: "{{ title }}" + message: "{{ full_message }}"