You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
426 lines
13 KiB
426 lines
13 KiB
######################################################################
|
|
# @CCOSTAN - Follow Me on X
|
|
# For more info visit https://www.vcloudinfo.com/click-here
|
|
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
|
# -------------------------------------------------------------------
|
|
# Systems Partial - operations summary
|
|
# House-system health strip, active issues, datacenter, and network trends.
|
|
# -------------------------------------------------------------------
|
|
# Notes: The health ribbon mirrors the visible dashboard navigation order and labels.
|
|
# Notes: DNS and external-monitoring faults roll up under Network instead of duplicating it.
|
|
# Notes: All overview trends use a 24-hour window with visible series labels.
|
|
######################################################################
|
|
|
|
# -------------------------------------------------------------------
|
|
# Category health strip (mandatory first full-width wrapper)
|
|
# -------------------------------------------------------------------
|
|
- type: grid
|
|
column_span: 4
|
|
columns: 1
|
|
square: false
|
|
cards:
|
|
- type: custom:layout-card
|
|
grid_options:
|
|
columns: full
|
|
layout_type: custom:grid-layout
|
|
layout:
|
|
grid-template-columns: repeat(8, 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(2, minmax(0, 1fr))
|
|
cards:
|
|
- type: custom:button-card
|
|
template: bearstone_infra_status_kpi
|
|
entity: sensor.infra_dashboard_active_issue_count
|
|
name: Systems
|
|
icon: mdi:shield-check-outline
|
|
variables:
|
|
ok_state: '0'
|
|
healthy_text: ALL CLEAR
|
|
raw_suffix: ACTIVE
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_status_kpi
|
|
entity: binary_sensor.garage_phyn_leak_alert
|
|
name: Home Water
|
|
icon: mdi:shield-water-outline
|
|
variables:
|
|
ok_state: 'off'
|
|
healthy_text: CLEAR
|
|
alert_text: LEAK
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/home-water
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_status_kpi
|
|
entity: sensor.l10s_vacuum_error
|
|
name: Vacuum
|
|
icon: mdi:robot-vacuum
|
|
variables:
|
|
ok_state: no_error
|
|
healthy_text: READY
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/vacuum
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_status_kpi
|
|
entity: binary_sensor.infra_compute_degraded
|
|
name: ProxMox
|
|
icon: mdi:server-network
|
|
variables:
|
|
ok_state: 'off'
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/proxmox
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_status_kpi
|
|
entity: binary_sensor.docker_container_telemetry_degraded
|
|
name: Docker
|
|
icon: mdi:docker
|
|
variables:
|
|
ok_state: 'off'
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/docker
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_status_kpi
|
|
entity: binary_sensor.infra_wan_quality_degraded
|
|
name: Network
|
|
icon: mdi:wan
|
|
variables:
|
|
ok_state: 'off'
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/network
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_status_kpi
|
|
entity: sensor.mariadb_status
|
|
name: MariaDB
|
|
icon: mdi:database
|
|
variables:
|
|
ok_state: running
|
|
healthy_text: RUNNING
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/mariadb
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_status_kpi
|
|
entity: sensor.bearclaw_status_telemetry
|
|
name: Joanna
|
|
icon: mdi:robot-outline
|
|
variables:
|
|
ok_state: ok
|
|
healthy_text: HEALTHY
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/joanna
|
|
|
|
# -------------------------------------------------------------------
|
|
# Active exceptions and datacenter
|
|
# -------------------------------------------------------------------
|
|
- type: grid
|
|
column_span: 4
|
|
columns: 1
|
|
square: false
|
|
cards:
|
|
- type: custom:layout-card
|
|
grid_options:
|
|
columns: full
|
|
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))
|
|
cards:
|
|
- type: custom:vertical-stack-in-card
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_panel.yaml
|
|
cards:
|
|
- type: custom:button-card
|
|
template: bearstone_infra_panel_header
|
|
name: Active Exceptions
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.infra_wan_quality_degraded
|
|
name: WAN quality degraded
|
|
icon: mdi:wan
|
|
variables:
|
|
alert_kind: binary_on
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/network
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.infra_dns_pihole_degraded
|
|
name: Pi-hole DNS degraded
|
|
icon: mdi:dns-outline
|
|
variables:
|
|
alert_kind: binary_on
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/network
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.garage_phyn_leak_alert
|
|
name: Active water leak
|
|
icon: mdi:pipe-leak
|
|
variables:
|
|
alert_kind: binary_on
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/home-water
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: sensor.l10s_vacuum_error
|
|
name: Vacuum needs attention
|
|
icon: mdi:robot-vacuum-alert
|
|
variables:
|
|
alert_kind: state_not
|
|
ok_state: no_error
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/vacuum
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.proxmox1_runtime_healthy
|
|
name: Proxmox01 runtime unavailable
|
|
icon: mdi:server-off
|
|
variables:
|
|
alert_kind: binary_off
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/proxmox
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.proxmox02_runtime_healthy
|
|
name: Proxmox02 runtime unavailable
|
|
icon: mdi:server-off
|
|
variables:
|
|
alert_kind: binary_off
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/proxmox
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.node_proxmox1_updates_packages
|
|
name: Proxmox01 updates pending
|
|
icon: mdi:package-up
|
|
variables:
|
|
alert_kind: binary_on
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/proxmox
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.node_proxmox02_updates_packages
|
|
name: Proxmox02 updates pending
|
|
icon: mdi:package-up
|
|
variables:
|
|
alert_kind: binary_on
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/proxmox
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.docker_container_telemetry_degraded
|
|
name: Docker telemetry degraded
|
|
icon: mdi:docker
|
|
variables:
|
|
alert_kind: binary_on
|
|
state_display: >
|
|
[[[
|
|
const unavailable = states['sensor.docker_monitored_unavailable_count']?.state ?? '0';
|
|
const total = states['sensor.docker_monitored_container_count']?.state ?? '0';
|
|
return `${unavailable}/${total} unavailable`;
|
|
]]]
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/docker
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.infra_storage_degraded
|
|
name: Storage threshold or telemetry problem
|
|
icon: mdi:database-alert-outline
|
|
variables:
|
|
alert_kind: binary_on
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: binary_sensor.infra_website_degraded
|
|
name: Website availability degraded
|
|
icon: mdi:web-off
|
|
variables:
|
|
alert_kind: binary_on
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/network
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_alert_row
|
|
entity: sensor.proxmox_garage_average_temperature
|
|
name: Garage compute temperature high
|
|
icon: mdi:thermometer-alert
|
|
variables:
|
|
alert_kind: numeric_high
|
|
threshold: 145
|
|
state_display: >
|
|
[[[ return `${entity.state} °F`; ]]]
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /dashboard-infrastructure/proxmox
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_panel_header
|
|
name: Network Trends
|
|
|
|
- type: custom:mini-graph-card
|
|
name: Internet Throughput
|
|
icon: mdi:speedometer
|
|
hours_to_show: 24
|
|
points_per_hour: 1
|
|
line_width: 2
|
|
smoothing: true
|
|
show:
|
|
fill: false
|
|
legend: true
|
|
labels: false
|
|
name: true
|
|
icon: true
|
|
state: false
|
|
entities:
|
|
- entity: sensor.speedtest_download
|
|
name: Download
|
|
show_legend_state: true
|
|
- entity: sensor.speedtest_upload
|
|
name: Upload
|
|
show_legend_state: true
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
|
|
- type: custom:mini-graph-card
|
|
name: Wi-Fi Clients
|
|
icon: mdi:wifi
|
|
hours_to_show: 24
|
|
points_per_hour: 1
|
|
line_width: 2
|
|
smoothing: true
|
|
show:
|
|
legend: true
|
|
labels: false
|
|
name: true
|
|
icon: true
|
|
state: true
|
|
entities:
|
|
- entity: sensor.total_wifi_clients
|
|
name: Total
|
|
show_graph: false
|
|
- entity: sensor.unifi_ap_office_clients
|
|
name: Office
|
|
- entity: sensor.unifi_ap_study_clients
|
|
name: Study
|
|
- entity: sensor.unifi_ap_garage_clients
|
|
name: Garage
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
|
|
- type: custom:vertical-stack-in-card
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_panel.yaml
|
|
cards:
|
|
- type: custom:button-card
|
|
template: bearstone_infra_panel_header
|
|
name: Datacenter
|
|
|
|
- type: custom:mini-graph-card
|
|
name: Garage Compute Temperature
|
|
icon: mdi:thermometer
|
|
hours_to_show: 24
|
|
points_per_hour: 2
|
|
line_width: 2
|
|
smoothing: true
|
|
show:
|
|
legend: false
|
|
labels: false
|
|
name: true
|
|
icon: true
|
|
state: true
|
|
color_thresholds:
|
|
- value: 80
|
|
color: '#43a047'
|
|
- value: 135
|
|
color: '#f39c12'
|
|
- value: 145
|
|
color: '#c0392b'
|
|
entities:
|
|
- entity: sensor.proxmox_garage_average_temperature
|
|
name: Garage
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_list_row_running
|
|
entity: sensor.garage_ups_status
|
|
name: UPS Status
|
|
icon: mdi:battery-heart-variant
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_list_row
|
|
entity: sensor.garage_ups_battery_charge
|
|
name: UPS Battery
|
|
icon: mdi:battery-70
|
|
state_display: >
|
|
[[[
|
|
const value = Number(entity?.state);
|
|
return Number.isFinite(value) ? `${value.toFixed(0)}%` : 'NO DATA';
|
|
]]]
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_list_row
|
|
entity: sensor.garage_ups_battery_runtime
|
|
name: Runtime Remaining
|
|
icon: mdi:timer-outline
|
|
state_display: >
|
|
[[[
|
|
const seconds = Number(entity?.state);
|
|
if (!Number.isFinite(seconds)) return 'NO DATA';
|
|
const hours = Math.floor(seconds / 3600);
|
|
const minutes = Math.floor((seconds % 3600) / 60);
|
|
return hours > 0 ? `${hours}h ${minutes}m` : `${minutes}m`;
|
|
]]]
|
|
|
|
- type: custom:button-card
|
|
template: bearstone_infra_list_row
|
|
entity: sensor.garage_ups_status
|
|
name: On Battery
|
|
icon: mdi:battery-alert-variant-outline
|
|
state_display: >
|
|
[[[
|
|
const status = String(entity?.state ?? '').toUpperCase();
|
|
return status ? (status.includes('OB') ? 'YES' : 'NO') : 'NO DATA';
|
|
]]]
|