--- title: HP Integrated Lights-Out (ILO) description: How to integrate HP ILO (Integrated Lights-Out) sensors within Home Assistant. ha_category: - System monitor ha_release: 0.27 ha_iot_class: Local Polling ha_domain: hp_ilo ha_platforms: - sensor ha_integration_type: integration related: - docs: /docs/configuration/ title: Configuration file ha_quality_scale: 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](https://seveas.github.io/python-hpilo/).

## 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 %} ```yaml # 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 %} ```yaml 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`