homebridge-elmo
Version:
Homebridge plugin per integrare i sistemi di antifurto Elmo con HomeKit
290 lines (222 loc) • 9.26 kB
Markdown
# Guida all'installazione di homebridge-elmo
Questa guida fornisce istruzioni dettagliate su come installare e configurare il plugin homebridge-elmo.
## Prerequisiti
Prima di installare il plugin, assicurati di avere:
1. **Homebridge**: Il plugin richiede Homebridge v1.3.0 o superiore. Se non hai ancora installato Homebridge, segui la [guida ufficiale](https://github.com/homebridge/homebridge/wiki).
2. **Node.js**: È richiesto Node.js v14 o superiore. Puoi verificare la tua versione con il comando:
```bash
node --version
```
3. **Python**: È richiesto Python 3.6 o superiore. Puoi verificare la tua versione con il comando:
```bash
python3 --version
```
4. **Pip**: È necessario per installare le dipendenze Python. Puoi verificare la tua versione con il comando:
```bash
pip3 --version
```
5. **Sistema di antifurto Elmo**: Devi avere un sistema di antifurto Elmo con accesso alle API cloud. Assicurati di avere le credenziali di accesso (username, password e codice).
## Installazione
### Metodo 1: Installazione tramite l'interfaccia web di Homebridge
1. Apri l'interfaccia web di Homebridge
2. Vai alla scheda "Plugins"
3. Cerca "homebridge-elmo"
4. Clicca su "Install"
### Metodo 2: Installazione tramite npm
1. Apri un terminale
2. Esegui il seguente comando:
```bash
npm install -g homebridge-elmo
```
### Metodo 3: Installazione manuale
1. Clona il repository:
```bash
git clone https://github.com/BlackHole12X/homebridge-elmo.git
```
2. Entra nella directory del plugin:
```bash
cd homebridge-elmo
```
3. Installa le dipendenze:
```bash
npm install
```
4. Collega il plugin a Homebridge:
```bash
npm link
```
5. Nella directory di Homebridge, collega il plugin:
```bash
cd ~/.homebridge
npm link homebridge-elmo
```
## Configurazione
### Metodo 1: Configurazione tramite l'interfaccia web di Homebridge
1. Apri l'interfaccia web di Homebridge
2. Vai alla scheda "Plugins"
3. Trova "homebridge-elmo" e clicca su "Settings"
4. Compila i campi richiesti:
- **Nome**: Nome del dispositivo nell'app Casa
- **Username**: Username per accedere al sistema Elmo
- **Password**: Password per accedere al sistema Elmo
- **Codice**: Codice numerico per armare/disarmare il sistema
- **Sistema**: Tipo di sistema Elmo (`e-connect` o `metronet`)
- **Dominio**: Dominio utilizzato per accedere alla pagina di login via web
- **Intervallo di polling**: Intervallo in secondi tra le richieste di aggiornamento dello stato
- **Debug**: Abilita i log di debug
5. Clicca su "Save"
### Metodo 2: Configurazione manuale
1. Apri il file di configurazione di Homebridge:
```bash
nano ~/.homebridge/config.json
```
2. Aggiungi la seguente configurazione nella sezione `platforms`:
```json
{
"platforms": [
{
"platform": "ElmoSecuritySystem",
"name": "Elmo Security System",
"username": "il_tuo_username",
"password": "la_tua_password",
"code": "il_tuo_codice",
"system": "e-connect",
"domain": "default",
"pollInterval": 30,
"debug": false
}
]
}
```
3. Sostituisci `il_tuo_username`, `la_tua_password` e `il_tuo_codice` con le tue credenziali reali.
4. Salva il file e chiudi l'editor.
## Parametri di configurazione
| Parametro | Tipo | Obbligatorio | Predefinito | Descrizione |
|-----------|------|--------------|-------------|-------------|
| `name` | string | No | `Elmo Security System` | Nome del dispositivo nell'app Casa |
| `username` | string | Sì | - | Username per accedere al sistema Elmo |
| `password` | string | Sì | - | Password per accedere al sistema Elmo |
| `code` | string | Sì | - | Codice numerico per armare/disarmare il sistema |
| `system` | string | No | `e-connect` | Tipo di sistema Elmo (`e-connect` o `metronet`) |
| `domain` | string | No | `default` | Dominio utilizzato per accedere alla pagina di login via web |
| `pollInterval` | number | No | `30` | Intervallo in secondi tra le richieste di aggiornamento dello stato |
| `debug` | boolean | No | `false` | Abilita i log di debug |
| `homeSectors` | string | No | `""` | Settori da armare in modalità Casa (es: "1,3") |
| `awaySectors` | string | No | `""` | Settori da armare in modalità Via (es: "1,2,3") |
| `nightSectors` | string | No | `""` | Settori da armare in modalità Notte (es: "2,3") |
| `enableDevices` | boolean | No | `true` | Abilita la creazione di accessori per dispositivi individuali |
| `defaultDeviceType` | string | No | `contact` | Tipo predefinito per dispositivi non configurati (`contact`, `motion`, `smoke`) |
| `devices` | array | No | `[]` | Configurazione specifica per ogni dispositivo (vedi sezione dedicata) |
| `debug` | boolean | No | `false` | Abilita i log di debug |
### Configurazione dei settori
Il plugin permette di configurare quali settori del sistema Elmo devono essere armati per ogni modalità:
- **Modalità Casa**: Tipicamente settori perimetrali (porte e finestre)
- **Modalità Via**: Tutti i settori del sistema
- **Modalità Notte**: Settori perimetrali e alcune zone interne
**Esempi di configurazione settori**:
```json
{
"homeSectors": "1,3", // Arma solo settori 1 e 3 in modalità Casa
"awaySectors": "1,2,3", // Arma tutti i settori in modalità Via
"nightSectors": "2,3" // Arma settori 2 e 3 in modalità Notte
}
```
**Note importanti**:
- Se lasci un campo vuoto (es: `""`), quella modalità armerà tutti i settori disponibili
- I numeri dei settori devono essere separati da virgole
- Non utilizzare spazi tra i numeri (corretto: "1,2,3", sbagliato: "1, 2, 3")
- I settori devono esistere nel tuo sistema Elmo
### Configurazione dei dispositivi individuali
Il plugin può creare accessori HomeKit per ogni dispositivo (sensore) del tuo sistema Elmo. Per configurarli correttamente:
#### 1. Scoperta degli ID dispositivi
1. Abilita temporaneamente il debug:
```json
"debug": true
```
2. Riavvia Homebridge e controlla i log per trovare righe simili a:
```
Dispositivi trovati:
1. PORTONCINO (ID: 1, Element: 1, Stato: false)
2. SENSORE SALONE (ID: 2, Element: 2, Stato: false)
3. SENSORE LETTO (ID: 3, Element: 3, Stato: false)
```
3. Annota gli ID (campo "Element") dei dispositivi che vuoi configurare
#### 2. Configurazione dei tipi di dispositivo
Aggiungi la sezione `devices` alla configurazione:
```json
{
"defaultDeviceType": "contact",
"devices": [
{
"id": 1,
"type": "contact",
"name": "Porta Principale"
},
{
"id": 2,
"type": "motion",
"name": "Sensore Movimento Salone"
},
{
"id": 3,
"type": "motion",
"name": "Sensore Movimento Camera"
}
]
}
```
**Parametri per ogni dispositivo:**
| Parametro | Tipo | Obbligatorio | Descrizione |
|-----------|------|--------------|-------------|
| `id` | number | Sì | ID numerico del dispositivo (Element) dal sistema Elmo |
| `type` | string | Sì | Tipo di sensore: `contact`, `motion`, `smoke` |
| `name` | string | No | Nome personalizzato (se omesso, usa il nome dal sistema Elmo) |
**Tipi di dispositivo supportati:**
- **`contact`**: Sensori di contatto per porte e finestre (aperto/chiuso)
- **`motion`**: Sensori di movimento PIR (movimento rilevato/non rilevato)
- **`smoke`**: Sensori di fumo (fumo rilevato/non rilevato)
#### 3. Tipo predefinito
I dispositivi non configurati esplicitamente useranno il `defaultDeviceType`:
```json
"defaultDeviceType": "contact" // Predefinito: sensori di contatto
```
## Verifica dell'installazione
1. Riavvia Homebridge:
```bash
sudo systemctl restart homebridge
```
2. Verifica i log di Homebridge per assicurarti che il plugin si sia avviato correttamente:
```bash
tail -f ~/.homebridge/homebridge.log
```
3. Apri l'app Casa di Apple sul tuo dispositivo iOS
4. Verifica che il sistema di sicurezza appaia nell'app
5. Verifica che lo stato del sistema (armato/disarmato) corrisponda allo stato reale del sistema Elmo
## Risoluzione dei problemi
### Problema: Il plugin non appare in Homebridge
**Soluzione**:
- Verifica che il plugin sia installato correttamente
- Riavvia Homebridge
- Verifica i log di Homebridge per eventuali errori
### Problema: Errore di autenticazione
**Soluzione**:
- Verifica che le credenziali siano corrette
- Assicurati che il sistema Elmo sia raggiungibile e funzionante
- Verifica che il dominio sia corretto
### Problema: Lo stato del sistema non si aggiorna
**Soluzione**:
- Verifica che l'intervallo di polling sia impostato correttamente
- Assicurati che il sistema Elmo sia raggiungibile e funzionante
- Abilita la modalità debug per ottenere più informazioni
### Problema: Errore durante l'installazione delle dipendenze Python
**Soluzione**:
- Verifica che Python e pip siano installati correttamente
- Prova a installare manualmente le dipendenze:
```bash
pip3 install requests econnect-python
```
## Supporto
Se hai bisogno di aiuto, puoi:
- Creare una issue su GitHub
- Consultare la documentazione ufficiale
- Contattare il supporto tecnico di Elmo per problemi relativi al sistema di antifurto