---
title: "Shelly Pro 3EM"
description: "Shelly Pro 3EM Dreiphasen-Energiezähler mit externen Stromwandlern. Leistung, Strom, Spannung und bidirektionale Energie pro Phase über HTTP in TapHome."
url: "https://taphome.com/de/compatibility/shelly-pro-3-em/"
language: de
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","electric-meter","3-phase","wifi","energy-metering","mdns","bidirectional"]
  questions: ["Wie integriert man Shelly Pro 3EM mit TapHome?","Was misst die Shelly Pro 3EM Vorlage in TapHome?","Wie verbindet man Shelly Pro 3EM über HTTP mit TapHome?","Kann TapHome Netzeinspeisung und -bezug getrennt mit Shelly Pro 3EM überwachen?","Was ist der Unterschied zwischen Shelly Pro 3EM und 3EM Gen3 in TapHome?","Wie verwendet man den mDNS-Hostnamen für Shelly Pro 3EM in TapHome?"]
---

# Shelly Pro 3EM

Kommunikation: Packet Parser → HTTP

- [Shelly Pro 3EM Produktseite](https://www.shelly.com/en/products/shop/shelly-pro-3-em)

> 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 3EM ist ein professioneller Dreiphasen-Energiezähler für die DIN-Hutschiene, der für den Einsatz mit externen Stromwandlern konzipiert ist. Er ist in drei Varianten erhältlich — Pro 3EM (CT 120 A), Pro 3EM-400 (CT 400 A) und Pro 3EM-3CT63 (integrierte CT 63 A). Das Gerät verbindet sich über Wi-Fi oder Ethernet (RJ45) mit dem lokalen Netzwerk und stellt Echtzeitmessungen über die Gen2+ HTTP RPC API bereit. TapHome fragt das Gerät per HTTP auf Port 80 ab — eine Cloud-Verbindung ist nicht erforderlich.

Die Vorlage enthält elf Geräte für bidirektionale Energiemessung: Stromsensoren pro Phase (L1, L2, L3), From Grid und To Grid Energiezähler pro Phase sowie Gesamt-From Grid und Gesamt-To Grid Energiezähler. Die From Grid Geräte erfassen den Energiebezug aus dem Netz, die To Grid Geräte die Netzeinspeisung (z. B. aus Solaranlagen) — der Leistungswert wird invertiert, damit die Einspeisung als positive Zahl dargestellt wird.

## Hardwareanschluss

Der Shelly Pro 3EM wird auf einer Standard-DIN-Hutschiene (94 × 19 × 69 mm) montiert. Er benötigt vier Spannungseingänge (drei Phasenleiter + Neutralleiter) über Schraubklemmen sowie vier externe CT-Eingänge (drei Phasen + Neutralleiter). Die Spannungsversorgung erfolgt zwischen einer beliebigen Phase und dem Neutralleiter (100–260 V AC, 50/60 Hz).

Wichtige Hinweise zur Verdrahtung:

- **Spannungseingänge:** LA, LB, LC (je einer pro Phase) + N (Neutralleiter)
- **CT-Eingänge:** Drei Phasen-CTs + ein Neutral-CT, jeweils an den entsprechenden CT-Eingangsbuchsen angeschlossen
- **Ethernet:** Ein RJ45-Anschluss für die LAN-Verbindung (Stromversorgung vor dem Ein-/Ausstecken des LAN-Kabels trennen)
- **Leiterquerschnitt:** 0,5–2,5 mm² (20–14 AWG), Abisolierlänge 6–7 mm, max. Anzugsmoment 0,4 Nm

> [!WARNING]
> Der externe Schutz muss für max. 16 A mit Charakteristik B oder C und einem minimalen Ausschaltvermögen von 6 kA ausgelegt sein. Der Betriebsspannungsbereich beträgt 100–260 V pro Phase.

## Konfiguration

Der Shelly Pro 3EM verbindet sich über Wi-Fi oder Ethernet. Beim Import der TapHome-Vorlage geben Sie die IP-Adresse des Geräts ein (Standard-Platzhalter `192.168.0.1`).

### Authentifizierung

TapHome unterstützt keine HTTP Digest Authentication. Stellen Sie sicher, dass die Authentifizierung am Shelly-Gerät **deaktiviert** ist, bevor Sie es zu TapHome hinzufügen. Die Einstellung finden Sie in der Shelly-Weboberfläche unter Einstellungen → Authentifizierung.

### CT-Typ-Auswahl

Nach dem Anschluss der Stromwandler konfigurieren Sie den CT-Typ über die Shelly-Weboberfläche oder durch Aufruf von `EM.SetConfig` mit dem entsprechenden `ct_type`-Wert. Mit `EM.GetCTTypes` können Sie die unterstützten Typen auflisten (typischerweise `120A` und `400A`). Ist der CT-Typ nicht gesetzt, meldet das Gerät einen `ct_type_not_set`-Fehler und Messungen sind nicht verfügbar.

### Phasen-zu-Phasen-Kalibrierung

Der Pro 3EM unterstützt eine Kanal-zu-Kanal-Kalibrierung zur Verbesserung der Messgenauigkeit zwischen den Phasen. Die Kalibrierung erfordert eine Mindestlast von 500 W pro Kanal und dauert etwa 5 Sekunden. Verwenden Sie `EM.PhaseToPhaseCalib` zur Kalibrierung und `EM.PhaseToPhaseCalibReset` zum Zurücksetzen auf Werkseinstellungen.

### ECO-Modus

Wenn der ECO-Modus am Shelly-Gerät aktiviert ist, kann dies zu Kommunikationsausfällen führen, da TapHome das Gerät im 3-Sekunden-Abfrageintervall abfragt. Deaktivieren Sie den ECO-Modus für einen zuverlässigen Betrieb.

## Gerätefunktionen

### Strommessung pro Phase

Drei Stromsensoren (L1 Current, L2 Current, L3 Current) melden den Augenblicksstrom in Ampere für jede Phase, direkt aus den Feldern `a_current`, `b_current` und `c_current` von `EM.GetStatus` gelesen. Es handelt sich um einfache Sensorwerte ohne Einheitenumrechnung.

### Bidirektionale Energiemessung pro Phase

Jede Phase verfügt über zwei Energiezähler — From Grid und To Grid:

- **L1/L2/L3 From Grid** — aus dem Netz bezogene Wirkleistung (W, in kW umgerechnet) und kumulierter Netzbezug (Wh, in kWh umgerechnet). Jedes From Grid Gerät stellt zusätzlich vier Service-Attribute bereit: Leistungsfaktor, Strom [A], Spannung [V] und Gesamte zurückgespeiste Energie [kWh].
- **L1/L2/L3 To Grid** — ins Netz eingespeiste Wirkleistung (W, durch −1000 geteilt, damit Einspeisung als positives kW dargestellt wird) und kumulierte zurückgespeiste Energie (Wh, in kWh umgerechnet). Die To Grid Geräte haben keine Service-Attribute.

Die Service-Attribute der From Grid Geräte liefern ein vollständiges Bild pro Phase: Augenblicksstrom und -spannung, Leistungsfaktor zur Beurteilung der Energiequalität sowie einen Zähler für die zurückgespeiste Energie zur kumulativen Einspeisungsüberwachung neben dem Netzbezugszähler.

### Bidirektionale Gesamtenergiezählung

Zwei Zusammenfassungsgeräte aggregieren alle drei Phasen:

- **Total From Grid** — kombinierte 3-Phasen-Wirkleistung (kW) und gesamter kumulierter Netzbezug (kWh)
- **Total To Grid** — kombinierte 3-Phasen-Rückspeiseleistung (kW, invertiert) und gesamte kumulierte Netzeinspeisung (kWh)

Alle Geräte verwenden ein 3-Sekunden-Abfrageintervall, das dem Modullesezyklus entspricht.

### Weitere Funktionen

Der Shelly Pro 3EM stellt nativ auch Scheinleistung pro Phase und gesamt, Neutralleiterstrom (einzigartig beim Pro-Modell — beim 3EM Gen3 nicht verfügbar), Netzfrequenz pro Phase, Gesamtstrom über alle Phasen sowie Moduldiagnostik (Wi-Fi SSID, IP-Adresse, Signalstärke, MAC-Adresse) bereit. Firmware-Update und Neustart sind ebenfalls über die RPC API verfügbar. Phasenfolgefehlererkennung und bis zu 60 Tage Datenprotokollierung mit 1-Minuten-Auflösung und CSV/JSON-Export werden nativ unterstützt. Diese Funktionen können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

## Fehlerbehebung

### Gerät antwortet nicht

1. Überprüfen Sie, ob Shelly mit Wi-Fi oder LAN verbunden ist und eine gültige IP-Adresse hat
2. Versuchen Sie, den mDNS-Hostnamen (`ShellyPro3EM-XXXXXXXXXXXX.local`) statt der IP-Adresse zu verwenden — die IP-Adresse kann sich nach einer DHCP-Erneuerung geändert haben
3. Öffnen Sie `http://{geräte-ip}/rpc/Shelly.GetDeviceInfo` im Browser — wenn es mit JSON antwortet, ist das Gerät erreichbar
4. Stellen Sie sicher, dass TapHome Core und Shelly im gleichen Netzwerk / VLAN sind

### Fehler ct_type_not_set

Wenn die EM- oder EMData-Komponente einen `ct_type_not_set`-Fehler meldet, wurde der Stromwandlertyp nicht konfiguriert. Setzen Sie den CT-Typ über die Shelly-Weboberfläche oder durch Aufruf von `EM.SetConfig` mit dem entsprechenden `ct_type`-Wert. Mit `EM.GetCTTypes` können Sie die unterstützten Typen auflisten.

### Phasenfolge-Fehler

Wenn der `phase_sequence`-Fehler in `EM.GetStatus` erscheint, sind die Phasen in umgekehrter Reihenfolge angeschlossen (A-C-B statt A-B-C). Entweder die Phasen in der richtigen Reihenfolge neu verdrahten oder `monitor_phase_sequence` in der EM-Konfiguration deaktivieren, wenn die umgekehrte Reihenfolge beabsichtigt ist.

### Negative oder Null-Werte bei To Grid Geräten

Die To Grid Geräte verwenden eine invertierte Umrechnung (Division durch −1000), um Netzeinspeisung als positive Zahl darzustellen. Findet keine Einspeisung statt (das System bezieht nur Strom), zeigt der To Grid Leistungswert null oder negativ an. Dies ist das erwartete Verhalten — das From Grid Gerät erfasst den Verbrauch, das To Grid Gerät die Einspeisung.

> [!NOTE]
> Shelly Gen2+/Gen3-Geräte unterstützen bis zu **6 gleichzeitige HTTP-Verbindungen**. Jedes Abfragesystem (TapHome, Home Assistant usw.) belegt Verbindungen. Vermeiden Sie es, zu viele Integrationen gleichzeitig auf demselben Gerät zu betreiben.

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

Diese Geräte erscheinen nach dem Import in TapHome.

Shelly Pro 3 EM Modul

Benutzerdefinierte Variablen

Lesen (Modul)

```taphome
VAR response := SENDHTTPREQUEST("/rpc/EM.GetStatus?id=0");
IF response.IsSuccess
    EMStatus := response.Content;
END;

response := SENDHTTPREQUEST("/rpc/EMData.GetStatus?id=0");
IF response.IsSuccess
    EMDataStatus := response.Content;
END
```

L1 Strom Variable Nur lesen

numeric Einheit: A json\_path

Lesen

```taphome
todouble(PARSEjson(EMStatus, "a_current"))
```

L1 From Grid Stromzähler Nur lesen

Phase A Wirkleistung (kW) und kumulierter Netzbezug (kWh), mit Spannung, Strom, Leistungsfaktor und zurückgespeister Energie

numeric Einheit: kW / kWh json\_path

Serviceattribute

|                                 |                                                               |
|---------------------------------|---------------------------------------------------------------|
| Leistungsfaktor                 |                                                               |
| Strom                           |                                                               |
| Spannung                        |                                                               |
| Gesamte zurückgespeiste Energie | Phase A kumulierte zurückgespeiste (Einspeise-)Energie in kWh |

Gesamtverbrauch lesen

```taphome
todouble(PARSEjson(EMDataStatus, "a_total_act_energy"))/1000
```

Bedarf lesen

```taphome
todouble(PARSEjson(EMStatus, "a_act_power"))/1000
```

Serviceattribute

power factor

```taphome
RETURN(todouble(PARSEjson(EMStatus, "a_pf")));
```

Current \[A]

```taphome
RETURN(todouble(PARSEjson(EMStatus, "a_current")));
```

voltage \[V]

```taphome
RETURN(todouble(PARSEjson(EMStatus, "a_voltage")));
```

Total returned energy \[kWh]

```taphome
RETURN(todouble(PARSEjson(EMDataStatus, "a_total_act_ret_energy"))/1000);
```

L1 To Grid Stromzähler Nur lesen

Phase A zurückgespeiste Leistung (kW, invertiert) und kumulierte ins Netz eingespeiste Energie (kWh)

numeric Einheit: kW / kWh json\_path

Gesamtverbrauch lesen

```taphome
todouble(PARSEjson(EMDataStatus, "a_total_act_ret_energy"))/1000
```

Bedarf lesen

```taphome
todouble(PARSEjson(EMStatus, "a_act_power"))/-1000
```

L2 Strom Variable Nur lesen

numeric Einheit: A json\_path

Lesen

```taphome
todouble(PARSEjson(EMStatus, "b_current"))
```

L2 From Grid Stromzähler Nur lesen

Phase B Wirkleistung (kW) und kumulierter Netzbezug (kWh), mit Spannung, Strom, Leistungsfaktor und zurückgespeister Energie

numeric Einheit: kW / kWh json\_path

Serviceattribute

|                                 |                                                               |
|---------------------------------|---------------------------------------------------------------|
| Leistungsfaktor                 |                                                               |
| Strom                           |                                                               |
| Spannung                        |                                                               |
| Gesamte zurückgespeiste Energie | Phase B kumulierte zurückgespeiste (Einspeise-)Energie in kWh |

Gesamtverbrauch lesen

```taphome
todouble(PARSEjson(EMDataStatus, "b_total_act_energy"))/1000
```

Bedarf lesen

```taphome
todouble(PARSEjson(EMStatus, "b_act_power"))/1000
```

Serviceattribute

power factor

```taphome
RETURN(todouble(PARSEjson(EMStatus, "b_pf")));
```

current [A[

```taphome
RETURN(todouble(PARSEjson(EMStatus, "b_current")));
```

voltage \[V]

```taphome
RETURN(todouble(PARSEjson(EMStatus, "b_voltage")));
```

total returned energy \[kWh]

```taphome
RETURN(todouble(PARSEjson(EMDataStatus, "b_total_act_ret_energy"))/1000);
```

L2 To Grid Stromzähler Nur lesen

Phase B zurückgespeiste Leistung (kW, invertiert) und kumulierte ins Netz eingespeiste Energie (kWh)

numeric Einheit: kW / kWh json\_path

Gesamtverbrauch lesen

```taphome
todouble(PARSEjson(EMDataStatus, "b_total_act_ret_energy"))/1000
```

Bedarf lesen

```taphome
todouble(PARSEjson(EMStatus, "b_act_power"))/-1000
```

L3 Strom Variable Nur lesen

numeric Einheit: A json\_path

Lesen

```taphome
todouble(PARSEjson(EMStatus, "c_current"))
```

L3 From Grid Stromzähler Nur lesen

Phase C Wirkleistung (kW) und kumulierter Netzbezug (kWh), mit Spannung, Strom, Leistungsfaktor und zurückgespeister Energie

numeric Einheit: kW / kWh json\_path

Serviceattribute

|                                 |                                                               |
|---------------------------------|---------------------------------------------------------------|
| Leistungsfaktor                 |                                                               |
| Strom                           |                                                               |
| Spannung                        |                                                               |
| Gesamte zurückgespeiste Energie | Phase C kumulierte zurückgespeiste (Einspeise-)Energie in kWh |

Gesamtverbrauch lesen

```taphome
todouble(PARSEjson(EMDataStatus, "c_total_act_energy"))/1000
```

Bedarf lesen

```taphome
todouble(PARSEjson(EMStatus, "c_act_power"))/1000
```

Serviceattribute

power factor

```taphome
RETURN(todouble(PARSEjson(EMStatus, "c_pf")));
```

current \[A]

```taphome
RETURN(todouble(PARSEjson(EMStatus, "c_current")));
```

voltage \[V]

```taphome
RETURN(todouble(PARSEjson(EMStatus, "c_voltage")));
```

Total returned energy \[kWh]

```taphome
RETURN(todouble(PARSEjson(EMDataStatus, "c_total_act_ret_energy"))/1000);
```

L3 To Grid Stromzähler Nur lesen

Phase C zurückgespeiste Leistung (kW, invertiert) und kumulierte ins Netz eingespeiste Energie (kWh)

numeric Einheit: kW / kWh json\_path

Gesamtverbrauch lesen

```taphome
todouble(PARSEjson(EMDataStatus, "c_total_act_ret_energy"))/1000
```

Bedarf lesen

```taphome
todouble(PARSEjson(EMStatus, "c_act_power"))/-1000
```

Total From Grid Stromzähler Nur lesen

Kombinierte 3-Phasen-Wirkleistung (kW) und kumulierter Gesamt-Netzbezug (kWh)

numeric Einheit: kW / kWh json\_path

Gesamtverbrauch lesen

```taphome
todouble(PARSEjson(EMDataStatus, "total_act"))/1000
```

Bedarf lesen

```taphome
todouble(PARSEjson(EMStatus, "total_act_power"))/1000
```

Total To Grid Stromzähler Nur lesen

Kombinierte 3-Phasen-Rückspeiseleistung (kW, invertiert) und kumulierte Gesamt-Netzeinspeisung (kWh)

numeric Einheit: kW / kWh json\_path

Gesamtverbrauch lesen

```taphome
todouble(PARSEjson(EMDataStatus, "total_act_ret"))/1000
```

Bedarf lesen

```taphome
todouble(PARSEjson(EMStatus, "total_act_power"))/-1000
```

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

Mögliche Verbesserungen (14)

- Phase A Apparent Power — Apparent power in VA, available per phase — could complement active power
- Total Apparent Power — Sum of apparent power on all phases \[VA]
- Neutral Current — Current on neutral conductor \[A] — Pro 3EM supports this (unlike 3EM Gen3)
- Grid Frequency — Network frequency in Hz, available per phase — not exposed as device or SA
- Total Current — Sum of current on all three phases \[A]
- MAC Address — No module-level service attributes in this template (unlike 3EM Gen3)
- WiFi SSID — No module-level service attributes in this template (unlike 3EM Gen3)
- Signal Strength — WiFi RSSI in dBm — not polled by module readscript
- Firmware Update — No module-level service actions in this template (unlike 3EM Gen3)
- Reboot — No module-level service actions in this template (unlike 3EM Gen3)
- Uptime — Seconds since last reboot
- Free RAM — Available RAM in bytes
- Total Returned Energy (dedicated) — Already implemented as Total To Grid device (readtotalconsumption), listed for completeness
- Phase Sequence Monitoring — Enable/disable phase sequence error detection via EM.SetConfig

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

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

## Quellen

- Shelly Gen2+ RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-28
- Shelly Gen2+ Sys Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Sys/) 2026-03-28
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/WiFi/) 2026-03-28
- Home Assistant Shelly Integration (Gen2+)
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-28
- Shelly Pro 3EM Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-pro-3em) 2026-03-28
- Shelly Gen2+ EM Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/EM/) 2026-03-28
- Shelly Gen2+ EMData Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/EMData/) 2026-03-28

## 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/)

