---
title: "Shelly 2.5"
description: "Dual-Kanal-Relaissteuerung mit Leistungsmessung pro Kanal über HTTP. TapHome-Vorlage für Shelly 2.5 (Gen1, Relaismodus)."
url: "https://taphome.com/de/compatibility/shelly-2-5/"
language: de
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["http","i/o-module","wifi","relay","power-metering","dual-channel"]
  questions: ["Wie integriere ich den Shelly 2.5 mit TapHome?","Was misst die Shelly 2.5 TapHome-Vorlage?","Wie verbinde ich den Shelly 2.5 über HTTP mit TapHome?","Unterstützt die TapHome Shelly 2.5-Vorlage den Rollladenmodus?","Warum scheint der Energiewert von Shelly 2.5 Kanal 1 zu hoch?","Welche Serviceattribute sind für Shelly 2.5 Relais in TapHome verfügbar?"]
---

# Shelly 2.5

Kommunikation: Packet Parser → HTTP

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

> Netzwerkadresse
> 
> TapHome erreicht dieses Gerät unter der beim Import eingegebenen Adresse. Geben Sie dem Gerät eine feste Adresse — eine IP-Reservierung im Router oder seinen mDNS-Namen, falls es einen unterstützt —, sonst funktioniert die Integration nicht mehr, sobald der Router die Adresse ändert.
> 
> [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)

## Integrationsanleitung

Der Shelly 2.5 ist ein kompaktes Dual-Kanal-WLAN-Relais mit integrierter Leistungsmessung auf beiden Kanälen. Er passt hinter einen Standard-Wandschalter und kann zwei unabhängige Stromkreise steuern, jeweils bis zu 10 A (2300 W bei 230 V), mit einem Gesamtmaximum von 20 A. Das Gerät unterstützt zwei Betriebsmodi — Relais (zwei unabhängige Schalter) und Rollladen (koordinierte Motorsteuerung) — die TapHome-Vorlage implementiert jedoch nur den Relaismodus. TapHome kommuniziert mit dem Gerät über HTTP im lokalen Netzwerk — keine Cloud-Verbindung erforderlich.

Die Vorlage stellt zwei Relaisschalter und zwei Energiezähler (einen pro Kanal) bereit, plus eine Serviceaktion zum Umschalten zwischen Relais- und Rollladenmodus.

## Konfiguration

Der Shelly 2.5 verbindet sich über WLAN. Geben Sie beim TapHome-Vorlagenimport die IP-Adresse des Geräts ein (Standard-Platzhalter `192.168.0.1`).

Der aktuelle Betriebsmodus wird als Serviceattribut auf Modulebene ("Mode") bereitgestellt und kann über die Serviceaktion "Mode" geändert werden. Das Umschalten zwischen Relais- und Rollladenmodus erfordert einen Geräteneustart.

## Gerätefunktionen

### Relaissteuerung

Die Vorlage stellt zwei unabhängige Relaiskanäle bereit. Der Status jedes Relais wird vom jeweiligen `/relay/`-Endpunkt gelesen (Feld `ison`) und über `turn=on` oder `turn=off` gesteuert.

- **Kanal 1** — liest und steuert `/relay/0`
- **Kanal 2** — liest und steuert `/relay/1`

Jedes Relais hat drei Serviceattribute:

- **Overpower** — ob ein Überleistungszustand auf dem Kanal erkannt wurde
- **Overtemperature** — ob das Gerät seine sichere Betriebstemperatur überschritten hat
- **Power Meter** — Messgültigkeit (OK oder Fehler)

### Leistungsmessung

Jeder Kanal hat einen dedizierten Energiezähler, der zwei Werte vom `/meter/`-Endpunkt liest:

- **Echtzeitleistung** — `power` in Watt, von der Vorlage in kW umgerechnet
- **Gesamtverbrauch** — `total` in Watt-Minuten, von der Vorlage in kWh umgerechnet

Jeder Energiezähler stellt ein Serviceattribut "Overpower" bereit, das den Überleistungsschwellenwert anzeigt (in Watt, geteilt durch 1000).

Die Zähler sind schreibgeschützt — sie aktualisieren sich automatisch mit jedem Abfragezyklus (15-Sekunden-Intervall).

> [!WARNING]
> **Bekanntes Problem — Energiewert von Kanal 1 ist 10× zu hoch.** Die Vorlage teilt `total` für Kanal 1 durch 6000 statt durch 60000 (was Kanal 2 korrekt verwendet). Das bedeutet, dass der kumulative Energiewert für Kanal 1 etwa 10-mal höher als der tatsächliche Verbrauch sein wird. Dies ist ein Fehler in der Umrechnungsformel der Vorlage.

### Weitere Funktionen

Der Shelly 2.5 unterstützt nativ volle Rollladensteuerung (Öffnen/Schließen/Stopp mit 0–100% Position nach Kalibrierung), gleitende Einminuten-Leistungsdurchschnitte pro Kanal, physische Schaltereingangszustände, interne Gerätetemperatur, WLAN-Signalstärke und Auto-Off-Timer pro Kanal. Das Gerät kann auch bis zu vier bevorzugte Rollladenpositionen speichern. Diese Funktionen können in einer zukünftigen Vorlagenaktualisierung hinzugefügt werden.

> [!NOTE]
> Im Vergleich zur Shelly 1PM-Vorlage stellt die Shelly 2.5-Vorlage keine Gerätediagnose bereit wie Hostname, MAC-Adresse, Betriebszeit, RAM-Auslastung, Cloud/MQTT-Status, Firmware-Update-Verfügbarkeit oder interne Temperatur. Es fehlen auch die Leistungsschutz-Serviceaktion (maximale Leistungsgrenze) und die Neustart-Aktion.

## Fehlerbehebung

### Gerät antwortet nicht

1. Überprüfen Sie, dass der Shelly mit dem WLAN verbunden ist und eine gültige IP-Adresse hat
2. Versuchen Sie den mDNS-Hostnamen (`shellyswitch25-AABBCCDDEE.local`) anstelle der IP-Adresse — die IP könnte sich nach einer DHCP-Erneuerung geändert haben
3. Öffnen Sie `http://{device-ip}/shelly` im Browser — wenn er antwortet, ist das Gerät erreichbar
4. Stellen Sie sicher, dass TapHome CCU und Shelly im selben Netzwerk / VLAN sind

### Leistungswerte zeigen Null

1. Bestätigen Sie, dass die Last über das Shelly-Relais angeschlossen ist (nicht umgangen)
2. Prüfen Sie, dass das Relais eingeschaltet ist — der Zähler misst nur, wenn Strom durch das Relais fließt
3. Rufen Sie `/meter/0` oder `/meter/1` manuell ab und überprüfen Sie, ob `power` einen Nicht-Null-Wert zurückgibt

### Energiesumme von Kanal 1 scheint falsch

Die Vorlage teilt den Gesamtwert von Kanal 1 durch 6000 statt durch das korrekte 60000 (das Kanal 2 verwendet). Dadurch ist der kumulative Energiewert für Kanal 1 10× höher als tatsächlich. In der Vorlage gibt es derzeit keine Abhilfe — der Umrechnungsfaktor ist im Abfrageskript eingebettet.

> [!WARNING]
> Gen1-Shelly-Geräte unterstützen nur **2 gleichzeitige HTTP-Verbindungen**. Wenn TapHome und ein anderes System (z.B. Home Assistant) dasselbe Gerät gleichzeitig abfragen, kann die Kommunikation unzuverlässig werden. Die Relais-Endpunkte werden alle 2,5 Sekunden und die Zähler-Endpunkte alle 15 Sekunden abgefragt.

## Installation in TapHome

### Voraussetzungen

- Shelly-Gerät installiert und eingeschaltet
- Lokales Wi-Fi-Netzwerk (2,4 GHz)
- TapHome CCU im selben Netzwerk

### Schritt 1 — Shelly mit Wi-Fi verbinden

**Option A — Shelly-App (empfohlen):**

1. Laden Sie die [Shelly-App](https://www.shelly.com/en/support/shelly-app) herunter (iOS / Android)
2. Tippen Sie auf **+** → **Add Device** und folgen Sie dem Bluetooth-Kopplungsassistenten
3. Geben Sie Ihre Wi-Fi-Zugangsdaten ein, wenn Sie dazu aufgefordert werden

**Option B — AP-Modus (ohne App):**

1. Beim ersten Einschalten erstellt das Gerät einen Hotspot: `ShellyXXX-AABBCCDDEE`
2. Verbinden Sie Ihr Telefon/PC mit diesem Hotspot
3. Öffnen Sie `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Geben Sie SSID und Passwort ein → **Save**

> [!NOTE]
> Shelly unterstützt nur **2,4 GHz**-Netzwerke. 5 GHz-Netzwerke werden beim Scannen nicht angezeigt.

### Schritt 2 — IP-Adresse ermitteln

Nach der Verbindung mit Wi-Fi ermitteln Sie die zugewiesene IP-Adresse auf eine der folgenden Arten:

- **Shelly-App:** Gerätedetail → **Device info** → IP-Adresse
- **Shelly-Weboberfläche:** Verbinden Sie sich mit dem Geräte-AP vor der Wi-Fi-Einrichtung — die IP wird nach dem Speichern angezeigt
- **Router-DHCP-Tabelle:** Suchen Sie nach einem Hostnamen wie `shelly1pm-AABBCCDDEE`
- **mDNS:** Pingen Sie `shelly<model>-<mac>.local` (z. B. `shelly1pm-AABBCCDDEE.local`) aus dem selben Netzwerk

> [!TIP]
> Weisen Sie dem Shelly-Gerät eine **statische IP** (DHCP-Reservierung) in Ihrem Router zu, damit sich die Adresse nach einem Router-Neustart nicht ändert.

### Schritt 3 — Konfiguration in TapHome

1. Fügen Sie in TapHome ein neues Modul **Packet Parser (HTTP)** hinzu
2. **IP Address:** Geben Sie die IP aus Schritt 2 ein (z. B. `192.168.1.50`)
3. **Port:** `80` (Standard, keine Änderung erforderlich)
4. Importieren Sie die Vorlage — TapHome fragt regelmäßig `/status` ab, um den Gerätestatus zu lesen

> [!NOTE]
> Die HTTP-Authentifizierung ist auf Shelly-Geräten standardmäßig deaktiviert. Wenn Sie den Anmeldeschutz aktiviert haben, unterstützt TapHome derzeit kein HTTP Basic Auth — lassen Sie die Authentifizierung für die TapHome-Integration deaktiviert.

## Verfügbare Geräte 4

Diese Geräte erscheinen nach dem Import in TapHome.

Shelly 2.5 Modul

Serviceattribute

|       |
|-------|
| Modus |

Serviceaktionen

|       |
|-------|
| Modus |

Serviceattribute

Mode

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

Serviceaktionen

Mode

Parameter: Mode

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

Stromzähler — Kanal 1 Stromzähler Nur lesen

Leistungs- und Energiemessung für Kanal 1 — Momentanleistung (kW) und kumulierte Energie (kWh). Hinweis: Energiewert ist 10× zu hoch aufgrund eines Vorlagen-Divisor-Fehlers (/6000 statt /60000)

numeric Einheit: W / kWh

Serviceattribute

|              |
|--------------|
| Überleistung |

Gesamtverbrauch lesen

```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
```

Bedarf lesen

```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
```

Serviceattribute

Overpower

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

Stromzähler — Kanal 2 Stromzähler Nur lesen

Leistungs- und Energiemessung für Kanal 2 — Momentanleistung (kW) und kumulierte Energie (kWh)

numeric Einheit: W / kWh

Serviceattribute

|              |
|--------------|
| Überleistung |

Gesamtverbrauch lesen

```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
```

Bedarf lesen

```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
```

Serviceattribute

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
```

Relais — Kanal 1 Schalter Lesen und Schreiben

boolean

Werte / Zustände: ON · OFF

Schaltzustand lesen

```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
```

Schaltzustand schreiben

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

Serviceattribute

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
```

Relais — Kanal 2 Schalter Lesen und Schreiben

boolean

Werte / Zustände: ON · OFF

Schaltzustand lesen

```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
```

Schaltzustand schreiben

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

Serviceattribute

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
```

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

Mögliche Verbesserungen (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

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt | Standard      |
|----------------------|---------------|
| IP-Adresse           | `192.168.0.1` |

## Quellen

- 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

## Verwandte Dokumentation

- [Packet-Parser-Integration](https://taphome.com/de/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)

