A Home Assistant custom integration that pulls Nedap AEOS / AEpu controller inventory from the InventoryAPI service and exposes each controller as a device with sensors and binary sensors inside Home Assistant.
Companion repo. The REST endpoint this integration consumes is provided by the InventoryAPI Python service. Deploy that on your AEOS server first (it ships a wizard-driven Windows installer), then point this integration at it.
- One device per AEpu controller — discovered automatically from the
/aeosws/inventorypayload, identified byserial_number. - Sensors: IP, MAC, AEOS version, firmware name/version/date, boot
firmware, controller board (
cb_type), model, NTP server, AEserver host, memory free / total, disk free, uptime (duration), last reboot (timestamp). - Binary sensors: online (connectivity), DHCP, SNMP agent, secure mode (lock), 802.1X.
- Configurable polling interval (default 5 minutes, min 30 s).
- Native config flow (no YAML required) with API-key validation on submit.
- Survives the API being temporarily down — entities go unavailable rather than disappearing.
- Home Assistant 2024.6 or newer.
- An InventoryAPI service reachable from Home Assistant on the LAN.
- The API key configured in InventoryAPI's
.env(INVENTORY_API_KEY).
- In HACS → Integrations → ⋯ → Custom repositories, add this repo URL and select category Integration.
- Search for "Nedap AEOS Inventory", install it, and restart Home Assistant.
- Settings → Devices & Services → + Add Integration → Nedap AEOS Inventory.
- Copy the
custom_components/aeos_inventory/folder into your Home Assistantconfig/custom_components/directory. - Restart Home Assistant.
- Settings → Devices & Services → + Add Integration → Nedap AEOS Inventory.
The config flow asks for:
| Field | Default | Notes |
|---|---|---|
| Host or IP | — | Hostname/IP of the InventoryAPI service |
| Port | 8088 |
The port chosen during InventoryAPI install |
| API key | — | Value of INVENTORY_API_KEY in InventoryAPI's .env |
| Use HTTPS | off | Enable if you've put a TLS reverse proxy in front |
| Verify TLS certificate | on | Disable for self-signed dev certs |
Polling interval is exposed under the integration's Configure button (30 s to 24 h).
Each device is registered with:
identifiers:(aeos_inventory, <serial_number>)name:host_namemanufacturer:Nedap N.V.model:model(AEbridge) orcb_type(controller board)sw_version:aeos_versionhw_version:production_dateserial_number:serial_numberconfiguration_url:http://<ip_address>when present
git clone https://github.com/forgottenruntime/ha-aeos-inventory.git
# Symlink into your dev HA config
ln -s "$PWD/ha-aeos-inventory/custom_components/aeos_inventory" \
~/.homeassistant/custom_components/aeos_inventoryMIT — see LICENSE.