
Der Shelly EM ist ein einphasiger Energiezähler mit zwei unabhängigen Messkanälen und einem 2A-Relaisausgang zur Schützsteuerung. Jeder Kanal wird an einen externen Stromwandler (CT-Klemme) angeschlossen – erhältlich in 50A- und 120A-Varianten – was die nicht-invasive Überwachung von zwei separaten Stromkreisen gleichzeitig ermöglicht. Diese Vorlage verbindet sich über einen MQTT-Broker im lokalen Netzwerk mit dem Gerät. Eine Cloud-Verbindung ist nicht erforderlich.
Die Vorlage erstellt drei Geräte: zwei Stromzähler (einer pro CT-Kanal) zur Erfassung des kumulativen Energieverbrauchs und einen Schalter für das Schützrelais.
Konfiguration
Device ID
Der Shelly EM verwendet eine Device ID im Format shellyem-XXXXXX, wobei XXXXXX die letzten 6 Zeichen der MAC-Adresse in Hexadezimalformat sind (z. B. shellyem-B929CC). Beim Import der Vorlage geben Sie nur den Hexadezimalteil (z. B. B929CC) im Parameter Device ID ein.
Die Device ID finden Sie:
- In der Shelly-Weboberfläche: Settings > Device Info
- Über die API:
GET http://<device-ip>/settings– Feldmqtt.id
Dieses Gerät unterstützt mDNS Discovery. Sie können bei der MQTT-Broker-Konfiguration den Hostnamen
shellyem-{MAC}.localanstelle einer IP-Adresse verwenden. Ersetzen Sie{MAC}durch die vollständige MAC-Adresse in Hexadezimalformat (z. B.shellyem-b929cc.local). Die Verwendung eines Hostnamens verhindert Konnektivitätsprobleme bei Änderung der IP-Adresse des Geräts.
MQTT-Einrichtung
Aktivieren Sie vor dem Import der Vorlage MQTT auf dem Shelly EM:
- Öffnen Sie die Shelly-Weboberfläche unter
http://<device-ip> - Navigieren Sie zu Internet & Security > Advanced — Developer Settings
- Aktivieren Sie Enable action execution via MQTT
- Geben Sie im Feld Server die MQTT-Broker-Adresse im Format
broker-ip:1883ein - Klicken Sie auf SAVE
Bei Shelly Gen1-Geräten deaktiviert die Aktivierung von MQTT die Shelly Cloud. Beide Funktionen können nicht gleichzeitig betrieben werden.
Vorlagen-Einrichtung
Nach dem Import der Vorlage in TapHome:
- Setzen Sie die MQTT Broker IP auf die Adresse Ihres MQTT-Brokers
- Setzen Sie den MQTT Broker Port (Standard
1883) - Setzen Sie die Device ID auf den Hexadezimalteil der Device ID des Shelly EM (z. B.
B929CC)
Das Modul abonniert shellies/# und die Listener-Skripte auf jedem Gerät filtern Nachrichten nach der konfigurierten Device ID.
Gerätefunktionen
Energiemessung (pro Kanal)
Jeder Kanal wird in TapHome als unabhängiges Stromzähler-Gerät dargestellt. Das Listener-Skript abonniert zwei MQTT-Topics pro Kanal:
| Topic | Einheit | Beschreibung |
|---|---|---|
emeter/{i}/energy | Wattminuten | Kumulative Energie seit dem letzten Neustart – geteilt durch 60 000 zur Umrechnung in kWh |
emeter/{i}/total | Wh | Persistenter Gesamtenergieverbrauch – übersteht Neustarts |
Die Vorlage speichert beide Werte: Ed (Energie aus dem Wattminuten-Topic, umgerechnet in kWh) und To (Gesamtverbrauch in Wh aus dem persistenten Topic).
Das Topic
energywird beim Neustart des Geräts auf Null zurückgesetzt. Für die persistente Energieerfassung liest die Vorlage auch das Topictotal, das Neustarts übersteht.
Jeder Kanal stellt außerdem ein Spannung-Serviceattribut bereit, das die RMS-Netzspannung aus dem MQTT-Topic emeter/{i}/voltage ausliest.
Die Skripte
readtotalconsumptionundreaddemandsind auskommentierter Vorlagen-Boilerplate – alle Energiedaten kommen über den MQTT-Listener. Das bedeutet, die Vorlage liefert keine Echtzeit-Leistungsmessungen (W). Es werden nur kumulative Energie (kWh) und Gesamtverbrauch (Wh) erfasst. Die momentane Wirkleistung ist über das MQTT-Topicemeter/{i}/powerverfügbar, wird aber von dieser Vorlage nicht abonniert.
Schützrelais
Der Relaisausgang wird in TapHome als Schalter dargestellt. Das Relais ist für 2A / 230 VAC ausgelegt – es ist nur zur Schützsteuerung vorgesehen, nicht zum direkten Schalten von Lasten.
- Lesen: abonniert
shellies/shellyem-{id}/relay/0– Payloadon= ein,off= aus - Schreiben: veröffentlicht
onoderoffaufshellies/shellyem-{id}/relay/0/command
Das Relais ist nur für 2A ausgelegt. Verwenden Sie bei Lasten über diesem Wert immer ein externes Schütz. Der direkte Anschluss von Hochleistungslasten beschädigt das Relais.
Fehlerbehebung
Keine Energiedaten
- Überprüfen Sie, ob MQTT in der Shelly-Weboberfläche aktiviert ist (Internet & Security > Advanced – MQTT)
- Prüfen Sie, ob die MQTT-Broker-Adresse und der Port sowohl in den Shelly-Geräteeinstellungen als auch in den TapHome-Moduleinstellungen korrekt sind
- Prüfen Sie, ob die benutzerdefinierte Variable Device ID genau mit der Device ID des Shelly übereinstimmt (z. B.
B929CC) - Abonnieren Sie mit einem MQTT-Client (z. B. MQTT Explorer) das Topic
shellies/#und überprüfen Sie, ob das Gerät die Topicsemeter/0/energyundemeter/1/energyveröffentlicht
Daten nur von einem Kanal
- Überprüfen Sie, ob die CT-Klemme in die richtige 3,5-mm-Buchse eingesteckt ist (Kanal 0 oder Kanal 1)
- Prüfen Sie, ob Strom durch den überwachten Leiter fließt – die CT-Klemme muss einen einzelnen Leiter umschließen, nicht das gesamte Kabel
- Abonnieren Sie die Topics
shellies/shellyem-{id}/emeter/0/#undshellies/shellyem-{id}/emeter/1/#separat und überprüfen Sie, ob beide Kanäle Daten veröffentlichen
Relais reagiert nicht
- Prüfen Sie, ob der Shelly EM mit Strom versorgt ist und mit dem MQTT-Broker verbunden ist
- Veröffentlichen Sie manuell
onoderoffaufshellies/shellyem-{id}/relay/0/commandüber einen MQTT-Client, um die Relaisfunktion unabhängig von TapHome zu testen - Überprüfen Sie die korrekte Verdrahtung des Relaisausgangs (kontrollieren Sie die Klemmenbeschriftung am Gerät)
Shelly Gen1-Geräte unterstützen kein MQTT über TLS. Die Kommunikation zwischen dem Gerät und dem MQTT-Broker ist unverschlüsselt (Plain MQTT, Port 1883). Stellen Sie sicher, dass der MQTT-Broker sich in einem vertrauenswürdigen lokalen Netzwerk befindet.