feat(dash): dashboard series v2 — Ops Overview, Power, Thermal [#784 #344]
ci / lint (push) Successful in 35s
ci / lint (push) Successful in 35s
Role-based rework per founder: overview + detail dashboards. UPS parity (Tripp Lite runtime-minutes template). Phase 1 of the ground-up rework; Capacity/Access views land with fans + lock. https://projects.knownelement.com/issues/784
This commit is contained in:
@@ -20,6 +20,21 @@ prometheus:
|
||||
lovelace:
|
||||
mode: storage
|
||||
dashboards:
|
||||
pfv-overview:
|
||||
mode: yaml
|
||||
title: Ops Overview
|
||||
filename: dashboards/overview.yaml
|
||||
icon: mdi:view-dashboard-outline
|
||||
pfv-power:
|
||||
mode: yaml
|
||||
title: Power
|
||||
filename: dashboards/power.yaml
|
||||
icon: mdi:flash
|
||||
pfv-thermal:
|
||||
mode: yaml
|
||||
title: Thermal
|
||||
filename: dashboards/thermal.yaml
|
||||
icon: mdi:thermometer-lines
|
||||
pfv-server-room:
|
||||
mode: yaml
|
||||
title: Server Room
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
title: Ops Overview
|
||||
views:
|
||||
- title: Overview
|
||||
type: sections
|
||||
sections:
|
||||
- type: grid
|
||||
cards:
|
||||
- type: markdown
|
||||
content: >
|
||||
## Ops Overview
|
||||
|
||||
One screen: is anything on fire? Details live in
|
||||
[Power](/lovelace-pfv-power), [Thermal](/lovelace-pfv-thermal),
|
||||
[Server Room](/lovelace-pfv-server-room) and
|
||||
[STLP](/lovelace-pfv-stlp).
|
||||
- type: grid
|
||||
cards:
|
||||
- type: heading
|
||||
heading: Room & cooling
|
||||
- type: gauge
|
||||
entity: sensor.pfv_tsys1_rack_temperature
|
||||
name: Server room
|
||||
min: 50
|
||||
max: 110
|
||||
severity:
|
||||
green: 60
|
||||
yellow: 85
|
||||
red: 95
|
||||
- type: entities
|
||||
entities:
|
||||
- sensor.pfv_garage_temperature
|
||||
- sensor.pfv_artroom_temperature
|
||||
- type: grid
|
||||
cards:
|
||||
- type: heading
|
||||
heading: Power
|
||||
- type: gauge
|
||||
entity: sensor.tsys1_ups_battery_charge
|
||||
name: APC charge
|
||||
min: 0
|
||||
max: 100
|
||||
severity:
|
||||
green: 60
|
||||
yellow: 40
|
||||
red: 20
|
||||
- type: gauge
|
||||
entity: sensor.tsys1_triplite_battery_charge
|
||||
name: Tripp Lite charge
|
||||
min: 0
|
||||
max: 100
|
||||
severity:
|
||||
green: 60
|
||||
yellow: 40
|
||||
red: 20
|
||||
- type: entities
|
||||
entities:
|
||||
- sensor.tsys1_ups_status
|
||||
- sensor.tsys1_triplite_status
|
||||
- sensor.pfv_ups_runtime_minutes
|
||||
- sensor.pfv_triplite_runtime_minutes
|
||||
- type: grid
|
||||
cards:
|
||||
- type: heading
|
||||
heading: Alerts & self-healing
|
||||
- type: entities
|
||||
entities:
|
||||
- automation.pfv_plant_ups_on_battery
|
||||
- automation.pfv_plant_ups_battery_low
|
||||
- automation.pfv_plant_ups_communication_lost
|
||||
- automation.pfv_plant_high_temperature
|
||||
- automation.pfv_watchdog_stale_entity_auto_heal
|
||||
- input_boolean.pfv_watchdog_auto_restart
|
||||
- type: grid
|
||||
cards:
|
||||
- type: markdown
|
||||
content: >
|
||||
**Pipeline:** deploy sensor tracks `release` on KNEL/KNELBMS.
|
||||
CI runs on every dev/release push (Actions tab in gitea).
|
||||
Out-of-band paging: Uptime Kuma (Cloudron).
|
||||
@@ -0,0 +1,114 @@
|
||||
title: Power
|
||||
views:
|
||||
- title: UPS detail
|
||||
type: sections
|
||||
sections:
|
||||
- type: grid
|
||||
cards:
|
||||
- type: heading
|
||||
heading: APC Smart-UPS C 1500 (battery-side USB HID)
|
||||
- type: gauge
|
||||
entity: sensor.tsys1_ups_battery_charge
|
||||
name: Charge
|
||||
min: 0
|
||||
max: 100
|
||||
severity:
|
||||
green: 60
|
||||
yellow: 40
|
||||
red: 20
|
||||
- type: gauge
|
||||
entity: sensor.pfv_ups_runtime_minutes
|
||||
name: Runtime (min)
|
||||
min: 0
|
||||
max: 60
|
||||
severity:
|
||||
green: 25
|
||||
yellow: 15
|
||||
red: 5
|
||||
- type: grid
|
||||
cards:
|
||||
- type: entities
|
||||
title: APC status
|
||||
entities:
|
||||
- sensor.tsys1_ups_status
|
||||
- sensor.tsys1_ups_status_data
|
||||
- sensor.tsys1_ups_battery_charge
|
||||
- sensor.pfv_ups_runtime_minutes
|
||||
- sensor.tsys1_ups_battery_runtime
|
||||
- sensor.tsys1_ups_battery_voltage
|
||||
- sensor.tsys1_ups_nominal_battery_voltage
|
||||
- sensor.tsys1_ups_low_battery_setpoint
|
||||
- sensor.tsys1_ups_beeper_status
|
||||
- type: markdown
|
||||
content: >
|
||||
Serial AS1213210423 · mfr 2012-03 · fw UPS 02.2 · 24 V
|
||||
nominal. USB HID exposes battery-side metrics only — no
|
||||
input/output voltage or watts on this unit.
|
||||
- type: grid
|
||||
cards:
|
||||
- type: heading
|
||||
heading: Tripp Lite 1500 VA (moved from tsys9, #372)
|
||||
- type: gauge
|
||||
entity: sensor.tsys1_triplite_battery_charge
|
||||
name: Charge
|
||||
min: 0
|
||||
max: 100
|
||||
severity:
|
||||
green: 60
|
||||
yellow: 40
|
||||
red: 20
|
||||
- type: gauge
|
||||
entity: sensor.tsys1_triplite_load
|
||||
name: Load %
|
||||
min: 0
|
||||
max: 100
|
||||
severity:
|
||||
green: 70
|
||||
yellow: 85
|
||||
red: 95
|
||||
- type: grid
|
||||
cards:
|
||||
- type: entities
|
||||
title: Tripp Lite status
|
||||
entities:
|
||||
- sensor.tsys1_triplite_status
|
||||
- sensor.tsys1_triplite_status_data
|
||||
- sensor.tsys1_triplite_battery_charge
|
||||
- sensor.tsys1_triplite_apparent_power
|
||||
- sensor.tsys1_triplite_output_current
|
||||
- sensor.tsys1_triplite_load
|
||||
- sensor.pfv_triplite_runtime_minutes
|
||||
- sensor.tsys1_triplite_battery_runtime
|
||||
- sensor.tsys1_triplite_input_voltage
|
||||
- sensor.tsys1_triplite_output_voltage
|
||||
- sensor.tsys1_triplite_nominal_power
|
||||
- title: Trends
|
||||
type: sections
|
||||
sections:
|
||||
- type: grid
|
||||
cards:
|
||||
- type: history-graph
|
||||
title: UPS charge (7 days)
|
||||
entities:
|
||||
- sensor.tsys1_ups_battery_charge
|
||||
- sensor.tsys1_triplite_battery_charge
|
||||
hours_to_show: 168
|
||||
- type: grid
|
||||
cards:
|
||||
- type: history-graph
|
||||
title: Tripp Lite apparent power (24h)
|
||||
entities:
|
||||
- sensor.tsys1_triplite_apparent_power
|
||||
hours_to_show: 24
|
||||
- type: history-graph
|
||||
title: UPS load % (24h)
|
||||
entities:
|
||||
- sensor.tsys1_triplite_load
|
||||
hours_to_show: 24
|
||||
- type: grid
|
||||
cards:
|
||||
- type: markdown
|
||||
content: >
|
||||
**Planned sections** (land with their data sources):
|
||||
Emporia CT rental-bank feed (#623), whole-house kWh vs
|
||||
solar production (#760), garage PDU circuits (#733).
|
||||
@@ -0,0 +1,119 @@
|
||||
title: Thermal
|
||||
views:
|
||||
- title: Rooms
|
||||
type: sections
|
||||
sections:
|
||||
- type: grid
|
||||
cards:
|
||||
- type: gauge
|
||||
entity: sensor.pfv_tsys1_rack_temperature
|
||||
name: Server room
|
||||
min: 50
|
||||
max: 110
|
||||
severity:
|
||||
green: 60
|
||||
yellow: 85
|
||||
red: 95
|
||||
- type: history-graph
|
||||
title: Server room (24h)
|
||||
entities:
|
||||
- sensor.pfv_tsys1_rack_temperature
|
||||
hours_to_show: 24
|
||||
- type: grid
|
||||
cards:
|
||||
- type: gauge
|
||||
entity: sensor.pfv_garage_temperature
|
||||
name: Garage
|
||||
min: 30
|
||||
max: 110
|
||||
severity:
|
||||
green: 40
|
||||
yellow: 90
|
||||
red: 100
|
||||
- type: history-graph
|
||||
title: Garage (24h)
|
||||
entities:
|
||||
- sensor.pfv_garage_temperature
|
||||
hours_to_show: 24
|
||||
- type: grid
|
||||
cards:
|
||||
- type: gauge
|
||||
entity: sensor.pfv_artroom_temperature
|
||||
name: Art room
|
||||
min: 40
|
||||
max: 110
|
||||
severity:
|
||||
green: 60
|
||||
yellow: 85
|
||||
red: 95
|
||||
- type: history-graph
|
||||
title: Art room (24h)
|
||||
entities:
|
||||
- sensor.pfv_artroom_temperature
|
||||
hours_to_show: 24
|
||||
- type: grid
|
||||
cards:
|
||||
- type: markdown
|
||||
content: >
|
||||
**Minisplit** — climate entity lands with the Carrier dongle
|
||||
commissioning (#629). Manual setpoint tonight: 62°F, with the
|
||||
oscillating fan improving distribution. Alert tiers:
|
||||
ambient 104°F · drives 140°F · NVMe 150°F · PCH 160°F ·
|
||||
GPU 185°F.
|
||||
- title: Racks & silicon
|
||||
type: sections
|
||||
sections:
|
||||
- type: grid
|
||||
cards:
|
||||
- type: entities
|
||||
title: R3 · PowerEdge (DRAC)
|
||||
entities:
|
||||
- sensor.pfv_tsys6_cpu_temperature
|
||||
- sensor.pfv_tsys6_drac_ambient
|
||||
- sensor.pfv_tsys7_cpu_temperature
|
||||
- sensor.pfv_tsys7_drac_inlet
|
||||
- sensor.pfv_tsys7_drac_exhaust
|
||||
- sensor.pfv_tsys7_drac_cpu1
|
||||
- sensor.pfv_tsys7_drac_cpu2
|
||||
- type: grid
|
||||
cards:
|
||||
- type: entities
|
||||
title: R3 · Pis + Jetson
|
||||
entities:
|
||||
- sensor.pfv_svrpi_temperature
|
||||
- sensor.pfv_subopi3_temperature
|
||||
- sensor.pfv_subopi_dev_3_temperature
|
||||
- sensor.pfv_subopi_dev_4_temperature
|
||||
- sensor.pfv_jetson_temperature
|
||||
- sensor.pfv_jetson_gpu_temperature
|
||||
- type: grid
|
||||
cards:
|
||||
- type: entities
|
||||
title: R5 · Laptops
|
||||
entities:
|
||||
- sensor.pfv_tsys3_cpu_temperature
|
||||
- sensor.pfv_tsys3_gpu_temperature
|
||||
- sensor.pfv_tsys3_nvme_temperature
|
||||
- sensor.pfv_tsys5_nvme_temperature
|
||||
- type: grid
|
||||
cards:
|
||||
- type: entities
|
||||
title: R5 · Desktops / OptiPlex-class
|
||||
entities:
|
||||
- sensor.pfv_tsys1_rack_temperature
|
||||
- sensor.pfv_tsys4_ambient_temperature
|
||||
- sensor.pfv_tsys1_cpu_temperature
|
||||
- sensor.pfv_tsys4_cpu_temperature
|
||||
- sensor.pfv_tsys9_cpu_temperature
|
||||
- sensor.pfv_tsys9_pch_temperature
|
||||
- type: grid
|
||||
cards:
|
||||
- type: history-graph
|
||||
title: CPU temperatures (24h)
|
||||
entities:
|
||||
- sensor.pfv_tsys1_cpu_temperature
|
||||
- sensor.pfv_tsys3_cpu_temperature
|
||||
- sensor.pfv_tsys6_cpu_temperature
|
||||
- sensor.pfv_tsys7_cpu_temperature
|
||||
- sensor.pfv_tsys9_cpu_temperature
|
||||
hours_to_show: 24
|
||||
@@ -800,6 +800,13 @@ template:
|
||||
state: >-
|
||||
{% set v = states('sensor.tsys1_ups_battery_runtime') %}
|
||||
{{ (v | float / 60) | round(0) if is_number(v) else none }}
|
||||
- name: "PFV Tripp Lite runtime minutes"
|
||||
unique_id: pfv_triplite_runtime_minutes
|
||||
device_class: duration
|
||||
unit_of_measurement: "min"
|
||||
state: >-
|
||||
{% set v = states('sensor.tsys1_triplite_battery_runtime') %}
|
||||
{{ (v | float / 60) | round(0) if is_number(v) else none }}
|
||||
- name: "PFV tsys1 drive temperature"
|
||||
unique_id: pfv_tsys1_drive_temperature
|
||||
device_class: temperature
|
||||
|
||||
Reference in New Issue
Block a user