feat(dashboards): garage + artroom; health heart view; fleet-wide unknown-render fix [#618][#344][#625]

This commit is contained in:
2026-09-02 16:45:09 -05:00
parent 206392c6c7
commit 12af66e1ae
5 changed files with 115 additions and 16 deletions
+16 -16
View File
@@ -15,7 +15,7 @@ sensor:
{% set ext = value | regex_findall('External:\s*\+?(-?\d+\.?\d*)') %}
{% set int = value | regex_findall('Internal:\s*\+?(-?\d+\.?\d*)') %}
{% set c = (ext | first) if ext else ((int | first) if int else none) %}
{{ ((c | float * 9 / 5) + 32) | round(1) if c is not none else 'unknown' }}
{{ ((c | float * 9 / 5) + 32) | round(1) if c is not none }}
- platform: snmp
name: "PFV garage temperature"
@@ -32,7 +32,7 @@ sensor:
{% set ext = value | regex_findall('External:\s*\+?(-?\d+\.?\d*)') %}
{% set int = value | regex_findall('Internal:\s*\+?(-?\d+\.?\d*)') %}
{% set c = (ext | first) if ext else ((int | first) if int else none) %}
{{ ((c | float * 9 / 5) + 32) | round(1) if c is not none else 'unknown' }}
{{ ((c | float * 9 / 5) + 32) | round(1) if c is not none }}
- platform: snmp
name: "PFV tsys1 rack temperature"
@@ -49,7 +49,7 @@ sensor:
{% set ext = value | regex_findall('External:\s*\+?(-?\d+\.?\d*)') %}
{% set int = value | regex_findall('Internal:\s*\+?(-?\d+\.?\d*)') %}
{% set c = (ext | first) if ext else ((int | first) if int else none) %}
{{ ((c | float * 9 / 5) + 32) | round(1) if c is not none else 'unknown' }}
{{ ((c | float * 9 / 5) + 32) | round(1) if c is not none }}
# --- Native lm-sensors hosts (label picked per host ground truth 2026-08-27) ---
# tsys3 Precision 7510: CPU package
@@ -66,7 +66,7 @@ sensor:
unique_id: pfv_tsys3_cpu_temperature
value_template: >-
{% set m = value | regex_findall('Package id 0:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
# tsys4 Precision T1700: Dell SMM ambient (board inlet)
- platform: snmp
@@ -82,7 +82,7 @@ sensor:
unique_id: pfv_tsys4_ambient_temperature
value_template: >-
{% set m = value | regex_findall('Ambient:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
# tsys5 Precision T7500: Dell SMM ambient (board inlet)
- platform: snmp
@@ -98,7 +98,7 @@ sensor:
unique_id: pfv_tsys5_ambient_temperature
value_template: >-
{% set m = value | regex_findall('Ambient:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
# tsys6 PowerEdge R610: socket-0 core temp (no Package label on Westmere)
- platform: snmp
@@ -114,7 +114,7 @@ sensor:
unique_id: pfv_tsys6_cpu_temperature
value_template: >-
{% set m = value | regex_findall('Core 0:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
# tsys6 ACPI power meter (node draw, watts)
- platform: snmp
@@ -130,7 +130,7 @@ sensor:
unique_id: pfv_tsys6_node_power
value_template: >-
{% set m = value | regex_findall('power1:\s*(\d+\.?\d*)\s*W') %}
{{ m | first | float if m else 'unknown' }}
{{ m | first | float if m }}
# tsys7 PowerEdge R620: package temp
- platform: snmp
@@ -146,7 +146,7 @@ sensor:
unique_id: pfv_tsys7_cpu_temperature
value_template: >-
{% set m = value | regex_findall('Package id 0:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
# tsys7 ACPI power meter (node draw, watts)
- platform: snmp
@@ -162,7 +162,7 @@ sensor:
unique_id: pfv_tsys7_node_power
value_template: >-
{% set m = value | regex_findall('power1:\s*(\d+\.?\d*)\s*W') %}
{{ m | first | float if m else 'unknown' }}
{{ m | first | float if m }}
# tsys9 OptiPlex 7080: package temp
- platform: snmp
@@ -178,7 +178,7 @@ sensor:
unique_id: pfv_tsys9_cpu_temperature
value_template: >-
{% set m = value | regex_findall('Package id 0:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
# --- SBC fleet (sysfs thermal fallback in lmsensors-extend v2; temp1 = zone0/SoC) ---
- platform: snmp
@@ -194,7 +194,7 @@ sensor:
unique_id: pfv_jetson_temperature
value_template: >-
{% set m = value | regex_findall('temp1:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
- platform: snmp
name: "PFV svrpi temperature"
@@ -209,7 +209,7 @@ sensor:
unique_id: pfv_svrpi_temperature
value_template: >-
{% set m = value | regex_findall('temp1:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
- platform: snmp
name: "PFV subopi3 temperature"
@@ -224,7 +224,7 @@ sensor:
unique_id: pfv_subopi3_temperature
value_template: >-
{% set m = value | regex_findall('temp1:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
- platform: snmp
name: "PFV subopi-dev-3 temperature"
@@ -239,7 +239,7 @@ sensor:
unique_id: pfv_subopi_dev_3_temperature
value_template: >-
{% set m = value | regex_findall('temp1:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
- platform: snmp
name: "PFV subopi-dev-4 temperature"
@@ -254,7 +254,7 @@ sensor:
unique_id: pfv_subopi_dev_4_temperature
value_template: >-
{% set m = value | regex_findall('temp1:\s*\+?(-?\d+\.?\d*)') %}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }}
{{ ((m | first | float * 9 / 5) + 32) | round(1) if m }}
# --- iDRAC IPMI temps via drac-extend (SNMP MIB tables empty on this hw gen) [#625] ---