GenieACS for Home Assistant

April 16, 2026 · View on GitHub

GenieACS for Home Assistant banner

GenieACS for Home Assistant

HACS Tests codecov Home Assistant GitHub Stars License: GPL-3.0

A Home Assistant custom integration for managing TR-069 CPE devices (routers, ONTs, gateways) through a GenieACS instance.

GenieACS is an open-source Auto Configuration Server (ACS) that speaks the TR-069 protocol. This integration connects to the GenieACS Northbound Interface (NBI) REST API to bring your managed network devices into Home Assistant.

Prerequisites

  • A running GenieACS instance with the NBI accessible (default port 7557)
  • One or more CPE devices connected to GenieACS via TR-069
  • Home Assistant 2024.1 or later
  • HACS installed

Installation

  1. Open HACS in Home Assistant
  2. Click the three-dot menu in the top right and select Custom repositories
  3. Add https://github.com/GeiserX/genieacs-ha with category Integration
  4. Search for "GenieACS" and install it
  5. Restart Home Assistant

Manual

  1. Copy the custom_components/genieacs folder into your Home Assistant config/custom_components/ directory
  2. Restart Home Assistant

Configuration

  1. Go to Settings > Devices & Services > Add Integration
  2. Search for GenieACS
  3. Enter your NBI URL (e.g., http://genieacs:7557)
  4. Optionally enter HTTP Basic auth credentials if your NBI requires authentication
  5. The integration will test the connection and discover all managed devices

Entities

For each CPE device managed by GenieACS, the integration creates the following entities:

EntityTypeDescription
OnlineBinary Sensoron if the device reported to GenieACS within the last 5 minutes
WAN IP addressSensorExternal IP address from the WAN interface
UptimeSensorDevice uptime in seconds
FirmwareSensorSoftware version (diagnostic)
ManufacturerSensorDevice manufacturer (diagnostic)
ModelSensorDevice model name (diagnostic)
Serial numberSensorDevice serial number (diagnostic)
RebootButtonSend a reboot command to the device via TR-069
Refresh parametersButtonTrigger a parameter refresh from the device (diagnostic)

TR-181 and TR-098 Compatibility

TR-069 devices use one of two parameter tree roots:

  • TR-181: Device. (newer standard)
  • TR-098: InternetGatewayDevice. (older standard)

This integration automatically handles both. It checks both root paths when reading device parameters, so it works with any compliant CPE regardless of which data model it implements.

GenieACS Ecosystem

This project is part of a broader set of tools for working with GenieACS:

ProjectTypeDescription
genieacs-dockerDocker + HelmProduction-ready multi-arch Docker image and Helm chart
genieacs-ansibleAnsible CollectionDynamic inventory plugin and device management modules
genieacs-mcpMCP ServerAI-assisted device management via Model Context Protocol
n8n-nodes-genieacsn8n NodeWorkflow automation for GenieACS
genieacs-servicesService DefsSystemd/Supervisord service definitions
genieacs-sim-containerSimulatorDocker-based GenieACS simulator for testing

Other Home Assistant Integrations by GeiserX

License

GPL-3.0