2024-11-27 18:57:16 +01:00

4.6 KiB

title description ha_category ha_release ha_iot_class ha_domain ha_platforms ha_integration_type related ha_quality_scale
HP Integrated Lights-Out (ILO) How to integrate HP ILO (Integrated Lights-Out) sensors within Home Assistant.
System monitor
0.27 Local Polling hp_ilo
sensor
integration
docs title
/docs/configuration/ Configuration file
legacy

The hp_ilo {% term integration %} 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 {% term "configuration.yaml" %} file. {% include integrations/restart_ha_after_config_inclusion.md %}

# 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 %} host: description: The hostname or IP address on which the ILO can be reached. required: true type: string port: description: The port on which the ILO can be reached. required: false default: 443 type: string username: description: The username used to connect to the ILO. required: true type: string password: description: The password used to connect to the ILO. required: true type: string monitored_variables: description: Sensors created from the ILO data. required: false default: Defaults to an empty list (no sensors are created). type: list keys: name: description: The sensor name. required: true type: string sensor_type: description: The sensor type, has to be one of the valid sensor types specified below. required: true type: string unit_of_measurement: description: The sensors' unit of measurement. required: false type: string value_template: description: 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. required: false type: template {% endconfiguration %}

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 {% term "configuration.yaml" %} file

{% raw %}

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 }}'

{% endraw %}

Hardware specifics

{% note %} Not every hardware supports all values. {% endnote %}

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