From 507a3b0d10dd0cbff90b811b2754dbaf00529f3e Mon Sep 17 00:00:00 2001 From: reachableceo Date: Wed, 2 Sep 2026 14:56:07 -0500 Subject: [PATCH] feat(plant): 5 DRAC IPMI temp sensors via snmp extend [#625] --- packages/plant_snmp.yaml | 77 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/packages/plant_snmp.yaml b/packages/plant_snmp.yaml index 46506c2..17bc718 100644 --- a/packages/plant_snmp.yaml +++ b/packages/plant_snmp.yaml @@ -256,3 +256,80 @@ sensor: {% set m = value | regex_findall('temp1:\s*\+?(-?\d+\.?\d*)') %} {{ ((m | first | float * 9 / 5) + 32) | round(1) if m else 'unknown' }} + + # --- iDRAC IPMI temps via drac-extend (SNMP MIB tables empty on this hw gen) [#625] --- + # Deployed 2026-09-02: /usr/local/bin/drac-extend + snmpd "drac" extend on tsys6/tsys7. + - platform: snmp + name: "PFV tsys6 DRAC ambient" + host: pfv-tsys6.knel.net + version: 2c + community: kn3lmgmt + baseoid: .1.3.6.1.4.1.8072.1.3.2.3.1.2.4.100.114.97.99 + accept_errors: true + device_class: temperature + state_class: measurement + unit_of_measurement: "°F" + unique_id: pfv_tsys6_drac_ambient + value_template: >- + {% set c = value | regex_findall('ambient_temp (\d+)') | first if value is match('ambient_temp') else none %} + {{ ((c | float * 9 / 5) + 32) | round(1) if c is not none else 'unknown' }} + + - platform: snmp + name: "PFV tsys7 DRAC inlet" + host: pfv-tsys7.knel.net + version: 2c + community: kn3lmgmt + baseoid: .1.3.6.1.4.1.8072.1.3.2.3.1.2.4.100.114.97.99 + accept_errors: true + device_class: temperature + state_class: measurement + unit_of_measurement: "°F" + unique_id: pfv_tsys7_drac_inlet + value_template: >- + {% set c = value | regex_findall('inlet_temp (\d+)') | first if value is match('inlet_temp') else none %} + {{ ((c | float * 9 / 5) + 32) | round(1) if c is not none else 'unknown' }} + + - platform: snmp + name: "PFV tsys7 DRAC exhaust" + host: pfv-tsys7.knel.net + version: 2c + community: kn3lmgmt + baseoid: .1.3.6.1.4.1.8072.1.3.2.3.1.2.4.100.114.97.99 + accept_errors: true + device_class: temperature + state_class: measurement + unit_of_measurement: "°F" + unique_id: pfv_tsys7_drac_exhaust + value_template: >- + {% set c = value | regex_findall('exhaust_temp (\d+)') | first if value is match('exhaust_temp') else none %} + {{ ((c | float * 9 / 5) + 32) | round(1) if c is not none else 'unknown' }} + + - platform: snmp + name: "PFV tsys7 DRAC CPU1" + host: pfv-tsys7.knel.net + version: 2c + community: kn3lmgmt + baseoid: .1.3.6.1.4.1.8072.1.3.2.3.1.2.4.100.114.97.99 + accept_errors: true + device_class: temperature + state_class: measurement + unit_of_measurement: "°F" + unique_id: pfv_tsys7_drac_cpu1 + value_template: >- + {% set t = value | regex_findall('(?:^|\n)temp (\d+)') %} + {{ ((t[0] | float * 9 / 5) + 32) | round(1) if t | length > 0 else 'unknown' }} + + - platform: snmp + name: "PFV tsys7 DRAC CPU2" + host: pfv-tsys7.knel.net + version: 2c + community: kn3lmgmt + baseoid: .1.3.6.1.4.1.8072.1.3.2.3.1.2.4.100.114.97.99 + accept_errors: true + device_class: temperature + state_class: measurement + unit_of_measurement: "°F" + unique_id: pfv_tsys7_drac_cpu2 + value_template: >- + {% set t = value | regex_findall('(?:^|\n)temp (\d+)') %} + {{ ((t[1] | float * 9 / 5) + 32) | round(1) if t | length > 1 else 'unknown' }}