###################################################################### # @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 ?? ''); ]]]