Example: Monitoring Dell iDRAC in Home Assistant

Please find below my working code for Monitoring Dell 7 iDRAC in Home Assistant, used with my Dell PowerEdge R720 server.

Click the link below to visit the page with my code


(For those unfamiliar with github you can use this link to download the latest folder: Download Link)

I have added sensors for the things I’m interested in monitoring however you can add as many senses as you wish.

I found the documentation from Dell was rather poor and I didn’t really understand what I was doing, so I ended up discovering the Baseoid’s in a comparative manner, running two scans and looking at what value is changed in order to identify things I wanted to monitor. This trial and error approach was helped massively by the free scanning tool Paessler SNMP Tester. Debug your SNMP configuration with SNMP Tester

Installation:

Copy the dell_server folder and all of its contents into your Home Assistant’s packages folder This is often located inside of your /config folder. If you are running Hass.io , use SAMBA to copy the folder over. If you are running Home Assistant Supervised, the packages folder might be located at /usr/share/hassio/homeassistant. It is possible that your packages folder does not exist. If that is the case, create the folder in the proper location, and then copy the dell_server folder and all of its contents inside the newly created packages folder.

Add the link to the Package to your configuration.yaml file, to the “homeassistant:” section. For me, I use:
packages: !include_dir_named packages/

image

Within my provided packages folder there is currently only one file.
Simply modify as follows:

  1. Enter the IP address of your server iDRAC interface. If needed, amend the “Port” and “Community”
  2. Ensure SNMP is enabled on your server iDRAC (See Tutorial iDRAC - Configure SNMP [ Step by step ])
  3. Add the sensors to your Lovelace interface. E.G.
type: entities
entities:
  - entity: sensor.server_power
  - entity: sensor.server_inlet_temperature
  - entity: sensor.server_exhaust_temperature
  - entity: sensor.server_cpu1_temperature
  - entity: sensor.server_cpu2_temperature
  - entity: sensor.server_fans_speed_avg
title: Dell Server
type: history-graph
entities:
  - entity: sensor.server_inlet_temperature
  - entity: sensor.server_cpu2_temperature
  - entity: sensor.server_cpu1_temperature
  - entity: sensor.server_exhaust_temperature
hours_to_show: 24
refresh_interval: 0
title: Thermals 24 Hours
type: history-graph
entities:
  - entity: sensor.server_power
  - entity: sensor.dell_server_energy
hours_to_show: 24
refresh_interval: 0
title: Power 24 Hours
  1. If desired add the Integration (Riemann sum integral) cumulative energy sensor to the energy dashboard.

That should be everything.

UPDATE 2023

  1. Make sure you have the SNMP Agent enabled on the Dell iDrac 7 settings (Overview, iDrac Settings, Network, Service tab), ensure the Home Assistant Config “community” name matches
    whatever you have in the iDRAC “SNMP Community Name”, i.e. “public”.
  2. See these lists for what is a apparent fully inventory of all the sensors:
    https://mibs.observium.org/mib/IDRAC-MIB/
    https://mibs.observium.org/mib/IDRAC-MIB-SMIv2/
11 Likes

Excellent ! Great job, I installed it, works like a charm!

Hi, thanks for doing the heavy lifting for us.

After thinking it would not work, and without changing anything, it suddenly started working fine. So give it time to show up in ha.

For the record, to enable the SNMP protocol, I had to go into Idrac Settings → Network → Services → SNMP Agent.


But I have a problem with some sensors

  • SNMP error: noSuchName at 1.3.6.1.4.1.674.10892.5.4.600.20.1.6.1.26

  • SNMP error: noSuchName at 1.3.6.1.4.1.674.10892.5.4.600.20.1.6.1.27

  • SNMP error: noSuchName at 1.3.6.1.4.1.674.10892.5.4.700.20.1.6.1.4

2 of them were supposed to be PSU 1 & 2 voltage and 1 was supposed to be CPU2 temp.

Sine I have 2 CPU’s installed on the system and their temperature is visible in the UI and the same is true with the PSU voltages.

1 Like

Hi,
first of all: BIG thank you for this great project.

Everything works fine, only one thing doesn’t quite work. Not sure if thats on iDrac or HA tho.

My Server power got last updated 20 hours ago, all the other sensors update way more frequent. At least once every 10-15min i think. Refreshing the feed and restarting Home Assistant didn’t help.
EDIT: It works, iDrac shows the same readings. Which is weird, but thats on iDrac

1 Like

Sorry for the delay replying.
I see you use a R520, I have only tested this on the R720, it may be the R520 uses different SNMP MIBs numbers.
You may want to look at the “Dell EMC OpenManage MIBs for PowerEdge” versions for your server: https://www.dell.com/support/home/en-uk/drivers/driversdetails?driverid=xhr3x

also check out
https://mibs.observium.org/mib/IDRAC-MIB/
https://mibs.observium.org/mib/IDRAC-MIB-SMIv2/

Dear @Richard.Huish
Thanks for sharing this with the community. I have successfully deployed the package.
It works great!

1 Like

You can try to do this from a terminal:
$ snmpwalk -v2c -c community idracip 1.3.6.1.4.1.674.10892.5.4.600.20.1.6.1
I got
SNMPv2-SMI::enterprises.674.10892.5.4.600.20.1.6.1.23 = INTEGER: 238000
SNMPv2-SMI::enterprises.674.10892.5.4.600.20.1.6.1.24 = INTEGER: 238000
So I needed to change the indexes from 26 and 27 to 23 and 24 in the dell_idrac.yaml.

2 Likes

@Richard.Huish I’ve created a PR on Github for a small but useful addition to make the Virtual Disk State available inside HA.
It shows you the state as Unknown/Online/Failed/Degraded.
I saw that you commented out all other lines so I’ve commented out mine as well. But I figured this addition could be handy for other people as well so I needed a way to share it with them :slight_smile:

1 Like

What’s the best way to get the temps in Farenheit?