Skip to content

Instantly share code, notes, and snippets.

@TheAppleFreak
Last active January 30, 2026 07:06
Show Gist options
  • Select an option

  • Save TheAppleFreak/ef03ebbd49c0d7c049b9116e3f646bba to your computer and use it in GitHub Desktop.

Select an option

Save TheAppleFreak/ef03ebbd49c0d7c049b9116e3f646bba to your computer and use it in GitHub Desktop.
alias: NAS Drive Status
description: ""
triggers:
- trigger: time_pattern
hours: / 4
conditions: []
actions:
- variables:
drive_1_free: "{{ states('sensor.system_monitor_disk_free_share_files') }}"
drive_1_used: "{{ states('sensor.system_monitor_disk_use_share_files') }}"
drive_1_pct: "{{ states('sensor.system_monitor_disk_usage_share_files') }}"
drive_1_total: "{{ drive_1_free | float + drive_1_used | float }}"
drive_1_tib_free: "{{ drive_1_free | float >= 1000 }}"
drive_1_tib_used: "{{ drive_1_used | float >= 1000 }}"
drive_1_tib_total: "{{ drive_1_total | float >= 1000 }}"
drive_1_format_free: "{{'%0.2f' if drive_1_tib_free else '%0.0f'}}"
drive_1_format_used: "{{'%0.2f' if drive_1_tib_used else '%0.0f'}}"
drive_1_format_total: "{{'%0.2f' if drive_1_tib_total else '%0.0f'}}"
drive_2_free: "{{ states('sensor.system_monitor_disk_free_media_media') }}"
drive_2_used: "{{ states('sensor.system_monitor_disk_use_media_media') }}"
drive_2_pct: "{{ states('sensor.system_monitor_disk_usage_media_media') }}"
drive_2_total: "{{ drive_2_free | float + drive_2_used | float }}"
drive_2_tib_free: "{{ drive_2_free | float >= 1000 }}"
drive_2_tib_used: "{{ drive_2_used | float >= 1000 }}"
drive_2_tib_total: "{{ drive_2_total | float >= 1000 }}"
drive_2_format_free: "{{'%0.2f' if drive_2_tib_free else '%0.0f'}}"
drive_2_format_used: "{{'%0.2f' if drive_2_tib_used else '%0.0f'}}"
drive_2_format_total: "{{'%0.2f' if drive_2_tib_total else '%0.0f'}}"
time_icon: >-
{{ ['clock-time-twelve', 'clock-time-one', 'clock-time-two',
'clock-time-three', 'clock-time-four', 'clock-time-five',
'clock-time-six', 'clock-time-seven', 'clock-time-eight',
'clock-time-nine', 'clock-time-ten',
'clock-time-eleven'][wrap(now().hour, 0, 12) | int] }}
- parallel:
- alias: Drive 01 Status (Files)
action: open_epaper_link.drawcustom
metadata: {}
data:
rotate: 0
dither: "2"
ttl: 60
refresh_type: "0"
dry-run: false
payload:
- type: text
visible: true
value: HARD DRIVE
x: 5
"y": 15
size: 20
color: black
font: ppb.ttf
- type: text
visible: true
value: "01"
x: 64
"y": 37
size: 104
color: black
font: ppb.ttf
anchor: mt
- type: progress_bar
visible: true
x_start: 140
y_start: 38
x_end: 290
y_end: 52
progress: "{{drive_1_pct | int}}"
direction: right
fill: red
outline: black
width: 1
background: white
- type: text
visible: true
value: "{{drive_1_pct | int}}%"
x: 216
"y": 7
size: 30
color: black
font: ppb.ttf
anchor: mt
- type: text
visible: true
value: FULL
x: 290
"y": 20
size: 12
color: black
font: ppb.ttf
anchor: rt
- type: icon
visible: "{{ true if drive_1_pct | int >= 90 else false }}"
value: mdi:alert
x: 140
"y": 3
size: 30
fill: red
- type: text
visible: true
value: >-
{{ drive_1_format_used | format(drive_1_used | float / (1024 if
drive_1_tib_used else 1)) }} {{ 'TiB' if drive_1_tib_used else
'GiB'}}
x: 140
"y": 67
size: 18
color: black
font: ppb.ttf
anchor: lt
- type: text
visible: true
value: /
x: 208
"y": 60
size: 24
color: black
font: ppb.ttf
- type: text
visible: true
value: >-
{{ drive_1_format_total | format(drive_1_total | float / (1024
if drive_1_tib_total else 1)) }} {{ 'TiB' if drive_1_tib_total
else 'GiB'}}
x: 290
"y": 67
size: 18
color: black
font: ppb.ttf
anchor: rt
- type: text
visible: true
value: >-
{{ drive_1_format_free | format(drive_1_free | float / (1024 if
drive_1_tib_free else 1)) }} {{ 'TiB' if drive_1_tib_free else
'GiB'}}
x: 140
"y": 115
size: 24
color: black
font: ppb.ttf
anchor: lb
- type: text
visible: true
value: FREE
x: 262
"y": 106
size: 12
color: black
font: ppb.ttf
anchor: rt
- type: icon
visible: true
value: mdi:{{time_icon}}
x: 290
"y": 114
size: 16
anchor: rb
background: white
target:
device_id: e17179933907bb5da1fd1984dc6fda9b
- alias: Drive 02 Status (bulk-media)
action: open_epaper_link.drawcustom
metadata: {}
target:
device_id: bd75d9a82f49c4e42c03c83eef580c58
data:
rotate: 0
dither: "2"
ttl: 60
refresh_type: "0"
dry-run: false
payload:
- type: text
visible: true
value: HARD DRIVE
x: 5
"y": 15
size: 20
color: black
font: ppb.ttf
- type: text
visible: true
value: "02"
x: 64
"y": 37
size: 104
color: black
font: ppb.ttf
anchor: mt
- type: progress_bar
visible: true
x_start: 140
y_start: 38
x_end: 290
y_end: 52
progress: "{{drive_2_pct | int}}"
direction: right
fill: red
outline: black
width: 1
background: white
- type: text
visible: true
value: "{{drive_2_pct | int}}%"
x: 216
"y": 7
size: 30
color: black
font: ppb.ttf
anchor: mt
- type: text
visible: true
value: FULL
x: 290
"y": 20
size: 12
color: black
font: ppb.ttf
anchor: rt
- type: icon
visible: "{{ true if drive_2_pct | int >= 90 else false }}"
value: mdi:alert
x: 140
"y": 3
size: 30
fill: red
- type: text
visible: true
value: >-
{{ drive_2_format_used | format(drive_2_used | float / (1024 if
drive_2_tib_used else 1)) }} {{ 'TiB' if drive_2_tib_used else
'GiB'}}
x: 140
"y": 67
size: 18
color: black
font: ppb.ttf
anchor: lt
- type: text
visible: true
value: /
x: 208
"y": 60
size: 24
color: black
font: ppb.ttf
- type: text
visible: true
value: >-
{{ drive_2_format_total | format(drive_2_total | float / (1024
if drive_2_tib_total else 1)) }} {{ 'TiB' if drive_2_tib_total
else 'GiB'}}
x: 290
"y": 67
size: 18
color: black
font: ppb.ttf
anchor: rt
- type: text
visible: true
value: >-
{{ drive_2_format_free | format(drive_2_free | float / (1024 if
drive_2_tib_free else 1)) }} {{ 'TiB' if drive_2_tib_free else
'GiB'}}
x: 140
"y": 115
size: 24
color: black
font: ppb.ttf
anchor: lb
- type: text
visible: true
value: FREE
x: 262
"y": 106
size: 12
color: black
font: ppb.ttf
anchor: rt
- type: icon
visible: true
value: mdi:{{time_icon}}
x: 290
"y": 114
size: 16
anchor: rb
background: white
mode: single
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment