---
title: "Shelly 2.5"
description: "Controllo relè a doppio canale con misurazione potenza per canale via HTTP. Template TapHome per Shelly 2.5 (Gen1, modalità relè)."
url: "https://taphome.com/it/compatibility/shelly-2-5/"
language: it
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["http","i/o-module","wifi","relay","power-metering","dual-channel"]
  questions: ["Come integrare lo Shelly 2.5 con TapHome?","Cosa misura il template Shelly 2.5 di TapHome?","Come collegare lo Shelly 2.5 tramite HTTP a TapHome?","Il template TapHome dello Shelly 2.5 supporta la modalità tapparella?","Perché il valore energetico del canale 1 dello Shelly 2.5 sembra troppo alto?","Quali attributi di servizio sono disponibili per i relè Shelly 2.5 in TapHome?"]
---

# Shelly 2.5

Comunicazione: Packet Parser → HTTP

- [Pagina prodotto Shelly 2.5](https://www.shelly.com/en/products/shop/shelly-25)
- [Documentazione API Shelly 2.5](https://shelly-api-docs.shelly.cloud/gen1/#shelly2-5)

> Indirizzo di rete
> 
> TapHome raggiunge il dispositivo all'indirizzo inserito durante l'importazione. Assegna al dispositivo un indirizzo fisso — una prenotazione IP nel router, oppure il suo nome mDNS se lo supporta —, altrimenti l'integrazione smette di funzionare quando il router cambia l'indirizzo.
> 
> [Preparazione della rete](https://taphome.com/it/docs/setup/network-preparation/)

## Guida all'integrazione

Lo Shelly 2.5 è un compatto relè Wi-Fi a doppio canale con misurazione della potenza integrata su entrambi i canali. Si inserisce dietro un interruttore a parete standard e può controllare due circuiti indipendenti, ciascuno dimensionato fino a 10 A (2300 W a 230 V), con un massimo combinato di 20 A. Il dispositivo supporta due modalità operative — relè (due interruttori indipendenti) e tapparella (controllo motore coordinato) — ma il template TapHome implementa solo la modalità relè. TapHome comunica con il dispositivo via HTTP sulla rete locale — non è richiesta alcuna connessione cloud.

Il template fornisce due interruttori relè e due contatori di energia (uno per canale), più un'azione di servizio per commutare tra modalità relè e tapparella.

## Configurazione

Lo Shelly 2.5 si connette tramite Wi-Fi. Durante l'importazione del template TapHome, inserisci l'indirizzo IP del dispositivo (segnaposto predefinito `192.168.0.1`).

La modalità operativa corrente è esposta come attributo di servizio a livello modulo ("Mode") e può essere modificata tramite l'azione di servizio "Mode". Il passaggio tra modalità relè e tapparella richiede un riavvio del dispositivo.

## Funzionalità del dispositivo

### Controllo relè

Il template espone due canali relè indipendenti. Lo stato di ogni relè viene letto dal rispettivo endpoint `/relay/` (campo `ison`) e controllato tramite `turn=on` o `turn=off`.

- **Canale 1** — lettura e controllo `/relay/0`
- **Canale 2** — lettura e controllo `/relay/1`

Ogni relè ha tre attributi di servizio:

- **Overpower** — se è stata rilevata una condizione di sovrapotenza sul canale
- **Overtemperature** — se il dispositivo ha superato la temperatura operativa sicura
- **Power Meter** — validità della misurazione (OK o Guasto)

### Misurazione della potenza

Ogni canale ha un contatore di energia dedicato che legge due valori dall'endpoint `/meter/`:

- **Potenza in tempo reale** — `power` in watt, convertita in kW dal template
- **Consumo totale** — `total` in watt-minuti, convertito in kWh dal template

Ogni contatore espone un attributo di servizio "Overpower" che mostra il valore soglia di sovrapotenza (in watt, diviso per 1000).

I contatori sono di sola lettura — si aggiornano automaticamente ad ogni ciclo di polling (intervallo di 15 secondi).

> [!WARNING]
> **Problema noto — il valore energetico del canale 1 è 10× troppo alto.** Il template divide `total` per 6000 per il canale 1 invece di 60000 (che il canale 2 usa correttamente). Ciò significa che il valore energetico cumulativo per il canale 1 sarà circa 10 volte superiore al consumo effettivo. Si tratta di un bug nella formula di conversione del template.

### Funzionalità aggiuntive

Lo Shelly 2.5 supporta nativamente il controllo completo delle tapparelle (apertura/chiusura/stop con posizione 0–100% dopo calibrazione), medie di potenza mobili di un minuto per canale, stati degli ingressi fisici degli interruttori, temperatura interna del dispositivo, intensità del segnale Wi-Fi e timer di spegnimento automatico per canale. Il dispositivo può anche memorizzare fino a quattro posizioni preferite delle tapparelle. Queste funzionalità possono essere aggiunte in un futuro aggiornamento del template.

> [!NOTE]
> Rispetto al template Shelly 1PM, il template Shelly 2.5 non espone diagnostica del dispositivo come hostname, indirizzo MAC, uptime, utilizzo RAM, stato cloud/MQTT, disponibilità aggiornamento firmware o temperatura interna. Manca anche l'azione di servizio protezione potenza (limite potenza massima) e l'azione di riavvio.

## Risoluzione dei problemi

### Il dispositivo non risponde

1. Verifica che lo Shelly sia connesso al Wi-Fi e abbia un indirizzo IP valido
2. Prova a usare l'hostname mDNS (`shellyswitch25-AABBCCDDEE.local`) invece dell'indirizzo IP — l'IP potrebbe essere cambiato dopo un rinnovo DHCP
3. Apri `http://{device-ip}/shelly` nel browser — se risponde, il dispositivo è raggiungibile
4. Controlla che TapHome CCU e Shelly siano nella stessa rete / VLAN

### I valori di potenza mostrano zero

1. Conferma che il carico è collegato attraverso il relè Shelly (non bypassato)
2. Verifica che il relè sia acceso — il contatore misura solo quando la corrente fluisce attraverso il relè
3. Interroga manualmente `/meter/0` o `/meter/1` e verifica che `power` restituisca un valore diverso da zero

### Il totale energia del canale 1 sembra errato

Il template divide il totale del canale 1 per 6000 invece del corretto 60000 (usato dal canale 2). Di conseguenza, il valore energetico cumulativo per il canale 1 è 10× superiore al reale. Attualmente non esiste una soluzione nel template — il fattore di conversione è incorporato nello script di polling.

> [!WARNING]
> I dispositivi Shelly Gen1 supportano solo **2 connessioni HTTP simultanee**. Se TapHome e un altro sistema (es. Home Assistant) interrogano contemporaneamente lo stesso dispositivo, la comunicazione potrebbe diventare inaffidabile. Gli endpoint relè vengono interrogati ogni 2,5 secondi e gli endpoint dei contatori ogni 15 secondi.

## Come installare in TapHome

### Prerequisiti

- Dispositivo Shelly installato e acceso
- Rete Wi-Fi locale (2,4 GHz)
- TapHome CCU sulla stessa rete

### Passaggio 1 — Collegare Shelly al Wi-Fi

**Opzione A — App Shelly (consigliata):**

1. Scarica l'[app Shelly](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Tocca **+** → **Add Device** e segui la procedura guidata di associazione Bluetooth
3. Inserisci le credenziali Wi-Fi quando richiesto

**Opzione B — Modalità AP (senza app):**

1. Al primo avvio il dispositivo crea un hotspot: `ShellyXXX-AABBCCDDEE`
2. Collega il tuo telefono/PC a questo hotspot
3. Apri `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Inserisci SSID e password → **Save**

> [!NOTE]
> Shelly supporta solo reti a **2,4 GHz**. Le reti a 5 GHz non appariranno nella scansione.

### Passaggio 2 — Trovare l'indirizzo IP

Dopo la connessione al Wi-Fi, trova l'indirizzo IP assegnato tramite uno di questi metodi:

- **App Shelly:** Dettaglio dispositivo → **Device info** → Indirizzo IP
- **Interfaccia web Shelly:** Connettiti all'AP del dispositivo prima della configurazione Wi-Fi — l'IP viene mostrato dopo il salvataggio
- **Tabella DHCP del router:** Cerca un hostname come `shelly1pm-AABBCCDDEE`
- **mDNS:** Esegui il ping di `shelly<model>-<mac>.local` (es. `shelly1pm-AABBCCDDEE.local`) dalla stessa rete

> [!TIP]
> Assegna un **IP statico** (prenotazione DHCP) nel tuo router per il dispositivo Shelly per evitare che l'indirizzo cambi dopo un riavvio del router.

### Passaggio 3 — Configurazione in TapHome

1. In TapHome, aggiungi un nuovo modulo **Packet Parser (HTTP)**
2. **IP Address:** inserisci l'IP dal passaggio 2 (es. `192.168.1.50`)
3. **Port:** `80` (predefinito, nessuna modifica necessaria)
4. Importa il template — TapHome interrogherà periodicamente `/status` per leggere lo stato del dispositivo

> [!NOTE]
> L'autenticazione HTTP è disabilitata per impostazione predefinita sui dispositivi Shelly. Se hai abilitato la protezione con accesso, TapHome attualmente non supporta HTTP Basic Auth — mantieni l'autenticazione disabilitata per l'integrazione con TapHome.

## Dispositivi disponibili 4

Questi dispositivi compaiono in TapHome dopo l'importazione.

Shelly 2.5 Modulo

Attributi di servizio

|          |
|----------|
| Modalità |

Azioni di servizio

|          |
|----------|
| Modalità |

Attributi di servizio

Mode

```taphome
 VAR response := SENDHTTPREQUEST("/settings");
 IF response.IsSuccess
  VAR content := response.Content;
  VAR responseHeaders := response.Headers;
  RETURN(PARSEJSON(content, "mode"));
 END
```

Azioni di servizio

Mode

Parametri: Mode

```taphome
var St := SWITCH(mo, 1, "roller", "relay");
 VAR response := SENDHTTPREQUEST("/settings?mode=" + St);
```

Contatore elettrico — Canale 1 Contatore elettrico Solo lettura

Misurazione di potenza ed energia per il canale 1 — potenza istantanea (kW) ed energia cumulativa (kWh). Nota: il valore energetico è 10× troppo alto a causa di un bug del divisore nel template (/6000 invece di /60000)

numeric Unità: W / kWh

Attributi di servizio

|              |
|--------------|
| Sovrapotenza |

Lettura consumo totale

```taphome
VAR response := SENDHTTPREQUEST("/meter/0");
 IF response.IsSuccess
  VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "total")/6000);
 ELSE 
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Lettura domanda

```taphome
VAR response := SENDHTTPREQUEST("/meter/0");
 IF response.IsSuccess
  VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "power")/1000);
 ELSE 
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Attributi di servizio

Overpower

```taphome
 VAR response := SENDHTTPREQUEST("/meter/0");
 IF response.IsSuccess
  VAR content := response.Content;
 RETURN((PARSEJSON(content, "overpower")/1000) + " W");
 END
```

Contatore elettrico — Canale 2 Contatore elettrico Solo lettura

Misurazione di potenza ed energia per il canale 2 — potenza istantanea (kW) ed energia cumulativa (kWh)

numeric Unità: W / kWh

Attributi di servizio

|              |
|--------------|
| Sovrapotenza |

Lettura consumo totale

```taphome
VAR response := SENDHTTPREQUEST("/meter/1");
 IF response.IsSuccess
  VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "total")/60000);
 ELSE 
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Lettura domanda

```taphome
VAR response := SENDHTTPREQUEST("/meter/1");
 IF response.IsSuccess
  VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "power")/1000);
 ELSE 
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Attributi di servizio

Overpower

```taphome
 VAR response := SENDHTTPREQUEST("/meter/1");
 IF response.IsSuccess
  VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN((PARSEJSON(content, "overpower")/1000) + " W");
 END
```

Relè — Canale 1 Interruttore Lettura e scrittura

boolean

Valori / Stati: ON · OFF

Lettura stato interruttore

```taphome
VAR response := SENDHTTPREQUEST("/relay/0");
 IF response.IsSuccess
  VAR content := response.Content;
  VAR responseHeaders := response.Headers;
  RETURN(PARSEJSON(content, "ison"));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Scrittura stato interruttore

```taphome
var turn := Switch(St, 1, "on", "off");
 VAR response := SENDHTTPREQUEST("/relay/0?turn=" + turn);
 IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
 END
```

Attributi di servizio

Overpower

```taphome
 VAR response := SENDHTTPREQUEST("/relay/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(IF(PARSEJSON(content, "overpower"),"Yes", "No"));
 END
```

Overtemperature

```taphome
 VAR response := SENDHTTPREQUEST("/relay/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(IF(PARSEJSON(content, "overtemperature"),"Yes", "No"));
 END
```

Power Meter

```taphome
 VAR response := SENDHTTPREQUEST("/relay/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(IF(PARSEJSON(content, "is_valid"),"OK","Fault"));
 END
```

Relè — Canale 2 Interruttore Lettura e scrittura

boolean

Valori / Stati: ON · OFF

Lettura stato interruttore

```taphome
VAR response := SENDHTTPREQUEST("/relay/1");
 IF response.IsSuccess
  VAR content := response.Content;
  VAR responseHeaders := response.Headers;
  RETURN(PARSEJSON(content, "ison"));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
```

Scrittura stato interruttore

```taphome
var turn := Switch(St, 1, "on", "off");
 VAR response := SENDHTTPREQUEST("/relay/1?turn=" + turn);
 IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
 END
```

Attributi di servizio

Overpower

```taphome
 VAR response := SENDHTTPREQUEST("/relay/1");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(IF(PARSEJSON(content, "overpower"),"Yes", "No"));
 END
```

Overtemperature

```taphome
 VAR response := SENDHTTPREQUEST("/relay/1");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(IF(PARSEJSON(content, "overtemperature"),"Yes", "No"));
 END
```

Power Meter

```taphome
 VAR response := SENDHTTPREQUEST("/relay/1");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(IF(PARSEJSON(content, "is_valid"),"OK","Fault"));
 END
```

**Connessione:** Packet Parser → HTTP • Hostname: `shellyswitch25-{MAC}.local`

Possibili miglioramenti (9)

- Roller Shutter Control — Full roller shutter control (open/close/stop/position 0-100%) — the Shelly 2.5's key dual-mode feature. Template only implements relay mode.
- Roller Position — Current roller position 0-100% (requires calibration). Not available without /roller/ endpoint.
- Roller Calibration — Initiates travel-time calibration procedure for position control.
- Rolling Power Averages — 3 rolling one-minute power averages per channel, available in /meter/ response
- Input States — Physical switch input states (0/1) for both channels, available in /status response
- Internal Device Temperature — Internal temperature in C available in /status response (not exposed as a device, only as relay SA)
- Auto-off Timer — Per-channel auto-off timer in seconds, could be added as service action parameter
- WiFi Signal Strength — WiFi RSSI in dBm, available in /status response
- Favorite Positions (Roller Mode) — Up to 4 saved roller shutter positions — only relevant if roller mode is implemented

## Parametri di importazione

Inserisci questi valori quando importi l'XML.

| Richiesto nell'app | Predefinito   |
|--------------------|---------------|
| Indirizzo IP       | `192.168.0.1` |

## Fonti

- Shelly Gen1 API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/) 2026-03-12
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-12
- Shelly 2.5 Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-2-5) 2026-03-29
- Shelly 2.5 API Reference (Device-Specific)
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly2-5) 2026-03-29

## Documentazione correlata

- [Integrazione Packet Parser](https://taphome.com/it/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/it/docs/integration/packet-parser/)
- [Funzioni Packet parser](https://taphome.com/it/docs/script/packet-parser/)
- [Funzioni di parsing](https://taphome.com/it/docs/script/parsing-functions/)

