HP iLO Sensor update frequency

Hi all,

First time poster, long time poacher… Until now I have managed to work my way through issues with support from this forum, the support docs or help from friends.

I found various posts on iLO integration on this forum and managed it get it set up and configured for my system, all looked good…. It was only sometime later I realised the sensors only ever update when HA is restarted. Since then, I have been unable to change this behavior. I have found similar posts, but they relate to changing the update frequency, I’ve yet to find anything that covers no updates. I have tried adding scan_interval: with different values into the config but it made no difference.

I’m sure I missed something obvious, but it escapes me. I have set up numerous other sensors

I have a Supervised install of HA on an HP ProLiant DL380p with a valid and activated iLO License.
Home Assistant 2022.9.7
Supervisor 2022.09.1

Thanks

Ian

  - platform: hp_ilo
    host: 192.168.1.XXX
    username: XXX
    password: XXX
    monitored_variables:
      - name: CPU fanspeed 1
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 1"].speed[0] }}'
      - name: CPU fanspeed 2
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 2"].speed[0] }}'
      - name: CPU fanspeed 3
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 3"].speed[0] }}'
      - name: CPU fanspeed 4
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 4"].speed[0] }}'
      - name: CPU fanspeed 5
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 5"].speed[0] }}'
      - name: CPU fanspeed 6
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 6"].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
      - name: power_status
        sensor_type: server_power_status
      - name: power_readings
        sensor_type: server_power_readings
      - name: power_on_time
        sensor_type: server_power_on_time
      - name: uid_status
        sensor_type: server_uid_status
      - name: bios_hardware
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['bios_hardware']['status'] }}"
      - name: fan_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['fans']['status'] }}"
      - name: memory_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['memory']['status'] }}"
      - name: network_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['network']['status'] }}"
      - name: processor_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['processor']['status'] }}"
      - name: storage_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['storage']['status'] }}"
      - name: temperature_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['temperature']['status'] }}"
      - name: memory_cpu1_sockets
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_1']['number_of_sockets'] }}"
      - name: memory_cpu1_frequency
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_1']['operating_frequency'] }}"
      - name: memory_cpu1_voltage
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_1']['operating_voltage'] }}"
      - name: memory_cpu1_size
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_1']['total_memory_size'] }}"
      - name: memory_cpu2_sockets
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_2']['number_of_sockets'] }}"
      - name: memory_cpu2_frequency
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_2']['operating_frequency'] }}"
      - name: memory_cpu2_voltage
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_2']['operating_voltage'] }}"
      - name: memory_cpu2_size
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_2']['total_memory_size'] }}"
      - name: nic_ilo_ip_address
        sensor_type: server_health
        value_template: "{{ ilo_data.nic_information['iLO iLO Dedicated Network Port']['ip_address'] }}"
      - name: nic_ilo_mac
        sensor_type: server_health
        value_template: "{{ ilo_data.nic_information['iLO iLO Dedicated Network Port']['mac_address'] }}"
      - name: nic_ilo_status
        sensor_type: server_health
        value_template: "{{ ilo_data.nic_information['iLO iLO Dedicated Network Port']['status'] }}"
      - name: psu_summary
        sensor_type: server_health
        value_template: "{{ ilo_data.power_supply_summary['present_power_reading'] }}"
      - name: temperature_inlet
        sensor_type: server_health
        unit_of_measurement: "°C"
        value_template: "{{ ilo_data.temperature['01-Inlet Ambient']['currentreading'] }}"
      - name: temperature_cpu1_
        sensor_type: server_health
        unit_of_measurement: "°C"
        value_template: "{{ ilo_data.temperature['02-CPU 1']['currentreading'] }}"
      - name: processors_cores
        sensor_type: server_health
        value_template: "{{ ilo_data.processors['Proc 1']['execution_technology'] }}"
      - name: processors_name
        sensor_type: server_health
        value_template: "{{ ilo_data.processors['Proc 1']['name'] }}"
      - name: processors_speed
        sensor_type: server_health
        value_template: "{{ ilo_data.processors['Proc 1']['speed'] }}"

I was missing a value template against a couple of the server_health sensor entries.

Reading suggested posts related to this one got me on the right path.

i am trying same as you, i have copied your sensor config above.

Does the code above include the fixes you mentioned in the second post.

I’m also experiencing this issue. Here is my yaml file:

sensor:
  # Denali iLo
  - platform: hp_ilo
    host: !secret denali_host
    username: Administrator
    password: !secret denali_pass
    scan_interval: 120
    monitored_variables:
      - name: Denali CPU fanspeed
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 1"].speed[0] }}'
      - name: Denali Inlet temperature
        sensor_type: server_health
        unit_of_measurement: "°F"
        value_template: >-
          {% set t = ilo_data.temperature["01-Inlet Ambient"].currentreading[0] | float(default=0) %}
          {{((t)*9/5)+32}}
      - name: Denali Server Health
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance }}"
      - name: Denali Present Power Reading
        sensor_type: server_power_readings
        unit_of_measurement: "w"
        value_template: "{{ ilo_data.present_power_reading[0] }}"
      - name: Denali Average Power Reading
        sensor_type: server_power_readings
        unit_of_measurement: "w"
        value_template: "{{ ilo_data.average_power_reading[0] }}"
      - name: Denali Power Status
        sensor_type: server_power_status
  # Fuji iLo
  - platform: hp_ilo
    host: !secret fuji_host
    username: Administrator
    password: !secret fuji_pass
    scan_interval: 120
    monitored_variables:
      - name: Fuji CPU fanspeed
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 1"].speed[0] }}'
      - name: Fuji Inlet temperature
        sensor_type: server_health
        unit_of_measurement: "°F"
        value_template: >-
          {% set t = ilo_data.temperature["01-Inlet Ambient"].currentreading[0] | float(default=0) %}
          {{((t)*9/5)+32}}
      - name: Fuji Server Health
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance }}"
      - name: Fuji Present Power Reading
        sensor_type: server_power_readings
        unit_of_measurement: "w"
        value_template: "{{ ilo_data.present_power_reading[0] }}"
      - name: Fuji Average Power Reading
        sensor_type: server_power_readings
        unit_of_measurement: "w"
        value_template: "{{ ilo_data.average_power_reading[0] }}"
      - name: Fuji Power Status
        sensor_type: server_power_status

I also tried adding a scan_interval but it did not change anything for me either. I don’t see any missing value templates and there are no errors in the logs. I’m a bit stuck and any help would be appreciated.

I ended up solving this the same way @weekesianr did. The problem was in the server_power_status sensor. Since it does not have a value_template the platform as a whole did not update. Once I commented it out all of the other sensors began to update properly.

i did the same, heres my config: ´

  - platform: hp_ilo
    host: !secret IloIP
    username: !secret ilouser
    password: !secret ilopw
    monitored_variables:
      - name: CPU fanspeed 1
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 1"].speed[0] }}'
      - name: CPU fanspeed 2
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 2"].speed[0] }}'
      - name: CPU fanspeed 3
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 3"].speed[0] }}'
      - name: CPU fanspeed 4
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 4"].speed[0] }}'
      - name: CPU fanspeed 5
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 5"].speed[0] }}'
      - name: CPU fanspeed 6
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 6"].speed[0] }}'
      - name: CPU fanspeed 7
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 7"].speed[0] }}'
      - name: CPU fanspeed 8
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 8"].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
      - name: power_status
        sensor_type: server_power_status
      - name: power_readings
        sensor_type: server_power_readings
      - name: power_on_time
        sensor_type: server_power_on_time
      - name: uid_status
        sensor_type: server_uid_status
      - name: bios_hardware
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['bios_hardware']['status'] }}"
      - name: fan_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['fans']['status'] }}"
      - name: memory_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['memory']['status'] }}"
      - name: network_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['network']['status'] }}"
      - name: processor_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['processor']['status'] }}"
      - name: storage_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['storage']['status'] }}"
      - name: temperature_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['temperature']['status'] }}"
      - name: memory_cpu1_sockets
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_1']['number_of_sockets'] }}"
      - name: memory_cpu1_frequency
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_1']['operating_frequency'] }}"
      - name: memory_cpu1_voltage
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_1']['operating_voltage'] }}"
      - name: memory_cpu1_size
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_1']['total_memory_size'] }}"
      - name: memory_cpu2_sockets
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_2']['number_of_sockets'] }}"
      - name: memory_cpu2_frequency
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_2']['operating_frequency'] }}"
      - name: memory_cpu2_voltage
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_2']['operating_voltage'] }}"
      - name: memory_cpu2_size
        sensor_type: server_health
        value_template: "{{ ilo_data.memory['memory_details_summary']['cpu_2']['total_memory_size'] }}"
      - name: nic_ilo_ip_address
        sensor_type: server_health
        value_template: "{{ ilo_data.nic_information['iLO iLO Dedicated Network Port']['ip_address'] }}"
      - name: nic_ilo_mac
        sensor_type: server_health
        value_template: "{{ ilo_data.nic_information['iLO iLO Dedicated Network Port']['mac_address'] }}"
      - name: nic_ilo_status
        sensor_type: server_health
        value_template: "{{ ilo_data.nic_information['iLO iLO Dedicated Network Port']['status'] }}"
      - name: psu_summary
        sensor_type: server_health
        value_template: "{{ ilo_data.power_supply_summary['present_power_reading'] }}"
      - name: temperature_inlet
        sensor_type: server_health
        unit_of_measurement: "°C"
        value_template: "{{ ilo_data.temperature['01-Inlet Ambient']['currentreading'] }}"
      - name: temperature_cpu1_
        sensor_type: server_health
        unit_of_measurement: "°C"
        value_template: "{{ ilo_data.temperature['02-CPU 1']['currentreading'] }}"
      - name: processors_cores
        sensor_type: server_health
        value_template: "{{ ilo_data.processors['Proc 1']['execution_technology'] }}"
      - name: processors_name
        sensor_type: server_health
        value_template: "{{ ilo_data.processors['Proc 1']['name'] }}"
      - name: processors_speed
        sensor_type: server_health
        value_template: "{{ ilo_data.processors['Proc 1']['speed'] }}"

Is there any solution or line where an error could hide ?
I would be very thankful ! :slight_smile:

How did you solve the issue? I do not quite understand the steps you took. :slight_smile:

sensor:
  # Denali iLo
  - platform: hp_ilo
    host: !secret denali_host
    username: Administrator
    password: !secret denali_pass
    scan_interval: 15
    monitored_variables:
      - name: Denali CPU fanspeed
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 1"].speed[0] }}'
      - name: Denali Inlet temperature
        sensor_type: server_health
        unit_of_measurement: "°F"
        value_template: >-
          {% set t = ilo_data.temperature["01-Inlet Ambient"].currentreading[0] | float(default=0) %}
          {{((t)*9/5)+32}}
      # - name: Denali Server Health
      #   sensor_type: server_health
      #   value_template: "{{ ilo_data.health_at_a_glance }}"
      - name: Denali Present Power Reading
        sensor_type: server_power_readings
        unit_of_measurement: "w"
        value_template: "{{ ilo_data.present_power_reading[0] }}"
      - name: Denali Average Power Reading
        sensor_type: server_power_readings
        unit_of_measurement: "w"
        value_template: "{{ ilo_data.average_power_reading[0] }}"
      # - name: Denali Power Status
      #   sensor_type: server_power_status

Note the last lines where I commented out the Power Status variable. That is what solved it for me if my memory serves me correctly.

Sorry, didn’t realise there were updates on this since I resolved.

When I read the ILO documentation I realised the Power Status was the issue as within ILO it holds multiple values Current, Average and Peak IIRC.

Any failed sensor stops the others updating but they will pull a value each time you re-start.

This is where I ended up.


- platform: hp_ilo
    host: 192.168.1.XXX
    username: XXX
    password: XXX
    scan_interval: 120
    monitored_variables:
      - name: CPU fanspeed 1
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 1"].speed[0] }}'
      - name: CPU fanspeed 2
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 2"].speed[0] }}'
      - name: CPU fanspeed 3
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 3"].speed[0] }}'
      - name: CPU fanspeed 4
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 4"].speed[0] }}'
      - name: CPU fanspeed 5
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 5"].speed[0] }}'
      - name: CPU fanspeed 6
        sensor_type: server_health
        unit_of_measurement: "%"
        value_template: '{{ ilo_data.fans["Fan 6"].speed[0] }}'
      - name: Inlet temperature
        sensor_type: server_health
        unit_of_measurement: "°C"
        value_template: '{{ ilo_data.temperature["01-Inlet Ambient"].currentreading[0] }}'
      - name: psu_current
        sensor_type: server_health
        unit_of_measurement: "W"
        value_template: "{{ (ilo_data.power_supply_summary['present_power_reading']).split(' ')[0] }}"
      #- name: psu_average
      #sensor_type: server_health
      #unit_of_measurement: "W"
      #value_template: "{{ (ilo_data.power_supply_summary['average_power_reading']).split(' ')[0] }}"
      #- name: psu_max
      #sensor_type: server_health
      #unit_of_measurement: "W"
      #value_template: "{{ (ilo_data.power_supply_summary['maximum_power_reading']).split(' ')[0] }}"
      #- name: psu_min
      #sensor_type: server_health
      #unit_of_measurement: "W"
      #value_template: "{{ (ilo_data.power_supply_summary['minimum_power_reading']).split(' ')[0] }}"
      - name: fan_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['fans']['status'] }}"
      - name: memory_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['memory']['status'] }}"
      - name: network_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['network']['status'] }}"
      - name: processor_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['processor']['status'] }}"
      - name: storage_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['storage']['status'] }}"
      - name: temperature_status
        sensor_type: server_health
        value_template: "{{ ilo_data.health_at_a_glance['temperature']['status'] }}"
      - name: power_status
        sensor_type: server_power_status
      - name: uid_status
        sensor_type: server_uid_status
1 Like

is this working with ILO3,i have problem to www connect because old process