domotica/README.md
2026-08-27 12:28:06 +02:00

49 lines
2 KiB
Markdown

# Add-on Domotica Work
Negozio di add-on Home Assistant per la flotta. Un add-on qui dentro si installa
su qualunque impianto e si aggiorna su tutti alzando un numero di versione.
## Add-on disponibili
| Cartella | Nome | Cosa fa |
|---|---|---|
| `concentratore/` | Concentratore Modbus | Espone gli inverter ZCS al CCI e tiene rinfrescato il comando di modulazione |
## Registrare il repository su un impianto
Dall'interfaccia: **Impostazioni → Add-on → Negozio → ⋮ → Repository**, incollare
l'URL del repository.
Oppure dal fleet, senza aprire nulla:
```
ha_manage_addon(istanza="cliente-xxx", action="add_repository",
repository="https://git.domotica.work/domotica/addons")
ha_manage_addon(istanza="cliente-xxx", slug="<slug>", action="install")
ha_manage_addon(istanza="cliente-xxx", slug="<slug>", options={...})
ha_manage_addon(istanza="cliente-xxx", slug="<slug>", action="start")
```
Il Supervisor clona **senza credenziali**: il repository deve essere leggibile
in anonimo dagli impianti. Si chiude a livello di rete, non con un flag privato.
## Regole di casa
**Ogni modifica al codice alza `version` in `config.yaml`.** È l'unico
meccanismo che fa comparire "Aggiorna" sugli impianti. Se si modifica il codice
senza toccare la versione, gli impianti restano indietro e non lo segnala
nessuno.
**Niente valori cablati nel codice.** IP, slave, porte, tempi: tutto in
`options` con il relativo `schema`. È quello che permette allo stesso add-on di
girare su venti impianti diversi senza toccarne il sorgente. Nel repository non
deve finire niente di specifico di un cliente.
**Ogni add-on ha un `CHANGELOG.md`.** Home Assistant lo mostra nella schermata
di aggiornamento: è lì che si legge cosa cambia prima di premere il pulsante.
## Aggiungere un add-on nuovo
Copiare `docs/modello/` in una cartella nuova alla radice del repository,
scegliere uno `slug` univoco, riempire `config.yaml`. La cartella `docs/` non
viene letta dal Supervisor, quindi il modello non compare nel negozio.