---
title: "Shelly Pro 4PM"
description: "Shelly Pro 4PM für die Hutschiene lokal per HTTP: vier Relais schalten und Leistung sowie Energie je Kanal messen, über WLAN oder Ethernet."
url: "https://taphome.com/de/compatibility/shelly-4-pro/"
language: de
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["http","electric-meter","wifi","relay","power-metering","din-rail","4-channel","mdns","ethernet"]
  questions: ["Wie integriert man Shelly Pro 4PM mit TapHome?","Was misst die Shelly Pro 4PM Vorlage in TapHome?","Wie verbindet man Shelly Pro 4PM über HTTP mit TapHome?","Warum zeigt Shelly Pro 4PM Nullwerte bei der Leistung?","Kann TapHome den Relaisstatus auf dem Shelly Pro 4PM lesen?","Wie stellt man das Leistungsschutzlimit auf dem Shelly Pro 4PM über TapHome ein?","Was ist der Unterschied zwischen Shelly Pro 4PM V1 und V2?","Warum sind die Relaisschalter auf dem Shelly Pro 4PM schreibgeschützt?"]
---

# Shelly Pro 4PM

Kommunikation: Packet Parser → HTTP

- [Shelly Pro 4PM Produktseite](https://www.shelly.com/en/products/shop/shelly-pro-4pm)
- [Shelly Pro 4PM API-Dokumentation](https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen2/ShellyPro4PM)
- [Shelly Pro 4PM Wissensdatenbank](https://kb.shelly.cloud/knowledge-base/shelly-pro-4pm)

> 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 Pro 4PM ist ein 4-Kanal-Smart-Relais für die DIN-Hutschienenmontage mit integrierter kanalweiser Leistungsmessung. Jeder der vier unabhängigen Ausgänge kann bis zu 16 A schalten (insgesamt 40 A) und eignet sich damit zur Steuerung von Beleuchtungskreisen, Geräten oder Verteilerlast mit individueller Energieüberwachung pro Kanal. TapHome kommuniziert mit dem Gerät über HTTP im lokalen Netzwerk — keine Cloud-Verbindung erforderlich.

Die Vorlage verwendet einen gemischten API-Ansatz: Gen2+ RPC-Endpunkte (`/rpc/Switch.GetStatus?id=N`) zum Lesen der Energiemessung und Gen1-Endpunkte (`/relay/N?turn=on|off`) zur Relaissteuerung. Beide API-Generationen werden vom Pro 4PM aus Gründen der Abwärtskompatibilität unterstützt. Das Gerät verbindet sich über WLAN oder Ethernet (RJ45) und verfügt über ein 1,8-Zoll-Farb-LCD-Display zur lokalen Statusüberwachung.

## Konfiguration

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

> [!WARNING]
> Die Authentifizierung muss auf dem Shelly-Gerät für die TapHome-Integration **deaktiviert** sein. TapHome unterstützt nicht die von Gen2-Geräten verwendete HTTP Digest Auth. Öffnen Sie die Shelly-Weboberfläche (`http://{geraete-ip}`) → Settings → Authentication und stellen Sie sicher, dass sie deaktiviert ist.

> [!WARNING]
> Das LAN-Kabel darf nur bei **ausgeschaltetem** Gerät eingesteckt oder abgezogen werden. Hot-Plugging des Ethernet-Kabels kann Probleme verursachen.

> [!NOTE]
> Wenn der ECO-Modus auf dem Shelly-Gerät aktiviert ist, kann er aufgrund der schnellen Abfrageintervalle der Vorlage (2,5–15 Sekunden) Kommunikations-Timeouts verursachen. Deaktivieren Sie den ECO-Modus in der Shelly-Weboberfläche, wenn Sie intermittierende Verbindungsprobleme feststellen.

## Gerätefunktionen

### Energiemessung

Die Vorlage stellt vier unabhängige Energiezähler-Geräte bereit, eines pro Kanal. Jeder Zähler liest von `/rpc/Switch.GetStatus?id=N` (wobei N 0–3 ist):

- **Echtzeitleistung** — `apower` in Watt, von der Vorlage in kW umgerechnet
- **Gesamtverbrauch** — `aenergy.total` in Wattstunden, von der Vorlage in kWh umgerechnet

Kanal 1 wird alle 2,5 Sekunden abgefragt für schnelleres Feedback. Kanäle 2–4 werden alle 15 Sekunden abgefragt.

Die Zähler sind schreibgeschützt — sie aktualisieren sich automatisch mit jedem Abfragezyklus.

### Relaissteuerung

Die Vorlage stellt vier Relais-Schaltgeräte bereit, eines pro Kanal. Jedes Relais wird über den Gen1-Endpunkt `/relay/N?turn=on|off` gesteuert (wobei N 0–3 ist).

> [!NOTE]
> Die Relaisschalter sind **nur schreibbar** — die Vorlage liest den Relaisstatus nicht vom Gerät zurück. Der aktuelle Relaisstatus kann vom entsprechenden Energiezähler abgeleitet werden: Wenn der Kanal einen Verbrauch ungleich Null meldet, ist das Relais eingeschaltet. Ein zukünftiges Vorlagenupdate könnte eine Relaisstatus-Rückmeldung über das Gen2+ Feld `/rpc/Switch.GetStatus?id=N` → `output` hinzufügen.

### Leistungssensor

Ein eigenständiges Leistungssensor-Gerät stellt die aktive Rohleistung in Watt für Kanal 1 bereit (gelesen von `/rpc/Switch.GetStatus?id=0` → `apower`). Im Gegensatz zum Energiezähler, der in kW umrechnet, meldet dieser Sensor den Wert in Watt ohne Umrechnung, nützlich für Automatisierungen, die Watt-Genauigkeit benötigen.

### Service-Diagnose

Die Vorlage stellt 13 Service-Attribute zur Geräteüberwachung bereit:

- **Geräteinformationen** — Hostname, MAC-Adresse, Gerätezeit, Betriebszeit, RAM-Auslastung
- **Thermoschutz** — interne Temperatur (°C), Temperaturstatus (Normal / High / Very High), Übertemperatur-Flag
- **Konnektivität** — Cloud aktiviert/verbunden, MQTT verbunden, Firmware-Update verfügbar
- **Leistungsschutz** — aktuelles maximales Leistungslimit (gelesen von `/settings`)

### Service-Aktionen

Drei Service-Aktionen stehen zur Verfügung:

- **Leistungsschutz einstellen** — setzt das maximale Leistungslimit (1–3500 W). Das Relais schaltet automatisch ab, wenn der Verbrauch diesen Wert überschreitet.
- **Cloud aktivieren** — aktiviert oder deaktiviert die Shelly-Cloud-Konnektivität
- **Neustart** — löst einen Geräteneustart aus

### Weitere Funktionen

Der Shelly Pro 4PM stellt auch kanalweise Spannung, Strom, Leistungsfaktor, Frequenz und interne Temperatur in seiner `/rpc/Switch.GetStatus`-Antwort bereit. Physische Schalter-/Tasteneingangszustände (S1–S4), Ethernet-Status, WLAN-RSSI und native Gen2+-Relaissteuerung mit Auto-Off-Timer sind über die RPC-API verfügbar. Diese Funktionen können in einem zukünftigen Vorlagenupdate hinzugefügt werden.

## Fehlerbehebung

### Gerät reagiert nicht

1. Überprüfen Sie, ob der Shelly mit WLAN oder Ethernet verbunden ist und eine gültige IP-Adresse hat
2. Versuchen Sie den mDNS-Hostnamen (`shellypro4pm-AABBCCDDEE.local`) statt der IP-Adresse — die IP kann sich nach einer DHCP-Erneuerung geändert haben
3. Öffnen Sie `http://{geraete-ip}/rpc/Shelly.GetDeviceInfo` im Browser — wenn JSON zurückkommt, ist das Gerät erreichbar
4. Prüfen Sie, ob TapHome Core und Shelly im gleichen Netzwerk / VLAN sind
5. Stellen Sie sicher, dass die Authentifizierung auf dem Shelly-Gerät deaktiviert ist

### Leistungswerte zeigen Null

1. Bestätigen Sie, dass die Last über den Shelly-Relaisausgang (O1–O4) angeschlossen ist, nicht umgangen
2. Prüfen Sie, ob das Relais eingeschaltet ist — der Zähler misst nur, wenn Strom durch das Relais fließt
3. Rufen Sie `/rpc/Switch.GetStatus?id=0` manuell auf und prüfen Sie, ob `apower` einen Wert ungleich Null zurückgibt
4. Überprüfen Sie die korrekte Kanal-ID (id=0 für Ausgang 1, id=1 für Ausgang 2 usw.)

### Relaisstatus unbekannt

Die Relaisschalter in dieser Vorlage sind nur schreibbar — sie senden Ein-/Aus-Befehle, lesen aber den Relaisstatus nicht zurück. Um den tatsächlichen Relaisstatus zu überprüfen:

1. Prüfen Sie den entsprechenden Energiezähler — Leistung ungleich Null bedeutet, das Relais ist eingeschaltet
2. Schauen Sie auf die Relais-LED-Anzeigen an der Gerätefront
3. Testen Sie manuell über den Browser: `http://{geraete-ip}/relay/0` gibt den aktuellen Relaisstatus als JSON zurück

### Übertemperatur-Warnung

Der Shelly Pro 4PM verfügt über internen Thermoschutz. Wenn die Gerätetemperatur sichere Grenzwerte überschreitet, ändert sich `temperature_status` auf "High" oder "Very High" und `overtemperature` wird `true`. Sorgen Sie für ausreichende Belüftung im Verteilerkasten, insbesondere beim gleichzeitigen Schalten hoher Lasten über mehrere Kanäle.

### V1 vs V2 Hardware

Beide Versionen verwenden dieselbe Firmware und API. V2 (SPSW-104PE16EU) hat verbesserte Anschlüsse — fünf einzelne Schraubklemmen statt vier 2-Klemmen-Blöcke — und bessere elektrische LAN-Isolation. Zwischen den Versionen sind keine Vorlagenänderungen erforderlich.

> [!WARNING]
> Gen2-Shelly-Geräte unterstützen bis zu **6 gleichzeitige HTTP-Verbindungen**. Die Shelly Pro 4PM Vorlage verwendet bis zu 5 gleichzeitige Endpunkte pro Abfragezyklus (4 Energiezähler + Modulstatus), was wenig Spielraum lässt. Vermeiden Sie gleichzeitiges Polling von zu vielen Systemen.

## 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 9

Diese Geräte erscheinen nach dem Import in TapHome.

Shelly Pro 4PM Modul

Serviceaktionen

|                            |                                                                                                    |
|----------------------------|----------------------------------------------------------------------------------------------------|
| Leistungsschutz einstellen | Maximale Leistungsgrenze einstellen (1–3500 W) — Relais schaltet automatisch ab bei Überschreitung |
| Cloud aktivieren           | Shelly-Cloud-Konnektivität aktivieren oder deaktivieren                                            |
| Neustart                   | Geräteneustart auslösen                                                                            |

Benutzerdefinierte Variablen

|                         |
|-------------------------|
| `StatusJson` (string)   |
| `SettingsJson` (string) |
| `status` (string) = 0   |

Lesen (Modul)

```taphome
VAR response := SENDHTTPREQUEST("/status", "GET");
StatusJson := response.Content;
```

Serviceaktionen

Set power protection

Parameter: Maximum power (1–3500 Watts)

```taphome
VAR response := SENDHTTPREQUEST("settings?max_power=" + Watts);
VAR contentJson := response.Content;
VAR limitSet := PARSEJSON(contentJson, "max_power");

"Power limit set to " + limitSet + "W"
```

Enable cloud

Parameter: Enable (Enable / Disable)

```taphome
VAR response := SENDHTTPREQUEST("/settings/cloud?enabled=" + enable);
VAR contentJson := response.Content;
VAR wasEnabled := PARSEJSON(contentJson, "enabled");

IF(wasEnabled, "Cloud enabled", "Cloud disabled");
```

Reboot

```taphome
VAR response := SENDHTTPREQUEST("/reboot");
VAR contentJson := response.Content;
VAR wasRebooted := PARSEJSON(contentJson, "ok");

IF(wasRebooted, "Reboot successful", "Error");
```

Kanal 1 Stromzähler Stromzähler Nur lesen

Kanalweise Leistungs- und Energiemessung für Ausgang 1 — Momentanleistung (kW) und kumulierte Energie (kWh)

numeric Einheit: W / kWh

Gesamtverbrauch lesen

```taphome
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
```

Bedarf lesen

```taphome
return(parsejson(status,"apower")/1000);
```

Lesen (Modul)

```taphome
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
status := x.Content;
```

Kanal 2 Stromzähler Stromzähler Nur lesen

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

numeric Einheit: W / kWh

Gesamtverbrauch lesen

```taphome
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
```

Bedarf lesen

```taphome
return(parsejson(status,"apower")/1000);
```

Lesen (Modul)

```taphome
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=1"));
status := x.Content;
```

Kanal 3 Stromzähler Stromzähler Nur lesen

Kanalweise Leistungs- und Energiemessung für Ausgang 3 — Momentanleistung (kW) und kumulierte Energie (kWh)

numeric Einheit: W / kWh

Gesamtverbrauch lesen

```taphome
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
```

Bedarf lesen

```taphome
return(parsejson(status,"apower")/1000);
```

Lesen (Modul)

```taphome
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=2"));
status := x.Content;
```

Kanal 4 Stromzähler Stromzähler Nur lesen

Kanalweise Leistungs- und Energiemessung für Ausgang 4 — Momentanleistung (kW) und kumulierte Energie (kWh)

numeric Einheit: W / kWh

Gesamtverbrauch lesen

```taphome
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
```

Bedarf lesen

```taphome
return(parsejson(status,"apower")/1000);
```

Lesen (Modul)

```taphome
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=3"));
status := x.Content;
```

Kanal 2 Relais Schalter Lesen und Schreiben

Nur-Schreib-Relaissteuerung für Ausgang 2 — Status wird nicht zurückgelesen, aus Stromzähler ableiten

boolean

Werte / Zustände: ON · OFF

Schaltzustand schreiben

```taphome
VAR path := "relay/1?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
```

Kanal 1 Relais Schalter Lesen und Schreiben

Nur-Schreib-Relaissteuerung für Ausgang 1 — Status wird nicht zurückgelesen, aus Stromzähler ableiten

boolean

Werte / Zustände: ON · OFF

Schaltzustand schreiben

```taphome
VAR path := "relay/0?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
```

Kanal 1 Leistungssensor Variable Nur lesen

Rohwirkleistung in Watt für Kanal 1 — eigenständiger Sensorwert ohne kW-Umrechnung

numeric Einheit: W

Lesen

```taphome
return(parsejson(status,"apower"));
```

Lesen (Modul)

```taphome
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
status := x.Content;
```

Kanal 3 Relais Schalter Lesen und Schreiben

Nur-Schreib-Relaissteuerung für Ausgang 3 — Status wird nicht zurückgelesen, aus Stromzähler ableiten

boolean

Werte / Zustände: ON · OFF

Schaltzustand schreiben

```taphome
VAR path := "relay/2?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
```

Kanal 4 Relais Schalter Lesen und Schreiben

Nur-Schreib-Relaissteuerung für Ausgang 4 — Status wird nicht zurückgelesen, aus Stromzähler ableiten

boolean

Werte / Zustände: ON · OFF

Schaltzustand schreiben

```taphome
VAR path := "relay/3?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
```

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

Mögliche Verbesserungen (10)

- Relay State Read — Switches have no readswitchstate script — relay state is not read back. Gen2+ /rpc/Switch.GetStatus?id=N provides output (boolean) for state feedback.
- Voltage — Per-channel line voltage in V, available in /rpc/Switch.GetStatus response
- Current — Per-channel load current in A, available in /rpc/Switch.GetStatus response
- Power Factor — Per-channel power factor, available in /rpc/Switch.GetStatus response
- Frequency — Network frequency in Hz, available in /rpc/Switch.GetStatus response
- Per-Channel Temperature — Internal temperature in °C per switch component, available in /rpc/Switch.GetStatus response
- Input States (S1-S4) — 4 physical switch/button inputs, available via /rpc/Input.GetStatus?id=0..3
- Gen2+ Relay Control — Native Gen2+ relay control with toggle\_after timer support. Template uses Gen1 /relay/N instead.
- WiFi Status (SSID, IP, RSSI) — WiFi status including signal strength, available via Gen2+ RPC
- Ethernet Status — Pro 4PM has RJ45 LAN port; Ethernet status (IP, link) available via /rpc/Ethernet.GetStatus

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

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

## Quellen

- Shelly Gen2+/Gen3 RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-29
- Shelly Gen2+ Switch Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch/) 2026-03-29
- Shelly Gen2+ System (Sys) Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Sys/) 2026-03-29
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/WiFi/) 2026-03-29
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-29
- Shelly Pro 4PM Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-pro-4pm) 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/)

