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.
340 lines
9.7 KiB
340 lines
9.7 KiB
######################################################################
|
|
# @CCOSTAN - Follow Me on X
|
|
# For more info visit https://www.vcloudinfo.com/click-here
|
|
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
|
# -------------------------------------------------------------------
|
|
# Infrastructure Partial - Home sections
|
|
# Rebuilt homepage layout (Stitch-inspired).
|
|
# -------------------------------------------------------------------
|
|
# Notes: Standardized on `custom:button-card` + `custom:mini-graph-card` with `card_mod` polish.
|
|
######################################################################
|
|
|
|
- type: grid
|
|
column_span: 4
|
|
columns: 4
|
|
square: false
|
|
cards:
|
|
- type: custom:button-card
|
|
template: bearstone_infra_chip
|
|
entity: binary_sensor.node_proxmox1_updates_packages
|
|
name: Proxmox01
|
|
icon: mdi:server
|
|
state_display: >
|
|
[[[ return entity.state === 'on' ? 'Updates pending' : 'Up to date'; ]]]
|
|
- type: custom:button-card
|
|
template: bearstone_infra_chip
|
|
entity: binary_sensor.node_proxmox02_updates_packages
|
|
name: Proxmox02
|
|
icon: mdi:server
|
|
state_display: >
|
|
[[[ return entity.state === 'on' ? 'Updates pending' : 'Up to date'; ]]]
|
|
- type: custom:button-card
|
|
template: bearstone_infra_chip
|
|
entity: sensor.garage_ups_status
|
|
name: Garage UPS
|
|
icon: mdi:transmission-tower
|
|
- type: custom:button-card
|
|
template: bearstone_infra_chip
|
|
entity: sensor.vcloudinfo_com
|
|
name: vCloudinfo
|
|
icon: mdi:microsoft-internet-explorer
|
|
|
|
- type: grid
|
|
column_span: 3
|
|
columns: 2
|
|
square: false
|
|
cards:
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: custom:mini-graph-card
|
|
name: Proxmox01
|
|
icon: mdi:server
|
|
hours_to_show: 24
|
|
points_per_hour: 2
|
|
line_width: 2
|
|
animate: true
|
|
show:
|
|
fill: true
|
|
legend: true
|
|
icon: true
|
|
name: true
|
|
state: true
|
|
entities:
|
|
- entity: sensor.node_proxmox1_cpu_used
|
|
name: CPU
|
|
- entity: sensor.node_proxmox1_memory_used_percentage
|
|
name: Memory
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
- type: grid
|
|
columns: 3
|
|
square: false
|
|
cards:
|
|
- type: custom:button-card
|
|
template: bearstone_infra_device_tile
|
|
entity: sensor.qemu_docker69_169_status
|
|
name: Docker69
|
|
icon: mdi:docker
|
|
label: >
|
|
[[[ return "Last boot: " + (states['sensor.qemu_docker69_169_last_boot']?.state ?? 'unknown'); ]]]
|
|
variables:
|
|
button_entity: button.qemu_docker69_169_reboot
|
|
name: Docker69
|
|
- type: custom:button-card
|
|
template: bearstone_infra_device_tile
|
|
entity: sensor.qemu_carlo_hass_105_status
|
|
name: HASS
|
|
icon: mdi:home-assistant
|
|
label: >
|
|
[[[ return "Last boot: " + (states['sensor.qemu_carlo_hass_105_last_boot']?.state ?? 'unknown'); ]]]
|
|
variables:
|
|
button_entity: button.qemu_carlo_hass_105_reboot
|
|
name: HASS
|
|
- type: custom:button-card
|
|
template: bearstone_infra_device_tile
|
|
entity: sensor.qemu_wireguard_104_status
|
|
name: WireGuard
|
|
icon: mdi:vpn
|
|
label: >
|
|
[[[ return "Last boot: " + (states['sensor.qemu_wireguard_104_last_boot']?.state ?? 'unknown'); ]]]
|
|
variables:
|
|
button_entity: button.qemu_wireguard_104_reboot
|
|
name: WireGuard
|
|
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: custom:mini-graph-card
|
|
name: Proxmox02
|
|
icon: mdi:server
|
|
hours_to_show: 24
|
|
points_per_hour: 2
|
|
line_width: 2
|
|
animate: true
|
|
show:
|
|
fill: true
|
|
legend: true
|
|
icon: true
|
|
name: true
|
|
state: true
|
|
entities:
|
|
- entity: sensor.node_proxmox02_cpu_used
|
|
name: CPU
|
|
- entity: sensor.node_proxmox02_memory_used_percentage
|
|
name: Memory
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
- type: grid
|
|
columns: 3
|
|
square: false
|
|
cards:
|
|
- type: custom:button-card
|
|
template: bearstone_infra_device_tile
|
|
entity: sensor.qemu_docker2_101_status
|
|
name: Frigate
|
|
icon: mdi:video
|
|
label: >
|
|
[[[ return "Last boot: " + (states['sensor.qemu_docker2_101_last_boot']?.state ?? 'unknown'); ]]]
|
|
variables:
|
|
button_entity: button.qemu_docker2_101_reboot
|
|
name: Frigate
|
|
|
|
- type: grid
|
|
column_span: 1
|
|
columns: 1
|
|
square: false
|
|
cards:
|
|
- type: custom:mini-graph-card
|
|
entities:
|
|
- entity: sensor.proxmox_garage_average_temperature
|
|
name: Garage
|
|
- entity: sensor.pirateweather_temperature
|
|
name: Outside
|
|
name: Garage Temp
|
|
hours_to_show: 96
|
|
color_thresholds:
|
|
- value: 50
|
|
color: '#f39c12'
|
|
- value: 120
|
|
color: '#d35400'
|
|
- value: 145
|
|
color: '#c0392b'
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
- type: custom:mini-graph-card
|
|
name: Garage UPS Load
|
|
icon: mdi:transmission-tower
|
|
entities:
|
|
- entity: sensor.garage_ups_load
|
|
name: Load
|
|
unit: '%'
|
|
hours_to_show: 24
|
|
points_per_hour: 4
|
|
line_width: 2
|
|
animate: true
|
|
color_thresholds:
|
|
- value: 20
|
|
color: '#43a047'
|
|
- value: 50
|
|
color: '#ffa000'
|
|
- value: 80
|
|
color: '#e53935'
|
|
show:
|
|
fill: true
|
|
icon: true
|
|
name: true
|
|
state: true
|
|
graph: line
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
|
|
- type: grid
|
|
column_span: 2
|
|
columns: 2
|
|
square: true
|
|
cards:
|
|
- type: custom:flex-horseshoe-card
|
|
entities:
|
|
- entity: sensor.carlo_nvr_volume_1_volume_used
|
|
name: NVR Video
|
|
decimals: 1
|
|
unit: '%'
|
|
- entity: sensor.carlo_nvr_volume_1_total_size
|
|
name: Total
|
|
decimals: 2
|
|
unit: TiB
|
|
show:
|
|
horseshoe_style: colorstopgradient
|
|
horseshoe_scale:
|
|
min: 0
|
|
max: 100
|
|
color_stops:
|
|
'0': '#43a047'
|
|
'50': '#fbc02d'
|
|
'80': '#e53935'
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
- type: custom:flex-horseshoe-card
|
|
entities:
|
|
- entity: sensor.carlo_nas01_volume_1_volume_used
|
|
name: NAS Storage
|
|
decimals: 1
|
|
unit: '%'
|
|
- entity: sensor.carlo_nas01_volume_1_total_size
|
|
name: Total
|
|
decimals: 2
|
|
unit: TiB
|
|
show:
|
|
horseshoe_style: colorstopgradient
|
|
horseshoe_scale:
|
|
min: 0
|
|
max: 100
|
|
color_stops:
|
|
'0': '#43a047'
|
|
'50': '#fbc02d'
|
|
'80': '#e53935'
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
|
|
- type: grid
|
|
column_span: 2
|
|
columns: 1
|
|
square: false
|
|
cards:
|
|
- type: custom:mini-graph-card
|
|
name: Wi-Fi Overview
|
|
icon: mdi:wifi
|
|
hours_to_show: 24
|
|
line_width: 2
|
|
points_per_hour: 1
|
|
smoothing: true
|
|
show:
|
|
graph: line
|
|
legend: true
|
|
labels: false
|
|
name: true
|
|
icon: true
|
|
state: true
|
|
entities:
|
|
- entity: sensor.total_wifi_clients
|
|
name: Total
|
|
show_state: true
|
|
show_graph: false
|
|
show_line: false
|
|
show_points: false
|
|
show_fill: false
|
|
show_legend: false
|
|
- entity: sensor.unifi_ap_office_clients
|
|
name: Office AP
|
|
show_state: true
|
|
- entity: sensor.unifi_ap_study_clients
|
|
name: Study AP
|
|
show_state: true
|
|
- entity: sensor.unifi_ap_garage_clients
|
|
name: Garage AP
|
|
show_state: true
|
|
card_mod:
|
|
style: !include /config/dashboards/infrastructure/card_mod/infra_card.yaml
|
|
|
|
- type: grid
|
|
column_span: 4
|
|
columns: 3
|
|
square: false
|
|
cards:
|
|
- type: custom:button-card
|
|
template: bearstone_infra_device_tile
|
|
name: Garage AP
|
|
icon: mdi:access-point
|
|
entity: sensor.unifi_ap_garage_clients
|
|
label: >
|
|
[[[ return "Uptime: " + (states['sensor.unifi_ap_garage_uptime']?.state ?? 'unknown'); ]]]
|
|
variables:
|
|
button_entity: button.unifi_ap_garage_restart
|
|
name: Garage AP
|
|
- type: custom:button-card
|
|
template: bearstone_infra_device_tile
|
|
name: Office AP
|
|
icon: mdi:access-point
|
|
entity: sensor.unifi_ap_office_clients
|
|
label: >
|
|
[[[ return "Uptime: " + (states['sensor.unifi_ap_office_uptime']?.state ?? 'unknown'); ]]]
|
|
variables:
|
|
button_entity: button.unifi_ap_office_restart
|
|
name: Office AP
|
|
- type: custom:button-card
|
|
template: bearstone_infra_device_tile
|
|
name: Study AP
|
|
icon: mdi:access-point
|
|
entity: sensor.unifi_ap_study_clients
|
|
label: >
|
|
[[[ return "Uptime: " + (states['sensor.unifi_ap_study_uptime']?.state ?? 'unknown'); ]]]
|
|
variables:
|
|
button_entity: button.unifi_ap_study_restart
|
|
name: Study AP
|
|
|
|
- type: grid
|
|
column_span: 4
|
|
columns: 3
|
|
square: false
|
|
cards:
|
|
- type: custom:button-card
|
|
template: bearstone_infra_tile
|
|
name: docker_10
|
|
icon: mdi:server
|
|
entity: sensor.docker_10_apt_status
|
|
label: >
|
|
[[[ return "Last update: " + (states['sensor.docker_10_apt_last_update']?.state ?? 'unknown') + " | " + (states['sensor.docker_10_apt_reboot_status']?.state ?? ''); ]]]
|
|
- type: custom:button-card
|
|
template: bearstone_infra_tile
|
|
name: docker_69
|
|
icon: mdi:server
|
|
entity: sensor.docker_69_apt_status
|
|
label: >
|
|
[[[ return "Last update: " + (states['sensor.docker_69_apt_last_update']?.state ?? 'unknown') + " | " + (states['sensor.docker_69_apt_reboot_status']?.state ?? ''); ]]]
|
|
- type: custom:button-card
|
|
template: bearstone_infra_tile
|
|
name: docker_14
|
|
icon: mdi:server
|
|
entity: sensor.docker_14_apt_status
|
|
label: >
|
|
[[[ return "Last update: " + (states['sensor.docker_14_apt_last_update']?.state ?? 'unknown') + " | " + (states['sensor.docker_14_apt_reboot_status']?.state ?? ''); ]]]
|