This project provides several sensor entities for a Technicolor CGA gateway in Home Assistant. It reads system and DHCP information, lists connected hosts, and offers a delta sensor to detect missing/inactive devices. Thanks to device_info, all entities are grouped under one device in Home Assistant's device and integrations registry.
- System status (e.g.,
CMStatus) including pass-through of additional system attributes - DHCP sensors for all DHCP keys returned by the gateway
- Host list with the number of currently detected devices (
hostTbl) - Missing devices / Delta sensor: shows devices that disappeared or are inactive
- Clean device grouping via
device_info(identifiers =(DOMAIN, host), manufacturer, name,configuration_url); model/firmware are added when available - Automatic polling every 5 minutes
custom_components/TL-WPA8630P/
├─ __init__.py
├─ config_flow.py
├─ manifest.json
├─ const.py
├─ technicolor_cga.py
└─ sensor.py
- Copy this folder to
config/custom_components/technicolor_cga/. - Restart Home Assistant.
- Go to Settings → Devices & Services → Add Integration and pick Technicolor CGA.
- Enter your credentials:
- Host (e.g.,
192.168.0.1) - Username
- Password
- Host (e.g.,
The integration uses Config Entries (UI-based setup).
- Name:
Technicolor CGA System Status - State: value of
CMStatus(or"Unknown") - Attributes: all other system fields (e.g.,
ModelName,SoftwareVersion, etc.). - Device info:
model/sw_versionare set from system data when present.
- Name:
Technicolor CGA DHCP <Key>(for each key returned bydhcp()) - State: corresponding value from DHCP data (or
"Unknown").
- Name:
Technicolor CGA Host List - State: number of entries in
hostTbl. - Attributes: full host data structure (e.g.,
hostTbl, entries withphysaddress,ipaddress,hostname,active).
- Name:
Technicolor CGA Missing Devices - State: number of detected missing or inactive devices.
- Attributes:
missing_devices: list of dicts{mac, last_ip, hostname, status}known_devices: list of learned devices{mac, last_ip, hostname}
- Notes:
- The
known_deviceslist is learned at runtime (no persistence across restarts). - Sorting is numeric by IP; invalid IPs are placed at the end.
- The
By default every 5 minutes (SCAN_INTERVAL = 300s).
- Verify
Host,Username,Passwordand that the web interface is reachable. - Some gateways return slightly different field names (
ModelNamevs.Model,SoftwareVersionvs.SWVersion/FirmwareVersion). The code handles common variants. - The delta sensor only learns devices after they have been seen at least once.
- Entities inherit from
SensorEntity(the base class providesdevice_info). - Unique IDs are based on
config_entry_id+ entity name. - Polling via
async_track_time_interval. - The API class
TechnicolorCGAis called in the executor (login,system,dhcp,aDev).