HP Integrated Lights-Out (ILO)
The hp_ilo
integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows you to do an API call to the HP ILO (Integrated Lights-Out) sensor of your server, and use this data in Home Assistant sensors.
If the ILO or specified jsonpath query returns only a single value (e.g., a temperature or state), it will be put in the state field. If a data structure is returned, it will be placed in the ilo_data
attribute.
Some more details about what can be retrieved from these sensors is available in the python-hpilo documentation
Configuration
To use this integration in your installation, add the following to your configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file.
After changing the configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file, restart Home Assistant to apply the changes. The integration is now shown on the integrations page under Settings > Devices & services. Its entities are listed on the integration card itself and on the Entities tab.
# Example configuration.yaml entry
sensor:
- platform: hp_ilo
host: IP_ADDRESS or HOSTNAME
username: YOUR_USERNAME
password: YOUR_PASSWORD
monitored_variables:
- name: SENSOR NAME
sensor_type: SENSOR TYPE
Configuration Variables
Sensors created from the ILO data.
Defaults to an empty list (no sensors are created).
The sensor type, has to be one of the valid sensor types specified below.
When a Jinja2 template is specified here, the created sensor will output the template result. The ILO response can be referenced with the ilo_data
variable.
Valid sensor_types:
- server_name: Get the name of the server this iLO is managing.
- server_fqdn: Get the fqdn of the server this iLO is managing.
- server_host_data: Get SMBIOS records that describe the host.
- server_oa_info: Get information about the Onboard Administrator of the enclosing chassis.
- server_power_status: Whether the server is powered on or not.
- server_power_readings: Get current, min, max and average power readings.
- server_power_on_time: How many minutes ago has the server been powered on (Non-resetting counter, akin to hours used).
- server_asset_tag: Gets the server asset tag.
- server_uid_status: Get the status of the UID light.
- server_health: Get server health information.
- network_settings: Get the iLO network settings.
Example
In order to get two sensors reporting CPU fan speed and Ambient Inlet Temperature, as well as a dump of server_health
on a HP Microserver Gen8, you could use the following in your configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file
sensor:
- platform: hp_ilo
host: IP_ADDRESS or HOSTNAME
username: YOUR_USERNAME
password: YOUR_PASSWORD
monitored_variables:
- name: CPU fanspeed
sensor_type: server_health
unit_of_measurement: "%"
value_template: '{{ ilo_data.fans["Fan 1"].speed[0] }}'
- name: Inlet temperature
sensor_type: server_health
unit_of_measurement: "°C"
value_template: '{{ ilo_data.temperature["01-Inlet Ambient"].currentreading[0] }}'
- name: Server Health
sensor_type: server_health
value_template: '{{ ilo_data.health_at_a_glance }}'
Hardware specifics
Not every hardware supports all values.
HP Microserver Gen8
On this hardware you should avoid using the following sensor_types as monitored_variables:
to prevent errors.
server_oa_info
server_power_readings
server_power_on_time