Integrazione Home Assistant per centrali TecnoAlarm tramite protocollo TecnoOut.
- ✅ Configurazione tramite UI - Setup semplice dall'interfaccia di Home Assistant
- ✅ Sensori Binari per Zone - Monitora tutte le zone dell'allarme
- ✅ Switch per Programmi - Attiva/disattiva i programmi di allarme
- ✅ Protezione con PIN - 🔐 Servizi protetti da PIN per armare/disarmare
- ✅ Aggiornamento Automatico - Polling automatico dello stato ogni 5 secondi
- ✅ Watchdog Connection - Keep-alive automatico per evitare disconnessioni
- ✅ Device Info Completo - Informazioni dettagliate sulla centrale
- Home Assistant 2024.1.0 o superiore
- Centrale TecnoAlarm con modulo TecnoOut
- Connettività di rete alla centrale (TCP/IP)
- Codice utente e passphrase configurati sulla centrale
- Apri HACS nel tuo Home Assistant
- Vai su "Integrations"
- Clicca sul menu in alto a destra (⋮) e seleziona "Custom repositories"
- Aggiungi l'URL:
https://github.com/alecrt/ha-tecnout - Seleziona categoria: "Integration"
- Cerca "TecnoAlarm TecnoOut" e clicca "Download"
- Riavvia Home Assistant
Nota: L'integrazione verrà aggiunta all'elenco default di HACS dopo l'approvazione del team HACS.
- Copia la cartella
custom_components/ha_tecnoutnella cartellacustom_componentsdella tua installazione Home Assistant - Riavvia Home Assistant
- Vai su Impostazioni → Dispositivi e Servizi
- Clicca su Aggiungi Integrazione
- Cerca TecnoAlarm TecnoOut
- Inserisci i dati richiesti:
- Indirizzo IP: L'IP della centrale TecnoAlarm
- Porta: La porta TCP (default: 10001)
- Codice Utente: Il codice utente (0-999999)
- Passphrase: La passphrase per la crittografia AES
- Modalità Legacy: Abilita solo per hardware vecchio
- Intervallo Watchdog: Intervallo keep-alive in secondi (default: 30)
- PIN di Controllo (opzionale): 🔐 PIN per proteggere armare/disarmare
Per ogni zona attiva viene creato un sensore binario:
- Nome: Nome della zona (es. "Porta Ingresso", "Finestra Soggiorno")
- Stato:
ONse zona in allarme o pre-allarme,OFFaltrimenti - Attributi:
zone_number: Numero della zonaisolation_active: Zona esclusazone_status: Stato zonabattery_low: Batteria scaricasupervision_alarm: Allarme supervisionepre_alarm: Pre-allarme attivoalarm: Allarme attivo- E altri...
Per ogni programma viene creato uno switch:
- Nome: Nome del programma (es. "Totale", "Parziale Notte")
- Stato:
ONse programma inserito,OFFse disinserito - Attributi:
program_number: Numero del programmastatus: Stato corrente ("Armed", "Standby", ecc.)prealarm: Pre-allarme attivoalarm: Allarme attivoalarm_memory: Memoria allarme
- Turn On Switch: Inserisce il programma con esclusione automatica zone aperte
- Turn Off Switch: Disinserisce il programma
L'integrazione fornisce servizi protetti da PIN per un controllo più sicuro:
Inserisce un programma con verifica PIN opzionale.
service: ha_tecnout.arm_program
data:
program_id: 1
pin: "1234" # Richiesto se configuratoDisinserisce un programma con verifica PIN opzionale.
service: ha_tecnout.disarm_program
data:
program_id: 1
pin: "1234" # Richiesto se configuratoDocumentazione completa: Vedi PIN_PROTECTION.md
custom_components/ha_tecnout/
├── __init__.py # Entry point dell'integrazione
├── manifest.json # Metadata dell'integrazione
├── config_flow.py # Configurazione tramite UI
├── const.py # Costanti
├── coordinator.py # Data Update Coordinator
├── binary_sensor.py # Piattaforma sensori binari (zone)
├── switch.py # Piattaforma switch (programmi)
├── strings.json # Traduzioni italiane
└── translations/
└── en.json # Traduzioni inglesi
L'integrazione segue le best practice di Home Assistant:
- Config Flow: Configurazione completa tramite UI
- DataUpdateCoordinator: Gestione centralizzata degli aggiornamenti
- CoordinatorEntity: Entità sincronizzate automaticamente
- Type Hints: Codice completamente tipizzato
- Async/Await: Operazioni non bloccanti
L'integrazione utilizza la libreria tecnout (inclusa nella cartella tecnout/) che implementa il protocollo proprietario TecnoOut con:
- Comunicazione TCP/IP con crittografia AES
- Gestione automatica del watchdog per keep-alive
- Supporto per comandi di lettura e scrittura
- Entità Pydantic per validazione dati
Per abilitare i log dettagliati, aggiungi in configuration.yaml:
logger:
default: info
logs:
custom_components.ha_tecnout: debug
tecnout: debugContributi, issues e feature requests sono benvenuti!
Questo progetto segue le linee guida di Home Assistant per le integrazioni custom.
Questa integrazione mira al livello Silver della Integration Quality Scale:
- ✅ Config flow implementato
- ✅ Coordinator pattern
- ✅ Device info
- ✅ Traduzioni multiple
- ✅ Type hints completi
- ✅ Async operations