Integrazione per Home Assistant che si connette al controller UniFi OS 3.2+ / 5.x tramite Integration API v1 con autenticazione a chiave API nativa (no username/password, no cookie session).
| Piattaforma | Entità | Descrizione |
|---|---|---|
sensor |
sensor.unifi_wifi_clients |
Numero client wireless connessi |
sensor |
sensor.unifi_wired_clients |
Numero client cablati connessi |
sensor |
sensor.unifi_<device> |
Stato online/offline di ogni dispositivo UniFi |
sensor |
sensor.unifi_<device>_firmware |
Disponibilità aggiornamento firmware |
binary_sensor |
binary_sensor.unifi_<device>_online |
Connettività dispositivo (class: connectivity) |
binary_sensor |
binary_sensor.unifi_<device>_update |
Aggiornamento firmware disponibile (class: update) |
device_tracker |
device_tracker.<client_name> |
Presence detection per ogni client di rete |
- Home Assistant Core ≥ 2024.1
- UniFi OS 3.2 o superiore (UniFi OS 5.x raccomandato)
- Controller raggiungibile dalla rete di Home Assistant
- Una API Key generata dalla console UniFi OS
⚠️ Non compatibile con controller UniFi self-hosted basati su Debian/bare-metal senza UniFi OS (es. UniFi Network Application standalone). Richiede UniFi OS con Integration API v1.
- Accedi alla console UniFi OS:
https://<ip-controller> - Vai in Settings → API Keys
- Clicca Create API Key
- Assegna un nome (es.
homeassistant) e salva la chiave generata
- In HACS, vai su Integrations → ⋮ → Custom repositories
- Aggiungi l'URL di questo repository, categoria Integration
- Cerca
UniFi Network (API Key)e installa - Riavvia Home Assistant
- Scarica l'ultima release (
.zip) dalla pagina Releases - Estrai la cartella
unifi_api/in<config>/custom_components/ - La struttura finale deve essere:
custom_components/ └── unifi_api/ ├── __init__.py ├── api.py ├── binary_sensor.py ├── config_flow.py ├── const.py ├── coordinator.py ├── device_tracker.py ├── manifest.json ├── sensor.py ├── strings.json └── translations/ └── en.json - Riavvia Home Assistant
- Vai in Impostazioni → Dispositivi e Servizi → Aggiungi integrazione
- Cerca UniFi Network (API Key)
- Compila il modulo:
| Campo | Descrizione | Default |
|---|---|---|
| Host | IP o hostname del controller UniFi | — |
| Porta | Porta HTTPS del controller | 443 |
| API Key | Chiave API generata in precedenza | — |
| Verifica SSL | Abilita verifica certificato SSL | false |
Il Site ID viene rilevato automaticamente al primo collegamento. Se hai più siti, verrà selezionato il primo disponibile.
L'integrazione interroga il controller ogni 30 secondi (polling locale). Non richiede accesso a internet.
unifi_api/
├── __init__.py # Setup/unload entry, piattaforme
├── api.py # Client HTTP aiohttp per Integration API v1
├── binary_sensor.py # Binary sensor: online, firmware update
├── config_flow.py # UI config flow (API Key + host)
├── const.py # Costanti, endpoint API, domain
├── coordinator.py # DataUpdateCoordinator (polling 30s)
├── device_tracker.py # Presence detection client di rete
├── manifest.json # Metadati integrazione
├── sensor.py # Sensor: contatori client, stato device, firmware
├── strings.json # Stringhe UI (italiano)
└── translations/
└── en.json # Stringhe UI (inglese)
Fix deprecazioni HA Core (compatibilità futura garantita):
| File | Fix |
|---|---|
device_tracker.py |
ScannerEntity importato da homeassistant.components.device_tracker.config_entry → homeassistant.components.device_tracker |
config_flow.py |
FlowResult da homeassistant.data_entry_flow → ConfigFlowResult da homeassistant.config_entries |
device_tracker.py |
DeviceInfo da homeassistant.helpers.entity → homeassistant.helpers.device_registry |
sensor.py |
DeviceInfo da homeassistant.helpers.entity → homeassistant.helpers.device_registry |
binary_sensor.py |
DeviceInfo da homeassistant.helpers.entity → homeassistant.helpers.device_registry |
Tutti questi alias deprecati verranno rimossi in HA Core 2027.x. Aggiornamento consigliato.
- Supporto Integration API v1 (UniFi OS 3.2+ / 5.x)
- Autenticazione con API Key nativa
- Sensor: contatori client WiFi/cablati, stato dispositivi, firmware
- Binary sensor: online/offline, aggiornamento firmware
- Device tracker: presence detection per tutti i client di rete
- Config flow UI completo
- Rilevamento automatico Site ID
Il controller non risponde (cannot_connect)
- Verifica che l'IP/hostname sia raggiungibile da HA:
ping <ip-controller> - Controlla la porta (di default
443) - Se usi un certificato self-signed, disabilita Verifica SSL
API Key non valida (invalid_auth)
- Rigenera la chiave dalla console UniFi OS
- Assicurati che la chiave abbia i permessi di lettura
Endpoint 404
- Verifica che il controller sia UniFi OS 3.2 o superiore
- L'Integration API v1 non è disponibile su UniFi Network Application standalone
Nessun device tracker creato
- I client vengono rilevati solo se connessi al momento del polling
- Attendi un aggiornamento (max 30 secondi) o riavvia l'integrazione
MIT License — vedi LICENSE
Sviluppato per Home Assistant con supporto all'UniFi Integration API v1.
API reference: developer.ui.com/unifi-api