Update HA version to 2026.3.0 and enhance dashboard configurations

- Updated the Home Assistant version in the configuration file.
- Added new bubble cards for Docker container status monitoring in the infrastructure dashboard.
- Included popups for maintenance actions related to specific Docker containers in the infrastructure dashboard.
- Refined navigation paths in the overview dashboard for better user experience.
feature/powerwall-live-activity-1598
Carlo Costanzo 3 weeks ago
parent 327d4276ec
commit 0e6c4e97e2

@ -1 +1 @@
2026.2.3
2026.3.0

@ -4,11 +4,12 @@
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# -------------------------------------------------------------------
# Infrastructure Partial - Docker containers sections
# Related Issue: 1560
# Related Issue: 1560, 1584
# Sections layout for the Docker containers view.
# -------------------------------------------------------------------
# Notes: Auto-discovers Portainer container entities from `switch.*_container`.
# Notes: Keeps cards visible when Portainer telemetry is unavailable (degraded mode).
# Notes: Includes stack-level status tiles from Portainer `*_stack_status` entities.
######################################################################
- type: grid
@ -32,6 +33,76 @@
name: NAS Used
icon: mdi:nas
- type: grid
column_span: 4
columns: 4
square: false
cards:
- type: custom:bubble-card
card_type: button
button_type: state
entity: sensor.docker_10_apt_status
name: docker_10
icon: mdi:server
show_state: true
show_last_changed: true
card_layout: large
tap_action:
action: navigate
navigation_path: '#infra-docker-10'
button_action:
tap_action:
action: navigate
navigation_path: '#infra-docker-10'
- type: custom:bubble-card
card_type: button
button_type: state
entity: sensor.docker_17_apt_status
name: docker_17
icon: mdi:server
show_state: true
show_last_changed: true
card_layout: large
tap_action:
action: navigate
navigation_path: '#infra-docker-17'
button_action:
tap_action:
action: navigate
navigation_path: '#infra-docker-17'
- type: custom:bubble-card
card_type: button
button_type: state
entity: sensor.docker_69_apt_status
name: docker_69
icon: mdi:server
show_state: true
show_last_changed: true
card_layout: large
tap_action:
action: navigate
navigation_path: '#infra-docker-69'
button_action:
tap_action:
action: navigate
navigation_path: '#infra-docker-69'
- type: custom:bubble-card
card_type: button
button_type: state
entity: sensor.docker_14_apt_status
name: docker_14
icon: mdi:server
show_state: true
show_last_changed: true
card_layout: large
tap_action:
action: navigate
navigation_path: '#infra-docker-14'
button_action:
tap_action:
action: navigate
navigation_path: '#infra-docker-14'
- type: grid
column_span: 4
columns: 4
@ -70,6 +141,53 @@
prune_button: button.docker2_prune_unused_images
name: docker_14
- type: grid
column_span: 4
columns: 1
square: false
cards:
- type: custom:vertical-stack-in-card
grid_options:
columns: full
card_mod:
style: !include /config/dashboards/infrastructure/card_mod/infra_panel.yaml
cards:
- type: custom:button-card
template: bearstone_infra_panel_header
name: Docker Stacks
- type: custom:auto-entities
show_empty: true
card:
type: custom:layout-card
layout_type: custom:grid-layout
layout:
grid-template-columns: repeat(2, minmax(0, 1fr))
grid-auto-flow: row
grid-auto-rows: min-content
grid-gap: 12px
margin: 0
mediaquery:
"(max-width: 900px)":
grid-template-columns: repeat(1, minmax(0, 1fr))
card_param: cards
filter:
include:
- entity_id: binary_sensor.*_stack_status
options:
type: custom:button-card
template: bearstone_infra_list_row_running
icon: mdi:package-variant
state_display: >
[[[
const base = entity.entity_id.replace('binary_sensor.', '').replace('_stack_status', '');
const count = states[`sensor.${base}_stack_containers_count`]?.state ?? 'n/a';
const type = String(states[`sensor.${base}_stack_type`]?.state ?? 'n/a').toUpperCase();
const status = entity.state === 'on' ? 'RUNNING' : 'DOWN';
return `${status} | ${count} ctrs | ${type}`;
]]]
sort:
method: name
- type: grid
column_span: 4
columns: 1
@ -121,3 +239,8 @@
icon: mdi:docker
sort:
method: name
- !include /config/dashboards/infrastructure/popups/docker_10_maintenance.yaml
- !include /config/dashboards/infrastructure/popups/docker_17_maintenance.yaml
- !include /config/dashboards/infrastructure/popups/docker_69_maintenance.yaml
- !include /config/dashboards/infrastructure/popups/docker_14_maintenance.yaml

@ -6,12 +6,13 @@
# Infrastructure Partial - proxmox sections
# Reusable list extracted from a view for smaller diffs and safer edits.
# -------------------------------------------------------------------
# Related Issue: 1584
# Notes: Standardized on `custom:button-card` + `custom:mini-graph-card` with `card_mod` polish.
######################################################################
- type: grid
column_span: 4
columns: 4
columns: 6
square: false
cards:
- type: custom:button-card
@ -24,6 +25,11 @@
entity: sensor.node_proxmox1_memory_used_percentage
name: P1 MEM
icon: mdi:memory
- type: custom:button-card
template: bearstone_infra_kpi
entity: sensor.proxmox1_disk_used_percentage
name: P1 DISK
icon: mdi:harddisk
- type: custom:button-card
template: bearstone_infra_kpi
entity: sensor.node_proxmox02_cpu_used
@ -34,6 +40,31 @@
entity: sensor.node_proxmox02_memory_used_percentage
name: P2 MEM
icon: mdi:memory
- type: custom:button-card
template: bearstone_infra_kpi
entity: sensor.proxmox02_disk_used_percentage
name: P2 DISK
icon: mdi:harddisk
- type: grid
column_span: 4
columns: 2
square: false
cards:
- type: custom:button-card
template: bearstone_infra_list_row_running
entity: binary_sensor.proxmox1_runtime_healthy
name: Proxmox01 Runtime
icon: mdi:server
state_display: >
[[[ return entity.state === 'on' ? 'ONLINE' : 'OFFLINE'; ]]]
- type: custom:button-card
template: bearstone_infra_list_row_running
entity: binary_sensor.proxmox02_runtime_healthy
name: Proxmox02 Runtime
icon: mdi:server
state_display: >
[[[ return entity.state === 'on' ? 'ONLINE' : 'OFFLINE'; ]]]
- type: grid
column_span: 4
@ -48,7 +79,7 @@
template: bearstone_infra_panel_header
name: Proxmox01
- type: custom:mini-graph-card
name: Host CPU / Memory
name: Host CPU / Memory / Disk
icon: mdi:server
hours_to_show: 24
points_per_hour: 2
@ -65,6 +96,8 @@
name: CPU
- entity: sensor.node_proxmox1_memory_used_percentage
name: Memory
- entity: sensor.proxmox1_disk_used_percentage
name: Disk
- type: custom:mini-graph-card
name: VMs CPU / Memory
icon: mdi:chart-line
@ -100,7 +133,7 @@
template: bearstone_infra_panel_header
name: Proxmox02
- type: custom:mini-graph-card
name: Host CPU / Memory
name: Host CPU / Memory / Disk
icon: mdi:server
hours_to_show: 24
points_per_hour: 2
@ -117,6 +150,8 @@
name: CPU
- entity: sensor.node_proxmox02_memory_used_percentage
name: Memory
- entity: sensor.proxmox02_disk_used_percentage
name: Disk
- type: custom:mini-graph-card
name: Frigate VM CPU / Memory
icon: mdi:video

@ -4,9 +4,10 @@
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# -------------------------------------------------------------------
# Infrastructure Partial - Website health sections
# Website uptime + domain expiry + certificate telemetry detail view.
# Website uptime + response windows + domain expiry telemetry view.
# -------------------------------------------------------------------
# Notes: Keep the first section full-width to avoid whitespace.
# Related Issue: 1584
# Notes: Uses direct Uptime Kuma entities (no aggregate uptime min sensors).
######################################################################
# -------------------------------------------------------------------
@ -73,6 +74,94 @@
icon: mdi:web-check
state_display: >
[[[ return entity.state === 'on' ? 'UP' : (entity.state || 'unknown').toUpperCase(); ]]]
- type: custom:button-card
template: bearstone_infra_list_row
entity: binary_sensor.vcloudinfo_com
name: vcloudinfo.com uptime
icon: mdi:chart-line
state_display: >
[[[
const pick = (metric, window) => {
const suffix = `${metric}_${window}`;
const candidates = Object.keys(states).filter((k) =>
k.startsWith('sensor.') &&
k.includes('vcloudinfo_com') &&
k.endsWith(suffix)
);
const eid = candidates[0];
return eid ? (states[eid]?.state ?? 'n/a') : 'n/a';
};
const uptime1d = pick('uptime', '1d');
const uptime30d = pick('uptime', '30d');
const uptime365d = pick('uptime', '365d');
return `1d ${uptime1d}% | 30d ${uptime30d}% | 365d ${uptime365d}%`;
]]]
- type: custom:button-card
template: bearstone_infra_list_row
entity: binary_sensor.vcloudinfo_com
name: vcloudinfo.com response
icon: mdi:timer-outline
state_display: >
[[[
const pick = (metric, window) => {
const suffix = `${metric}_${window}`;
const candidates = Object.keys(states).filter((k) =>
k.startsWith('sensor.') &&
k.includes('vcloudinfo_com') &&
k.endsWith(suffix)
);
const eid = candidates[0];
return eid ? (states[eid]?.state ?? 'n/a') : 'n/a';
};
const r1d = pick('avg_response_time', '1d');
const r30d = pick('avg_response_time', '30d');
const r365d = pick('avg_response_time', '365d');
return `1d ${r1d}s | 30d ${r30d}s | 365d ${r365d}s`;
]]]
- type: custom:button-card
template: bearstone_infra_list_row
entity: binary_sensor.www_kingcrafthomes_com
name: kingcrafthomes.com uptime
icon: mdi:chart-line
state_display: >
[[[
const pick = (metric, window) => {
const suffix = `${metric}_${window}`;
const candidates = Object.keys(states).filter((k) =>
k.startsWith('sensor.') &&
(k.includes('kingcrafthomes_com') || k.includes('www_kingcrafthomes_com')) &&
k.endsWith(suffix)
);
const eid = candidates[0];
return eid ? (states[eid]?.state ?? 'n/a') : 'n/a';
};
const uptime1d = pick('uptime', '1d');
const uptime30d = pick('uptime', '30d');
const uptime365d = pick('uptime', '365d');
return `1d ${uptime1d}% | 30d ${uptime30d}% | 365d ${uptime365d}%`;
]]]
- type: custom:button-card
template: bearstone_infra_list_row
entity: binary_sensor.www_kingcrafthomes_com
name: kingcrafthomes.com response
icon: mdi:timer-outline
state_display: >
[[[
const pick = (metric, window) => {
const suffix = `${metric}_${window}`;
const candidates = Object.keys(states).filter((k) =>
k.startsWith('sensor.') &&
(k.includes('kingcrafthomes_com') || k.includes('www_kingcrafthomes_com')) &&
k.endsWith(suffix)
);
const eid = candidates[0];
return eid ? (states[eid]?.state ?? 'n/a') : 'n/a';
};
const r1d = pick('avg_response_time', '1d');
const r30d = pick('avg_response_time', '30d');
const r365d = pick('avg_response_time', '365d');
return `1d ${r1d}s | 30d ${r30d}s | 365d ${r365d}s`;
]]]
- type: custom:vertical-stack-in-card
grid_options:
@ -101,7 +190,7 @@
name: vcloudinfo.com
icon: mdi:calendar-clock
state_display: >
[[[
[[[
const days = states['sensor.vcloudinfo_com_days_until_expiration']?.state ?? 'n/a';
const expRaw = states['sensor.vcloudinfo_com_expires']?.state;
let exp = 'n/a';
@ -127,7 +216,7 @@
name: kingcrafthomes.com
icon: mdi:calendar-clock
state_display: >
[[[
[[[
const days = states['sensor.kingcrafthomes_com_days_until_expiration']?.state ?? 'n/a';
const expRaw = states['sensor.kingcrafthomes_com_expires']?.state;
let exp = 'n/a';
@ -148,3 +237,29 @@
return `${days}d | ${exp}`;
]]]
- type: grid
column_span: 4
columns: 3
square: false
cards:
- type: custom:button-card
template: bearstone_infra_alert_row
entity: binary_sensor.infra_website_degraded
name: Website status degraded
icon: mdi:web-off
variables:
alert_kind: binary_on
- type: custom:button-card
template: bearstone_infra_alert_row
entity: binary_sensor.infra_website_uptime_slo_breach
name: Uptime SLO breach
icon: mdi:alert-decagram
variables:
alert_kind: binary_on
- type: custom:button-card
template: bearstone_infra_alert_row
entity: binary_sensor.infra_website_latency_degraded
name: Website latency degraded
icon: mdi:timer-alert
variables:
alert_kind: binary_on

@ -0,0 +1,58 @@
######################################################################
# @CCOSTAN - Follow Me on X
# For more info visit https://www.vcloudinfo.com/click-here
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# -------------------------------------------------------------------
# Infrastructure Popup - docker_10 maintenance
# Bubble Card popup for host maintenance details and safe cleanup actions.
# -------------------------------------------------------------------
# Related Issue: 1560
# Notes: Reuses existing Infrastructure button-card templates inside the popup.
######################################################################
type: vertical-stack
cards:
- type: custom:bubble-card
card_type: pop-up
hash: '#infra-docker-10'
entity: sensor.docker_10_apt_status
button_type: state
name: docker_10 maintenance
icon: mdi:server
show_header: true
show_state: true
width_desktop: 520px
bg_opacity: '35'
- type: grid
columns: 2
square: false
cards:
- type: custom:button-card
template: bearstone_infra_apt_prune_tile
name: docker_10
entity: sensor.docker_10_apt_status
variables:
last_update_sensor: sensor.docker_10_apt_last_update
prune_button: button.carlo_hass_prune_unused_images
name: docker_10
- type: custom:button-card
template: bearstone_infra_tile
entity: sensor.docker_10_apt_last_update
name: Last Update
icon: mdi:update
variables:
label: Most recent package update
- type: custom:button-card
template: bearstone_infra_tile
entity: sensor.docker_10_apt_last_check
name: Last Check
icon: mdi:calendar-check
variables:
label: Most recent apt check
- type: custom:button-card
template: bearstone_infra_tile
entity: sensor.docker_10_apt_status
name: Apt Status
icon: mdi:package-up
variables:
label: Pending package summary

@ -1,23 +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
# -------------------------------------------------------------------
# Overview View - Utilities
# YAML-exported Lovelace dashboard (split into view files).
# -------------------------------------------------------------------
# Notes: Exported from config/.storage/lovelace.lovelace view index 6.
######################################################################
title: Utilities
path: water
icon: mdi:home-lightning-bolt
type: sections
max_columns: 3
sections: !include /config/dashboards/overview/partials/water_sections.yaml
cards: []
visible:
- user: be280a93c9d7416e98d25d0470f414be
- user: 46a8d15eb20e4a1daf2d1d1f63180ec5
- user: 8fc5ba22cb32430a9143beb4df70541b
- user: 19970706e7e4492c844ea2fc94a4599a

@ -1,18 +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
# -------------------------------------------------------------------
# Overview View - Admin
# YAML-exported Lovelace dashboard (split into view files).
# -------------------------------------------------------------------
# Notes: Exported from config/.storage/lovelace.lovelace view index 7.
######################################################################
title: Admin
icon: mdi:security
visible:
- user: be280a93c9d7416e98d25d0470f414be
cards: []
type: sections
sections: !include /config/dashboards/overview/partials/admin_sections.yaml
Loading…
Cancel
Save

Powered by TurnKey Linux.