Thanks all for the inspiration, now I just need to create a dashboard for everything else
type: custom:stack-in-card
keep:
border_radius: true
margin: true
cards:
- type: custom:button-card
name: Network Server
entity_picture: /local/images/raspberry-pi.png
show_name: true
show_entity_picture: true
styles:
card:
- padding: 5px
- border: 0px
grid:
- grid-template-areas: '"n i"'
- grid-template-columns: 3fr 1fr
name:
- justify-self: start
- padding-left: 20px
- font-size: 30px
- font-weight: 300
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
entities:
- sensor.networkserver_cpu_usage
hours_to_show: 24
points_per_hour: 2
hour24: true
animate: true
height: 150
show:
extrema: true
icon: false
name: false
color_thresholds:
- value: 100
color: '#d32f2f'
- value: 90
color: '#ffa000'
- value: 75
color: '#388e3c'
card_mod:
style: |
ha-card .states.flex{
padding-bottom: 0px;
}
ha-card .graph{
margin-top: 0px !important;
}
ha-card .graph .graph__legend{
padding-bottom: 0px !important;
}
ha-card .info.flex{
padding-bottom: 0px !important;
}
- type: custom:mini-graph-card
entities:
- sensor.networkserver_temperature
hours_to_show: 24
points_per_hour: 2
hour24: true
animate: true
height: 150
show:
extrema: true
icon: false
name: false
color_thresholds:
- value: 100
color: '#d32f2f'
- value: 85
color: '#ffa000'
- value: 60
color: '#388e3c'
card_mod:
style: |
ha-card .states.flex{
padding-bottom: 0px;
}
ha-card .graph{
margin-top: 0px !important;
}
ha-card .graph .graph__legend{
padding-bottom: 0px !important;
}
ha-card .info.flex{
padding-bottom: 0px !important;
}
- type: horizontal-stack
cards:
- type: custom:bar-card
entities:
- sensor.networkserver_cpu_usage
name: CPU Usage
positions:
icon: 'off'
name: inside
value: inside
indicator: inside
severity:
- color: '#d32f2f'
from: 90
to: 100
- color: '#ffa000'
from: 75
to: 90
- color: '#388e3c'
from: 0
to: 75
card_mod:
style: |
bar-card-backgroundbar {
border-radius: 8px;
}
bar-card-currentbar {
border-radius: 8px;
}
- type: custom:bar-card
entities:
- sensor.networkserver_temperature
name: CPU Temp
positions:
icon: 'off'
name: inside
value: inside
indicator: inside
severity:
- color: '#d32f2f'
from: 85
to: 100
- color: '#ffa000'
from: 60
to: 85
- color: '#388e3c'
from: 0
to: 60
card_mod:
style: |
bar-card-backgroundbar {
border-radius: 8px;
}
bar-card-currentbar {
border-radius: 8px;
}
- type: horizontal-stack
cards:
- type: custom:bar-card
entities:
- entity: sensor.networkserver_load_1m
name: Load 1m
- entity: sensor.networkserver_load_5m
name: Load 5m
- entity: sensor.networkserver_load_15m
name: Load 15m
stack: horizontal
max: 4
severity:
- color: '#d32f2f'
from: 2
to: 4
- color: '#ffa000'
from: 1
to: 2
- color: '#388e3c'
from: 0
to: 1
positions:
icon: 'off'
name: inside
value: inside
indicator: inside
card_mod:
style: |
bar-card-card{
margin-right: 20px
}
bar-card-backgroundbar {
border-radius: 8px;
}
bar-card-currentbar {
border-radius: 8px;
}
- type: custom:bar-card
entities:
- sensor.networkserver_memory_use
name: Memory Usage
width: 70%
positions:
icon: 'off'
name: inside
value: inside
indicator: inside
severity:
- color: '#d32f2f'
from: 90
to: 100
- color: '#ffa000'
from: 75
to: 90
- color: '#388e3c'
from: 0
to: 75
card_mod:
style: |
bar-card-backgroundbar {
border-radius: 8px;
}
bar-card-currentbar {
border-radius: 8px;
}
- type: custom:bar-card
entities:
- sensor.networkserver_disk_use
name: Disk Usage
width: 70%
positions:
icon: 'off'
name: inside
value: inside
indicator: inside
severity:
- color: '#d32f2f'
from: 90
to: 100
- color: '#ffa000'
from: 75
to: 90
- color: '#388e3c'
from: 0
to: 75
card_mod:
style: |
bar-card-backgroundbar {
border-radius: 8px;
}
bar-card-currentbar {
border-radius: 8px;
}
- type: custom:mini-graph-card
entities:
- entity: sensor.networkserver_network_download
color: '#91C0F8'
name: Download
- entity: sensor.networkserver_network_upload
color: '#ffa000'
name: Upload
show_state: true
hours_to_show: 24
points_per_hour: 2
height: 75
animate: true
line_width: 2.5
show:
name: false
icon: false
card_mod:
style: |
ha-card .graph{
margin-top: -15px !important;
}
ha-card .graph .graph__legend{
padding-bottom: 0px !important;
}
- type: entities
entities:
- entity: sensor.networkserver_uptime
name: Uptime
- entity: sensor.networkserver_updates
name: Packages
- type: custom:fold-entity-row
head:
type: section
label: Server Details
card_mod:
style:
hui-sensor-entity-row:
$ hui-generic-entity-row $: |
.pointer{
color: #91C0F8;
}
.text-content{
color: #e1e1e1;
}
hui-simple-entity-row:
$ hui-generic-entity-row $: |
.pointer{
color: #91C0F8;
}
.text-content{
color: #e1e1e1;
}
entities:
- entity: sensor.networkserver_hostname
name: Hostname
- entity: sensor.networkserver_host_ip
name: IP Address
- entity: sensor.networkserver_host_os
name: OS
- entity: sensor.networkserver_host_kernel
name: Kernel
- entity: sensor.networkserver_host_platform
name: Platform
- entity: sensor.networkserver_host_architecture
name: Architecture
- entity: binary_sensor.networkserver_under_voltage
name: Power
- entity: sensor.networkserver_last_message
name: Last Refresh
card_mod:
style:
hui-sensor-entity-row:
$ hui-generic-entity-row $: |
.pointer{
color: #91C0F8;
}
.text-content{
color: #e1e1e1;
}