
Der Shelly EM ist ein Einphasen-Energiezähler mit zwei unabhängigen Messkanälen und einem 2A-Relaisausgang zur Schützsteuerung. Jeder Kanal wird an eine externe CT-Klemme (Stromwandler) angeschlossen — erhältlich in 50A- und 120A-Varianten — was die nicht-invasive Überwachung von zwei separaten Stromkreisen gleichzeitig ermöglicht. TapHome integriert sich lokal über WLAN mit dem Gerät über die HTTP REST API oder MQTT. Keine Cloud-Verbindung erforderlich.
Es stehen zwei TapHome-Vorlagen zur Verfügung: eine HTTP-Vorlage, die die REST-Endpunkte des Geräts abfragt, und eine MQTT-Vorlage, die Daten über einen MQTT-Broker empfängt. Beide stellen die gleichen drei Geräte bereit — zwei Energiezähler (einen pro Kanal) und einen Schützschalter.
Konfiguration
HTTP-Vorlage
Die HTTP-Vorlage benötigt nur die IP-Adresse des Geräts (oder den mDNS-Hostnamen). TapHome fragt alle 15 Sekunden drei Endpunkte ab:
/emeter/0/— Energiedaten Kanal 1/emeter/1/— Energiedaten Kanal 2settings/relay/0— Relaisstatus und Zeitplanprüfung
Das Leseskript auf Modulebene speichert jede Antwort in einer eigenen Variable (emeterZero, emeterOne, status), sodass die Geräteskripte die Daten ohne redundante HTTP-Aufrufe parsen können.
Die Vorlage prüft auch den Zeitplanstatus des Relais aus
settings/relay/0. Wenn die interne Zeitplanung auf dem Shelly-Gerät aktiviert ist, meldet die Vorlage einen Fehler — deaktivieren Sie die Zeitplanung in der Shelly-Weboberfläche, um Konflikte mit TapHome-Automatisierungen zu vermeiden.
MQTT-Vorlage
Die MQTT-Vorlage benötigt die Broker-IP, den Port und die Shelly Device ID (Format: shellyem-XXXXXXXXXXXX, wobei X = MAC-Hex-Ziffern). Die Device ID finden Sie in der Shelly-Weboberfläche unter Settings > Device Info.
Nach Aktivierung von MQTT auf dem Shelly EM (Internet & Security > Advanced — MQTT) abonniert TapHome die Topics shellies/shellyem-{deviceID}/ und empfängt Daten über Listener-Skripte.
Bei Gen1-Shelly-Geräten deaktiviert das Aktivieren von MQTT die Shelly Cloud. Beides kann nicht gleichzeitig betrieben werden.
Gerätefunktionen
Energiemessung (pro Kanal)
Jeder Kanal wird in TapHome als unabhängiger Energiezähler bereitgestellt:
- Momentanleistung — Wirkleistung in kW (von W umgerechnet durch Division durch 1000)
- Kumulative Energie — gesamter Energieverbrauch in kWh (HTTP: von Wh umgerechnet; MQTT: nutzt das persistente Topic
totalin Wh)
Die HTTP-Vorlage liest die Felder power und total aus der JSON-Antwort von /emeter/{i}/. Die MQTT-Vorlage lauscht auf das Topic emeter/{i}/energy (Watt-Minuten, geteilt durch 60.000 für kWh) und das Topic emeter/{i}/total (Watt-Stunden, über Neustarts hinweg persistent).
Das MQTT-Topic
energywird beim Geräteneustart auf Null zurückgesetzt. Für persistente Energieerfassung liest die Vorlage auch das Topictotal, das Neustarts übersteht.
Jeder Kanal stellt außerdem drei Serviceattribute bereit:
| Attribut | Einheit | Beschreibung |
|---|---|---|
| Spannung | V | Effektive Netzspannung |
| Rücklieferenergie | Wh | Gesamte ins Netz zurückgespeiste Energie — für Solar-/bidirektionale Messung |
| Blindleistung | VAR | Momentane Blindleistung |
Die MQTT-Vorlage stellt nur die Spannung als Serviceattribut pro Kanal bereit. Blindleistung und Rücklieferenergie sind nur in der HTTP-Vorlage verfügbar.
Schützschalter
Der Relaisausgang wird in TapHome als Schalter bereitgestellt. Das Relais ist für 2A / 230 VAC ausgelegt — es ist ausschließlich zur Schützsteuerung konzipiert, nicht zum direkten Schalten von Lasten.
- HTTP: liest
isonaussettings/relay/0und steuert über/relay/0?turn=onoder/relay/0?turn=off - MQTT: liest vom Topic
shellies/shellyem-{id}/relay/0und publizierton/offaufshellies/shellyem-{id}/relay/0/command
Das Relais ist nur für 2A ausgelegt. Verwenden Sie für Lasten, die diese Nennlast überschreiten, stets einen externen Schütz. Direkter Anschluss von Hochleistungslasten beschädigt das Relais.
Weitere Funktionen
Der Shelly EM bietet außerdem Leistungsfaktor (0,00–1,00) und ein Messgültigkeitsflag pro Kanal, Kanalkonfiguration (CT-Verhältnis, maximale Leistungsgrenze), Energiezähler-Reset, Auto-Off-Timer am Relais und Wi-Fi-Signalstärke. Über MQTT sind zusätzliche Topics für Echtzeit-Leistung, Blindleistung und Rücklieferenergie pro Kanal verfügbar. Diese Funktionen können in einer zukünftigen Vorlagenaktualisierung hinzugefügt werden.
Fehlerbehebung
Gerät antwortet nicht (HTTP)
- Überprüfen Sie, dass der Shelly EM mit dem WLAN verbunden ist und eine gültige IP-Adresse hat
- Öffnen Sie
http://{device-ip}/shellyim Browser — wenn er mit einem JSON antwortet, das"type":"SHEM"enthält, ist das Gerät erreichbar - Stellen Sie sicher, dass TapHome CCU und Shelly EM im selben Netzwerk / VLAN sind
Keine Daten auf einem Kanal
- Überprüfen Sie, dass die CT-Klemme in die richtige 3,5mm-Buchse eingesteckt ist (Kanal 0 oder Kanal 1)
- Stellen Sie sicher, dass Strom durch den überwachten Leiter fließt — die CT-Klemme muss einen einzelnen Leiter umschließen, nicht das gesamte Kabel
- Fragen Sie
/emeter/0/und/emeter/1/manuell ab und bestätigen Sie Nicht-Null-Werte fürpower
MQTT-Nachrichten kommen nicht an
- Bestätigen Sie, dass MQTT in der Shelly-Weboberfläche aktiviert ist (Internet & Security > Advanced — MQTT)
- Überprüfen Sie, dass Broker-Adresse und Port sowohl im Shelly-Gerät als auch in den TapHome-Moduleinstellungen korrekt sind
- Prüfen Sie, dass die Variable
deviceIDexakt mit der Shelly Device ID übereinstimmt (z.B.B929CC) - Verwenden Sie einen MQTT-Client (z.B. MQTT Explorer), um
shellies/#zu subscriben und zu verifizieren, dass das Gerät Nachrichten publiziert
Zeitplankonflikt-Fehler
Die HTTP-Vorlage prüft das Feld schedule in settings/relay/0. Wenn das Shelly-Gerät eine interne Zeitplanung aktiviert hat, meldet die Vorlage einen Fehler. Deaktivieren Sie die Zeitplanung in der Shelly-Weboberfläche (Settings > Relay > Schedule) — verwenden Sie stattdessen TapHome-Automatisierungen.
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. Erwägen Sie den Wechsel zur MQTT-Vorlage für Multi-System-Umgebungen.