This is a WIP component for an updated HP Integrated Lights-Out (ILO) component in Home Assistant. The goal is to add a proper config flow with discovery and expose as much of the functonality of ILO as possible.
There's still a lot from custom-components/integration_blueprint
in this repo to keep track of a few missing things. It will eventually be cleaned up.
hacs_badge
Add this repo as a custom repo to HACS and the integration should show up. At the moment there's no versioning of releases yet.
Status: Done ✅
For Auto Discovery to work, it has to be enabled in the iLO admin UI:
For development & testing it also makes sense to set the interval low enough (default seems to be 10min)
ILO servers are anouncing themselves on a few of SSDP search targets:
urn:schemas-upnp-org:device:Basic:1
with details athttp://[IP]/upnp/BasicDevice.xml
(this implements the UPnP Basic:1.0 Device Definition standard ). Luckily Home Assistant already implements this as part of the existing SSDP discovery mechanism.urn:dmtf-org:service:redfish-rest:1
with details athttps://[IP]/redfish/v1/
(this implements the DMTF’s Redfish Standard). See also https://stackoverflow.com/a/39153603 and https://hewlettpackard.github.io/ilo-rest-api-docs/ilo5/?shell#introduction. This could be added to Home Assistant with python-redfish-libraryurn:www-hp-com:service:Federation:2
- not clear where the details for this will end up at. I also didn't look into the underlying standard.
These all return slightly different data, but none seems to include all the information necessary (i.e. the correct UUID or the port/protocol of the REST api ).
Basic Device seems to be the one most common and is already supported by Home Assistant, so I picked that.
Status: WIP ⏳
The goal is to implement a clean config flow supporting a few things:
- Regular setup flow for discovered devices as well as a manual setup flow.
- Update of IPs and Hostname from discovery in case any of them change.
- Import of existing sensors from configuration.yaml
- It should be possible to enable/disable what sensors and other entities/platforms are added. (since this can quickly get out of hand)
Status: WIP ⏳
This component will set up the following platforms.
Platform | Description |
---|---|
binary_sensor |
Show something True or False . |
sensor |
Show info from blueprint API. |
switch |
Switch something True or False . |
The existing sensors only implement the sensor entity. Ideally a few more things would be nice:
- Automatically generate all supported entities automatically.
- Device entity with as much information as possile about the system configuration
- Binary sensor for firmware update status, power
- Buttons for Firmware upgrades and reboots/restarts etc.
- Switches for Power on/Off
- Fan entities for fans There's already a few PRs to improve on this: home-assistant/core#65900, home-assistant/core#32209
Status: Planned 🔜
Startup and refresh is currently not optimized, slowing this integration down quite a bit. It also seems that data isn't shared between sensors, meaning the rate limiting is resulting in very coarse grained data once there's more then a handful of sensors active.
Status: Planned 🔜
There's actually no tests at all in Home Assistant for this component right now.
Most features should be able to be tested with the existing mock data in python-hpilo
.
Status: Planned 🔜
Config flow should support i18n.
[![GitHub Release][releases-shield]][releases] [![GitHub Activity][commits-shield]][commits] ![License][license-shield]
[![hacs][hacsbadge]][hacs] ![Project Maintenance][maintenance-shield] [![BuyMeCoffee][buymecoffeebadge]][buymecoffee]
[![Discord][discord-shield]][discord] [![Community Forum][forum-shield]][forum]
Component to integrate with [hp_ilo][hp_ilo].