/
/
/
1# Glances - Dashboard Section for {{ ha_display_name }}
2# Add as a section block inside your dashboard view's sections: array
3
4 # =====================================================================
5 # {{ ha_display_name | upper }}
6 # =====================================================================
7 - type: grid
8 cards:
9 - type: markdown
10 content: "### {{ ha_display_name }}"
11
12 # System identification (REST sensors)
13 - type: entities
14 entities:
15 - entity: sensor.{{ ha_integration_name }}_cpu_name
16 name: CPU
17 - entity: sensor.{{ ha_integration_name }}_cpu_cores
18 name: Cores
19 - entity: sensor.{{ ha_integration_name }}_memory_total
20 name: Total Memory
21 - entity: sensor.{{ ha_integration_name }}_os
22 name: OS
23 - entity: sensor.{{ ha_integration_name }}_kernel
24 name: Kernel
25 - entity: sensor.{{ ha_entity_prefix }}_uptime
26 name: Uptime
27{% if glances_gpu_monitoring | bool %}
28 - entity: sensor.{{ ha_integration_name }}_gpu_name
29 name: GPU
30{% endif %}
31{% if glances_storage_monitoring %}
32 - entity: sensor.{{ ha_integration_name }}_raid_status
33 name: RAID
34{% endif %}
35 show_header_toggle: false
36
37 # Core metrics - gauges
38 - type: horizontal-stack
39 cards:
40 - type: gauge
41 entity: sensor.{{ ha_entity_prefix }}_cpu_usage
42 name: CPU
43 min: 0
44 max: 100
45 severity:
46 green: 0
47 yellow: 70
48 red: 85
49 - type: gauge
50 entity: sensor.{{ ha_entity_prefix }}_memory_usage
51 name: Memory
52 min: 0
53 max: 100
54 severity:
55 green: 0
56 yellow: 70
57 red: 85
58 - type: gauge
59 entity: sensor.{{ ha_entity_prefix }}_etc_hostname_disk_usage
60 name: Disk
61 min: 0
62 max: 100
63 severity:
64 green: 0
65 yellow: 80
66 red: 90
67
68 # Temperature and containers
69 - type: horizontal-stack
70 cards:
71 - type: gauge
72 entity: sensor.{{ ha_entity_prefix }}_{{ ha_temp_entity_suffix }}
73 name: CPU Temp
74 min: 0
75 max: 100
76 unit: "°C"
77 severity:
78 green: 0
79 yellow: 60
80 red: 75
81 - type: custom:mushroom-entity-card
82 entity: sensor.{{ ha_entity_prefix }}_containers_active
83 name: Containers
84 icon: mdi:docker
85 icon_color: cyan
86 layout: vertical
87{% if glances_gpu_monitoring | bool and ha_gpu_entity_slug %}
88
89 # GPU metrics - gauges
90 - type: horizontal-stack
91 cards:
92 - type: gauge
93 entity: sensor.{{ ha_entity_prefix }}_{{ ha_gpu_entity_slug }}_processor_usage
94 name: GPU
95 min: 0
96 max: 100
97 severity:
98 green: 0
99 yellow: 70
100 red: 85
101 - type: gauge
102 entity: sensor.{{ ha_integration_name }}_vram_usage
103 name: VRAM
104 min: 0
105 max: 100
106 severity:
107 green: 0
108 yellow: 70
109 red: 85
110 - type: gauge
111 entity: sensor.{{ ha_entity_prefix }}_{{ ha_gpu_entity_slug }}_temperature
112 name: GPU Temp
113 min: 0
114 max: 100
115 unit: "°C"
116 severity:
117 green: 0
118 yellow: 60
119 red: 80
120{% endif %}
121{% if glances_storage_monitoring %}
122
123 # RAID array overview
124 - type: custom:mushroom-template-card
125 primary: >-
126 {{ '{{' }} states('sensor.{{ ha_integration_name }}_raid_type') {{ '}}' }} Array
127 secondary: >-
128 {{ '{{' }} states('sensor.{{ ha_integration_name }}_raid_status') | capitalize {{ '}}' }} · Drives: {{ '{{' }} states('sensor.{{ ha_integration_name }}_raid_drives') {{ '}}' }} · Config: {{ '{{' }} states('sensor.{{ ha_integration_name }}_raid_config') {{ '}}' }}
129 icon: mdi:harddisk-plus
130 icon_color: >-
131 {{ '{%' }} if states('sensor.{{ ha_integration_name }}_raid_status') == 'active' {{ '%}' }}
132 green
133 {{ '{%' }} elif states('sensor.{{ ha_integration_name }}_raid_status') in ['degraded', 'rebuilding'] {{ '%}' }}
134 red
135 {{ '{%' }} else {{ '%}' }}
136 grey
137 {{ '{%' }} endif {{ '%}' }}
138{% if glances_storage_drives | length > 0 %}
139
140 # Drive health overview
141 - type: entities
142 title: Drive Health
143 entities:
144{% for drive in glances_storage_drives %}
145 - entity: sensor.{{ ha_integration_name }}_{{ drive.label | lower | replace(' ', '_') }}_health
146 name: "{{ drive.label }} ({{ drive.device }})"
147 secondary_info: last-updated
148{% endfor %}
149 show_header_toggle: false
150
151 # Drive temperatures (rows of 3)
152{% for drive in glances_storage_drives %}
153{% if loop.index0 % 3 == 0 %}
154 - type: horizontal-stack
155 cards:
156{% endif %}
157 - type: custom:mushroom-entity-card
158 entity: sensor.{{ ha_integration_name }}_{{ drive.label | lower | replace(' ', '_') }}_temp
159 name: "{{ drive.label }}"
160 icon: mdi:thermometer
161 icon_color: >-
162 {{ '{%' }} if states('sensor.{{ ha_integration_name }}_{{ drive.label | lower | replace(' ', '_') }}_temp') | float(0) > 50 {{ '%}' }}
163 red
164 {{ '{%' }} elif states('sensor.{{ ha_integration_name }}_{{ drive.label | lower | replace(' ', '_') }}_temp') | float(0) > 40 {{ '%}' }}
165 yellow
166 {{ '{%' }} else {{ '%}' }}
167 green
168 {{ '{%' }} endif {{ '%}' }}
169 layout: vertical
170{% endfor %}
171
172 # Drive power-on hours
173 - type: entities
174 title: Drive Age
175 entities:
176{% for drive in glances_storage_drives %}
177 - entity: sensor.{{ ha_integration_name }}_{{ drive.label | lower | replace(' ', '_') }}_power_hours
178 name: "{{ drive.label }} ({{ drive.device }})"
179{% endfor %}
180 show_header_toggle: false
181{% endif %}
182{% endif %}
183