# UnRAID Server Montitoring for Dwains-Theme
## Version 0.3 by noodlemctwoodle
# Please view the set up guide for this view on GitHub
## https://github.com/noodlemctwoodle/homeassistant/tree/master/user_content
# image: '/local/images/lovelace-themes/dwains-theme/software/unraid_logo.png'
- type: custom:dwains-flexbox-card
padding: true
items_classes: 'col-lg-6 col-md-6 col-sm-12 col-xs-12'
cards:
- type: horizontal-stack
cards:
# UnRAID Docker Containers
- type: "custom:button-card"
style: |
ha-card {
border-radius: 10px;
box-shadow: 10px;
background-position: center;
entity: sensor.glances_unraid_containers_active
name: Containers
show_state: true
show_name: false
show_label: true
show_icon: true
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
icon:
- width: 27%
- margin-top: 1%
# UnRAID Version Card
- type: "custom:button-card"
style: |
ha-card {
border-radius: 10px;
box-shadow: 10px;
entity: sensor.unraid_version_stable
icon: mdi:package-up
show_state: true
show_name: false
show_label: true
show_icon: true
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
icon:
- width: 27%
- margin-top: 1%
# UnRAID Power Button
- type: "custom:button-card"
style: |
ha-card {
border-radius: 10px;
box-shadow: 10px;
background-position: center;
entity: switch.chsunr01_power_off
show_state: false
show_name: true
show_label: true
show_icon: true
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
icon:
- width: 27%
- margin-top: 1%
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
# UnRAID Reboot Button
- type: "custom:button-card"
style: |
ha-card {
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_reboot
icon: mdi:power-off
show_state: false
show_name: true
show_label: true
show_icon: true
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
icon:
- width: 27%
- margin-top: 1%
# UnRAID Mover
- type: "custom:button-card"
style: |
ha-card {
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_mover
icon: mdi:inbox-arrow-down
name: Move Data
show_state: false
show_name: true
show_label: false
show_icon: true
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
icon:
- width: 27%
- margin-top: 1%
# UnRAID Parity Check
- type: "custom:button-card"
style: |
ha-card {
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_partitycheck
icon: mdi:harddisk-remove
name: Parity Check
show_state: false
show_name: true
show_label: false
show_icon: true
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
icon:
- width: 27%
- margin-top: 1%
- type: custom:dwains-flexbox-card
padding: true
items_classes: 'col-lg-6 col-md-6 col-sm-12 col-xs-12'
cards:
- type: horizontal-stack
cards:
# UnRAID Array Status
- type: custom:bar-card
item_classes: 'col-lg-3 col-md-3'
style: |-
:host {
--ha-card-background: var(--dwains-theme-primary);
--ha-card-border-radius: 10px;
--ha-card-box-shadow: 10px;
--ha-card-opacity: 0.8;
card-backgroundbar: 0px;
}
bar-card-title {
margin-bottom: 0px;
}
bar-card-divider {
display: none;
}
bar-card-value {
margin-right: auto;
margin-left: 20px;
margin-bottom: auto;
margin-top: 0px;
}
bar-card-title {
margin-bottom: 3px;
margin-top: 3px;
}
entities:
- entity: sensor.unraid_array_status_numerical
name: Array Status
icon: mdi:code-array
- entity: sensor.unraid_array_protection_numerical
name: Array Protection
icon: mdi:harddisk-plus
show_icon: true
positions:
name: inside
value: 'off'
icon: inside
severity:
- color: Green
from: 0
to: 1
- color: Red
from: 1
to: 0
direction: right
stack: horizontal
columns: 1
max: 1
min: 0
tap_action: none
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
# UnRAID Array Total Space
- type: custom:bar-card
item_classes: 'col-lg-3 col-md-3'
style: |
:host {
--ha-card-background: var(--dwains-theme-primary);
--ha-card-border-radius: 10px;
--ha-card-box-shadow: 10px;
--ha-card-font-weight: bold;
--ha-card-opacity: 0.8;
}
ha-card {
font-size: 10px;
}
bar-card-value {
font-size: 10px;
}
entity: sensor.unraid_array_space
icon: mdi:database-settings
show_icon: true
positions:
name: inside
value: inside
icon: inside
severity:
- color: '#3cff00'
from: 0
to: 30
- color: '#ccff00'
from: 31
to: 40
- color: '#d9d21c'
from: 41
to: 50
- color: '#f7da00'
from: 51
to: 60
- color: '#edac09'
from: 61
to: 70
- color: '#ffa408'
from: 71
to: 80
- color: '#ff5e08'
from: 81
to: 90
- color: '#ed0909'
from: 91
to: 100
direction: right
columns: 1
max: 100
min: 0
tap_action: none
- type: custom:dwains-flexbox-card
padding: true
items_classes: 'col-lg-6 col-md-6 col-sm-12 col-xs-12'
cards:
- type: horizontal-stack
cards:
# Plex Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/plex.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_binhex_plexpass
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_binhex_plexpass
# NZBGet Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/nzbget.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_nzbget
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- justify-self: left
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_nzbget
# Sonarr Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/sonarr.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_sonarr
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_sonarr
# Radar Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/radarr.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_radarr
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_radarr
# Lidarr Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/lidarr.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_lidarr
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_lidarr
# Duplicati Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/duplicati.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_duplicati
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- justify-self: left
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_duplicati
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
# UnRAID-API Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/unraid-api.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_unraid_api
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- justify-self: right
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_unraid_api
# NZBHydra Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/nzbhydra2.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_binhex_nzbhydra2
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- justify-self: left
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_binhex_nzbhydra2
# Tautulli Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/tautulli.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_tautulli
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- justify-self: left
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_tautulli
# DiskSpeed Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/diskspeed.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_diskspeed
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- justify-self: left
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_diskspeed
# Glances Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/glances.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_glances
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- justify-self: left
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_glances
# Netdata Container
- type: "custom:button-card"
style: |
ha-card {
background: url('/local/images/lovelace-themes/dwains-theme/icons/netdata.png');
border-radius: 10px;
box-shadow: 10px;
entity: switch.chsunr01_docker_netdata
show_state: false
show_name: false
show_label: false
show_icon: false
styles:
card:
- background-size: contain
- background-repeat: no-repeat
- background-position: center
state:
- justify-self: left
state:
- value: 'off'
styles:
card:
- filter: grayscale(100%)
custom_fields:
switch: >
[[[
return `<ha-icon
style="width: 36px; height: 68px;">
</ha-icon>`
]]]
double_tap_action:
action: call-service
service: switch.toggle
service_data:
entity_id: switch.chsunr01_docker_netdata
- type: vertical-stack
cards:
- type: custom:dwains-flexbox-card
padding: true
items_classes: 'col-lg-6 col-md-6 col-sm-12 col-xs-12'
cards:
- type: horizontal-stack
cards:
# CPU Usage
- type: custom:mini-graph-card
style: |
ha-card {
background: var(--paper-card-background-color);
border-radius: 10px;
box-shadow: 10px;
font-weight: bold;
opacity: 0.8;
}
entities:
- entity: sensor.glances_unraid_cpu_used
name: System
color: '#14ff8d' # Light Green
- entity: sensor.glances_unraid_containers_cpu_used
name: Containers
color: '#0293fa' # Sky Blue
name: CPU Usage
icon: mdi:cpu-64-bit
height: 200
hours_to_show: 7
points_per_hour: 60
update_interval: 10
aggregate_func: max
line_width: 2
smoothing: false
font_size: 65
font_size_header: 9
show:
average: true
extrema: true
tap_action: none
# Ram Usage
- type: custom:mini-graph-card
style: |
ha-card {
background: var(--paper-card-background-color);
border-radius: 10px;
box-shadow: 10px;
font-weight: bold;
opacity: 0.8;
}
entities:
- entity: sensor.glances_unraid_ram_used
name: System
color: '#14ff8d' # Light Green
- entity: sensor.glances_unraid_containers_ram_used
name: Containers
color: '#0293fa' # Sky Blue
name: RAM Usage
height: 200
hours_to_show: 7
points_per_hour: 60
update_interval: 10
aggregate_func: max
line_width: 2
smoothing: false
font_size: 65
font_size_header: 9
show:
average: true
extrema: true
tap_action: none
- type: horizontal-stack
cards:
- type: custom:swipe-card
parameters:
spaceBetween: 8
touchEventsTarget: 'container'
pagination:
type: 'bullets'
dynamicBullets: true
cards:
- type: horizontal-stack
cards:
# LAN Download
- type: custom:mini-graph-card
item_classes: 'col-lg-6 col-md-6'
style: |
ha-card {
background: var(--paper-card-background-color);
border-radius: 10px;
box-shadow: 10px;
font-weight: bold;
opacity: 0.8;
}
entities:
- entity: sensor.unraid_parity_temperature
name: Parity
color: '#f205b3' # Pink
- entity: sensor.unraid_disk1_temperature
name: Disk 1
color: '#f20505' # Red
- entity: sensor.unraid_disk2_temperature
name: Disk 2
color: '#05f248' # Green
- entity: sensor.unraid_disk3_temperature
name: Disk 3
color: '#e9fa02' # Yellow
- entity: sensor.unraid_disk4_temperature
name: Disk 4
color: '#0293fa' # Sky Blue
- entity: sensor.unraid_disk5_temperature
name: Disk 5
color: '#e3830e' # Orange
- entity: sensor.unraid_disk6_temperature
name: Disk 6
color: '#750ee3' # Purple
name: UnRAID Disk Temps
icon: mdi:thermometer-lines
hours_to_show: 7
points_per_hour: 60
update_interval: 10
line_width: 1
smoothing: true
font_size: 65
font_size_header: 9
show:
graph: line
average: true
extrema: true
tap_action: none
- type: vertical-stack
cards:
# LAN Upload
- type: custom:mini-graph-card
item_classes: 'col-lg-6 col-md-6'
style: |
ha-card {
background: var(--paper-card-background-color);
border-radius: 10px;
box-shadow: 10px;
font-weight: bold;
opacity: 0.8;
}
entities:
- entity: sensor.unraid_lan0_upload_vlan10
name: LAN 0
color: '#f205b3' # Pink
- entity: sensor.unraid_lan1_upload_lagg0
name: LAN 1
color: '#f20505' # Red
- entity: sensor.unraid_lan2_upload_lagg0
name: LAN 2
color: '#05f248' # Green
- entity: sensor.unraid_lan3_upload_lagg0
name: LAN 3
color: '#e9fa02' # Yellow
- entity: sensor.unraid_lan4_upload_lagg0
name: LAN 4
color: '#0293fa' # Sky Blue
name: UnRAID LAN Traffic (Upload)
icon: mdi:upload-network
hours_to_show: 1
points_per_hour: 60
update_interval: 10
aggregate_func: avg
line_width: 1
smoothing: false
font_size: 65
font_size_header: 9
show:
graph: line
average: true
extrema: true
tap_action: none
- type: vertical-stack
cards:
- type: custom:dwains-flexbox-card
padding: true
items_classes: 'col-lg-6 col-md-6 col-sm-12 col-xs-12'
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
# Markdown Title Card
- type: markdown
style: |
ha-card {
background: var(--paper-card-background-color);
border-radius: 10px;
box-shadow: 10px;
font-weight: bold;
opacity: 0.8;
}
content: |
Parity Array
# Disk Space Used Card
- type: custom:swipe-card
parameters:
spaceBetween: 8
touchEventsTarget: 'container'
pagination:
type: 'bullets'
dynamicBullets: true
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
# Disk 1 Used %
- type: custom:bar-card
style: |
:host {
--ha-card-background: var(--paper-card-background-color);
--ha-card-border-radius: 10px;
--ha-card-box-shadow: 10px;
--ha-card-font-weight: bold;
--ha-card-opacity: 0.8;
}
ha-card {
font-size: 10px;
}
bar-card-value {
font-size: 10px;
}
entities:
- entity: sensor.glances_unraid_mnt_disk1_used_percent
name: Disk 1 Usage
- entity: sensor.glances_unraid_mnt_disk2_used_percent
name: Disk 2 Usage
- entity: sensor.glances_unraid_mnt_disk3_used_percent
name: Disk 3 Usage
- entity: sensor.glances_unraid_mnt_disk4_used_percent
name: Disk 4 Usage
- entity: sensor.glances_unraid_mnt_disk5_used_percent
name: Disk 5 Usage
- entity: sensor.glances_unraid_mnt_disk6_used_percent
name: Disk 6 Usage
show_icon: true
height: 180px
stack: horizontal
positions:
name: inside
value: inside
icon: inside
severity:
- color: '#3cff00'
from: 0
to: 30
- color: '#ccff00'
from: 30
to: 40
- color: '#f1f505'
from: 40
to: 50
- color: '#f7da00'
from: 50
to: 60
- color: '#edac09'
from: 60
to: 70
- color: '#ffa408'
from: 70
to: 80
- color: '#ff5e08'
from: 80
to: 90
- color: '#ed0909'
from: 90
to: 100
direction: up
columns: 1
max: 100
min: 0
tap_action: none
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
# Disks Space Free
- type: custom:bar-card
style: |
:host {
--ha-card-background: var(--paper-card-background-color);
--ha-card-border-radius: 10px;
--ha-card-box-shadow: 10px;
--ha-card-font-weight: bold;
--ha-card-opacity: 0.8;
}
ha-card {
font-size: 10px;
}
bar-card-value {
font-size: 10px;
}
entities:
- entity: sensor.glances_unraid_mnt_disk1_free
name: Disk 1 Free
min: 0
max: 5460
- entity: sensor.glances_unraid_mnt_disk2_free
name: Disk 2 Free
min: 0
max: 5460
- entity: sensor.glances_unraid_mnt_disk3_free
name: Disk 3 Free
min: 0
max: 5460
- entity: sensor.glances_unraid_mnt_disk4_free # 3 TB Disk max: 2730mb
name: Disk 4 Free
min: 0
max: 2730
- entity: sensor.glances_unraid_mnt_disk5_free
name: Disk 5 Free
min: 0
max: 5460
- entity: sensor.glances_unraid_mnt_disk6_free
name: Disk 6 Free
min: 0
max: 5460
show_icon: true
height: 180px
stack: horizontal
positions:
name: inside
value: inside
icon: inside
severity:
- color: '#fa0505'
from: 0
to: 700
- color: '#de4314'
from: 700
to: 800
- color: '#d1861d'
from: 800
to: 900
- color: '#d4c11c'
from: 900
to: 1000
- color: '#64c91c'
from: 1001
to: 5560
direction: up
tap_action: none
- type: vertical-stack
cards:
# Markdown Title Card
- type: markdown
style: |
ha-card {
background: var(--paper-card-background-color);
border-radius: 10px;
box-shadow: 10px;
font-weight: bold;
opacity: 0.8;
}
content: |
Cache & Unassigned Devices
- type: horizontal-stack
cards:
# USB Boot Device
- type: custom:bar-card
name: Unassigned Devices & Cache
style: |
:host {
--ha-card-background: var(--paper-card-background-color);
--ha-card-border-radius: 10px;
--ha-card-box-shadow: 10px;
--ha-card-font-weight: bold;
--ha-card-opacity: 0.8;
}
ha-card {
font-size: 10px;
}
bar-card-value {
font-size: 10px;
}
entities:
- entity: sensor.glances_unraid_etc_resolv_conf_used_percent
name: USB Boot Drive
- entity: sensor.glances_unraid_mnt_cache_used_percent
name: Backups SSD
- entity: sensor.glances_unraid_mnt_disks_plex_meta_data_used_percent
name: Plex Data NVMe
- entity: sensor.glances_unraid_mnt_disks_plex_transcoder_used_percent
name: Plex Transcode NVMe
- entity: sensor.glances_unraid_mnt_cache_used_percent
name: SSD Cache (Free)
show_icon: true
height: 180px
stack: horizontal
positions:
name: inside
value: inside
icon: inside
severity:
- color: '#3cff00'
from: 0
to: 30
- color: '#ccff00'
from: 31
to: 40
- color: '#d9d21c'
from: 41
to: 50
- color: '#f7da00'
from: 51
to: 60
- color: '#edac09'
from: 61
to: 70
- color: '#ffa408'
from: 71
to: 80
- color: '#ff5e08'
from: 81
to: 90
- color: '#ed0909'
from: 91
to: 100
direction: up
tap_action: none