
Der Shelly 3EM ist ein 3-phasiger Wi-Fi-Stromzähler aus der ersten Generation der Shelly-Geräte (Gen1). Er misst Wirkleistung, Spannung, Strom, Leistungsfaktor und Lebenszeit-Energie unabhängig für jede der drei Phasen mit Hilfe der drei mitgelieferten 120 A Klappstromwandler und enthält ein eingebautes 10 A Relais, das typischerweise zur Ansteuerung der Spule eines externen Leistungsschützes verwendet wird. TapHome kommuniziert mit dem Gerät über MQTT — das Gerät schickt phasenweise Messwerte an einen Broker, das TapHome PacketParser-Modul abonniert den Topic-Baum shellies/# und leitet die Werte an vier Untergeräte weiter (3 Stromzähler + 1 Schützschalter).
Dies ist die MQTT-Variante der Shelly 3EM-Vorlage. Eine HTTP-Variante steht ebenfalls zur Verfügung — wähle MQTT, wenn bereits ein lokaler MQTT-Broker läuft, du Push-basierte Updates statt Polling möchtest oder den Zähler mit mehreren Konsumenten teilen musst (TapHome plus ein anderes System). Das Aktivieren von MQTT auf der Gen1-Firmware deaktiviert die Shelly Cloud — beide können nicht gleichzeitig laufen.
Konfiguration
MQTT im Shelly 3EM aktivieren
Öffne die Web-Oberfläche des Shelly 3EM (http://{device-ip} oder http://shelly3em-{MAC}.local) und konfiguriere den MQTT-Client:
- Gehe zu Internet & Security → Advanced - Developer Settings
- Setze den Haken bei Enable action execution via MQTT
- Trage in Server den Wert
{IP-Adresse des MQTT-Brokers}:{port}ein — typischerweise192.168.1.10:1883 - (Optional) Setze Username und Password, falls der Broker Authentifizierung verlangt
- Klicke SAVE — das Gerät startet neu und verbindet sich mit dem Broker
Gen1-Shelly-Geräte unterstützen kein MQTT über TLS. Die Kommunikation zwischen Gerät und Broker ist unverschlüsselter Plain TCP auf Port 1883. Benutzername und Passwort werden im Klartext übertragen. Nutze den MQTT-Broker nur in einem vertrauenswürdigen lokalen Netzwerk.
Das Aktivieren von MQTT deaktiviert die Shelly Cloud auf der Gen1-Firmware automatisch. Zum Zurücksetzen entferne den MQTT-Haken und aktiviere die Cloud unter Internet & Security wieder.
Device ID ermitteln
Die TapHome-Vorlage abonniert shellies/shellyem3-{dID}/#, wobei {dID} das MAC-Suffix des Geräts ist, das als MQTT-Topic-Präfix verwendet wird.
So findest du sie in der Shelly 3EM Web-Oberfläche:
- Öffne die Web-Oberfläche des Geräts im Browser
- Gehe zu Settings → Device Info
- Kopiere die erste Device-ID-Zeichenkette (NICHT den Wert in Klammern) — sie entspricht der MAC-Adresse der WLAN-Schnittstelle (z. B.
DC4F227649A1)
Alternativ rufe GET http://{device-ip}/settings auf und lies das Feld mqtt.id.
Vorlage einrichten
Setze nach dem Import der Vorlage in TapHome drei Importparameter:
| Parameter | Beschreibung | Beispiel |
|---|---|---|
| IpAddress | IP-Adresse des MQTT-Brokers | 192.168.1.10 |
| Port | Port des MQTT-Brokers | 1883 |
| dID | Device ID (MAC-Suffix) des Shelly 3EM | DC4F227649A1 |
Das Modul abonniert anschließend shellies/# (QoS 0), und Listener-Skripte leiten phasenweise Emeter- und Relais-Nachrichten an die entsprechenden Untergeräte weiter. Das Standard-MQTT-Aktualisierungsintervall des Geräts beträgt 30 Sekunden — es kann über GET http://{device-ip}/settings?mqtt_update_period=N reduziert werden (Wert 0 veröffentlicht nur bei Änderungen).
Das MQTT-Topic-Präfix in der Übertragung lautet
shellyem3-{MAC}, während der mDNS-Hostname des Gerätsshelly3em-{MAC}.localist — Shelly verwendet zwei verschiedene Formate für dasselbe Gerät. Die Vorlage folgt dem tatsächlichen MQTT-Topic-Präfix (shellyem3-). Wenn keine MQTT-Nachrichten ankommen, abonniereshellies/#mit einem MQTT-Client und prüfe, welches Präfix die Firmware tatsächlich verwendet.
Gerätefunktionen
Phasenweise Wirkleistung und Lebenszeit-Energie
Die Vorlage erstellt drei Stromzähler — einen für jede Phase (CT-Wandler 1 → Phase A, Wandler 2 → Phase B, Wandler 3 → Phase C). Jeder Zähler liest zwei Werte:
- Wirkleistung — Momentanleistung aus
shellies/shellyem3-{dID}/emeter/{i}/power(W), durch 1000 geteilt und als kW gespeichert - Gesamte verbrauchte Energie — kumulative Lebenszeit-Energie aus
.../emeter/{i}/total(Wh), durch 1000 geteilt und als kWh gespeichert
Jeder CT-Wandler ist für 120 A ausgelegt und nicht-invasiv (Klappausführung, kein Auftrennen des Leiters erforderlich). Die mitgelieferten 3 CT-Wandler sind individuell gekennzeichnet und kalibriert — sie sind zwischen den Kanälen NICHT austauschbar.
Phasenweise elektrische Parameter
Jeder Stromzähler stellt vier Service-Attribute für erweitertes Monitoring bereit:
- Spannung [V] — RMS-Spannung Außenleiter-Neutralleiter auf der jeweiligen Phase (
.../emeter/{i}/voltage) - Strom [A] — RMS-Strom, gemessen vom zugehörigen CT-Wandler (
.../emeter/{i}/current) - Leistungsfaktor — Verhältnis von Wirk- zu Scheinleistung, Bereich −1.00 bis 1.00 (
.../emeter/{i}/pf) - Zurückgespeiste Energie [Wh] — Lebenszeit-Energie, die ins Netz auf der jeweiligen Phase zurückgespeist wurde (
.../emeter/{i}/total_returned), nützlich für PV / bidirektionale Messung
Die Kombination aus total (verbraucht) und total_returned (eingespeist) pro Phase macht die Vorlage geeignet für Solar- / Netzeinspeise-Installationen.
Energie-Zähler zurücksetzen
Jede Phase hat eine Service-Aktion Reset Total, die reset_totals an shellies/shellyem3-{dID}/emeter/{i}/command veröffentlicht. Damit werden die Zähler total und total_returned für die jeweilige Phase auf null gesetzt — nützlich bei Umnutzung des Zählers oder beim Start einer neuen Messperiode.
Schützrelais
Das integrierte 10 A Relais wird als Schaltgerät bereitgestellt. Der Status wird aus shellies/shellyem3-{dID}/relay/0 gelesen (on → 1, alles andere → 0) und durch Veröffentlichen von on oder off auf .../relay/0/command gesteuert. Das Relais ist für 10 A / 240 V AC ausgelegt und wird typischerweise über die Klemmen I (Phaseneingang) und O (Relaisausgang) verdrahtet, um die Spule eines externen Leistungsschützes für höhere Lasten zu schalten.
Die MQTT-Vorlage veröffentlicht keine 3-Phasen-Gesamtleistungssumme (
total_powerist auf Gen1 nur per HTTP verfügbar). Erstelle ein virtuelles TapHome-Gerät, das die drei phasenweisen Leistungswerte addiert, falls du eine einzige Haushalts-Leistungszahl benötigst.
Fehlerbehebung
Keine MQTT-Nachrichten empfangen
- Bestätige, dass MQTT in der Shelly Web-Oberfläche aktiviert ist (Internet & Security → Advanced - Developer Settings → Enable action execution via MQTT) und das Gerät nach dem Speichern neu gestartet wurde
- Prüfe, dass Broker-IP und -Port im Gerät mit den Importparametern
IpAddress/Portin TapHome übereinstimmen - Abonniere
shellies/#mit einem MQTT-Client (z. B. MQTT Explorer,mosquitto_sub) und prüfe, ob das Gerät überhaupt etwas veröffentlicht — bestätige, dass das tatsächliche Topic-Präfix (shellyem3-{dID}) mit derdIDübereinstimmt, die du in TapHome eingetragen hast - Stelle sicher, dass der MQTT-Broker läuft und sowohl vom Shelly 3EM als auch vom TapHome Core erreichbar ist
- Falls sich die Geräte-IP kürzlich geändert hat, versuche eine Verbindung über den mDNS-Hostnamen
shelly3em-{MAC}.local, um die Erreichbarkeit im Netzwerk zu prüfen
Energiewerte zeigen Null oder unplausible Werte
- Bestätige, dass jeder CT-Wandler am richtigen Eingang angeschlossen ist — der mit
IAmarkierte Wandler muss an den KlemmenIA-/IA+,IBanIB-/IB+,ICanIC-/IC+liegen. Die Wandler sind kanalweise kalibriert und nicht austauschbar. - Prüfe, dass der Pfeil auf dem CT-Wandler-Gehäuse in Richtung des Stromflusses zeigt (von der Quelle zur Last). Ein verkehrt herum montierter Wandler erzeugt einen negativen Leistungsfaktor und kehrt die Klassifizierung Verbrauch / Einspeisung um.
- Stelle sicher, dass die Spannungseingänge
VA,VB,VCan den gleichen Phasen liegen, die die CT-Wandler messen — eine fehlerhafte Spannungs-/Strom-Zuordnung erzeugt falsche Leistungs- und Leistungsfaktorwerte. - Wenn eine einzelne Phase null anzeigt, während die anderen korrekt sind, tausche diesen CT-Wandler mit einem bekannt funktionierenden, um Wandler vs. Stromkreis zu isolieren.
MQTT lässt sich nicht aktivieren — Cloud ist aktiv
Auf der Gen1-Firmware schließen sich MQTT und Shelly Cloud gegenseitig aus. Wenn die Checkbox Enable action execution via MQTT ausgegraut ist, deaktiviere zuerst Shelly Cloud unter Internet & Security → Cloud und öffne dann erneut die MQTT-Einstellungen.
Shelly Cloud-Verlauf ist nach MQTT-Aktivierung verschwunden
Das ist erwartetes Verhalten — das Aktivieren von MQTT deaktiviert die Cloud einschließlich ihrer 365-tägigen Verlaufsspeicherung. Wenn du gleichzeitig Echtzeit-MQTT-Steuerung in TapHome und langfristige Historie benötigst, leite MQTT-Nachrichten über deinen eigenen Broker und halte die historischen Daten in TapHome (oder einem separaten Logging-System).
Jeder CT-Wandler muss immer an den Klemmen des Shelly 3EM angeschlossen sein, bevor er um einen spannungsführenden Leiter geklappt wird. Die an einer offenen CT-Sekundärwicklung induzierte Spannung kann gefährliche Werte erreichen und den Wandler beschädigen.