
Das Shelly Plus 1PM ist ein kompaktes Gen2+ WLAN-Relais mit integrierter Leistungsmessung. Es passt hinter einen Standard-Wandschalter und kann einen Stromkreis bis 16 A (3500 W bei 230 V AC) oder 10 A (30 V DC) steuern. Dies ist die MQTT-Variante der TapHome-Vorlage — das Gerät kommuniziert über einen MQTT-Broker anstelle von direktem HTTP-Polling, was in Umgebungen mit mehreren Controllern oder wenn sich das Gerät in einem anderen VLAN befindet nützlich ist.
Die Vorlage enthält zwei Geräte: einen Stromzähler für Leistungs- und Energieüberwachung und einen Schalter für die Relaissteuerung. Drei Serviceattribute auf Modulebene zeigen interne Temperatur, Spannung und Strom an.
Konfiguration
MQTT Client ID
Jedes Shelly Plus 1PM hat eine eindeutige MQTT Client ID im Format shellyplus1pm-<DEVICEID>, wobei <DEVICEID> die 12-stellige hexadezimale MAC-Adresse ist (z. B. shellyplus1pm-AABBCCDDEE00).
Die Client ID finden Sie:
- In der Shelly Web-Oberfläche: Settings → MQTT → Client ID
- Über API:
GET http://<device-ip>/rpc/MQTT.GetConfig→ Feldclient_id - Auf dem Geräteetikett (MAC-Adresse)
Dieses Gerät unterstützt mDNS-Discovery. Sie können den Hostnamen
shellyplus1pm-{MAC}.localanstelle einer IP-Adresse verwenden, um die Konnektivität zu prüfen. Ersetzen Sie{MAC}durch die vollständige MAC-Adresse des Geräts in hexadezimaler Kleinschreibung (z. B.shellyplus1pm-aabbccddee00.local).
MQTT aktivieren
- Öffnen Sie die Shelly Web-Oberfläche:
http://<device-ip>/ - Navigieren Sie zu Settings → MQTT
- Aktivieren Sie MQTT
- Setzen Sie Server:
<broker-ip>:<port>(z. B.192.168.1.10:1883) - Die Client ID ist automatisch ausgefüllt — belassen Sie sie unverändert, es sei denn, Sie haben einen bestimmten Grund sie zu ändern
- Klicken Sie auf Save und starten Sie das Gerät neu
Um die MQTT-Funktion zu überprüfen, verwenden Sie einen MQTT-Client (z. B. MQTT Explorer) und abonnieren Sie
shellyplus1pm-<DEVICEID>/#. Sie sollten Statusnachrichten vom Gerät sehen, einschließlichshellyplus1pm-<DEVICEID>/status/switch:0.
Vorlageneinrichtung
Nach dem Import der Vorlage in TapHome:
- Öffnen Sie das Shelly Plus 1PM MQTT Module
- Setzen Sie die MQTT Broker IP und den Port (Standard
1883) - Setzen Sie die Variable plug1topic auf die MQTT Client ID Ihres Shelly Plus 1PM (z. B.
shellyplus1pm-AABBCCDDEE00)
Das Modul abonniert {plug1topic}/status/switch:0 und veröffentlicht Steuerbefehle an {plug1topic}/command/switch:0.
Gerätefähigkeiten
Leistungsmessung
Der Stromzähler liest zwei Werte aus der MQTT-Statusnachricht {plug1topic}/status/switch:0:
- Momentanleistung —
apowerin Watt gemeldet, von der Vorlage in kW umgerechnet (Division durch 1000) - Kumulativer Energieverbrauch —
aenergy.totalin Wattstunden gemeldet, von der Vorlage in kWh umgerechnet (Division durch 1000)
Der Zähler ist schreibgeschützt — er aktualisiert sich automatisch, wenn das Gerät eine Statusnachricht an den MQTT-Broker sendet.
Relaissteuerung
Der Schalter steuert das Relais:
- Status lesen — abonniert
{plug1topic}/status/switch:0und liest das boolesche Feldoutput - Status schreiben — veröffentlicht
onoderoffan{plug1topic}/command/switch:0
Das Relais unterstützt Lasten bis 3500 W / 16 A bei 230 V AC.
Diagnose
Drei Serviceattribute auf Modulebene werden aus demselben JSON-Payload status/switch:0 geparst:
| Attribut | Einheit | Beschreibung |
|---|---|---|
| Interne Temperatur | °C | Interne Gerätetemperatur — überwacht den thermischen Zustand von Relais und PCB |
| Spannung | V | Wechselstrom-Versorgungsspannung am Relaiseingang |
| Strom | A | Laststrom durch den Relaisausgang |
Alle drei Attribute zeigen „Unknown" an, bis die erste MQTT-Statusnachricht eintrifft (Anfangswert ist NaN).
Weitere Fähigkeiten
Das Shelly Plus 1PM bietet auch Leistungsfaktor, Netzfrequenz, rückgespeiste Energie (für bidirektionale Messung), physischen Eingangsstatus, Toggle-Befehl, Auto-Off-Timer und eine erzwungene Statusaktualisierung über seine MQTT-API. Diese Fähigkeiten können in einem zukünftigen Vorlagen-Update hinzugefügt werden.
Fehlerbehebung
MQTT-Nachrichten kommen nicht an
- Überprüfen Sie, dass MQTT in der Shelly Web-Oberfläche aktiviert ist (Settings → MQTT)
- Stellen Sie sicher, dass Broker-Adresse und Port sowohl in den Shelly-Geräteeinstellungen als auch in den TapHome-Moduleinstellungen korrekt sind
- Prüfen Sie, ob die Variable
plug1topicexakt mit der MQTT Client ID des Shelly übereinstimmt (z. B.shellyplus1pm-AABBCCDDEE00) - Verwenden Sie einen MQTT-Client (z. B. MQTT Explorer) und abonnieren Sie
shellyplus1pm-#, um zu überprüfen, ob das Gerät Nachrichten sendet
Leistungsmessung zeigt Null
- Stellen Sie sicher, dass die Last über das Shelly-Relais angeschlossen ist (nicht umgangen)
- Prüfen Sie, ob das Relais eingeschaltet ist — der Zähler misst nur bei Stromfluss durch das Relais
- Abonnieren Sie
{plug1topic}/status/switch:0mit einem MQTT-Client und prüfen Sie, obapowereinen Wert ungleich Null zurückgibt
Relais reagiert nicht auf Befehle
- Überprüfen Sie, ob TapHome den MQTT-Broker erreichen kann (korrekte IP und Port in den Moduleinstellungen)
- Prüfen Sie, ob der Wert von
plug1topicmit der MQTT Client ID des Geräts übereinstimmt - Testen Sie durch Veröffentlichung von
onan{plug1topic}/command/switch:0über einen MQTT-Client — das Relais sollte einschalten
Diagnose zeigt „Unknown"
- Alle drei Serviceattribute (Temperatur, Spannung, Strom) zeigen „Unknown" bis zum Eintreffen der ersten Statusnachricht
- Wenn die Werte nach dem Einschalten des Geräts „Unknown" bleiben, prüfen Sie, ob die MQTT-Verbindung aktiv ist und Statusnachrichten gesendet werden
- Starten Sie das Shelly-Gerät neu, um eine neue Statusveröffentlichung zu erzwingen
Gen2+ Shelly-Geräte unterstützen MQTT mit optionalem TLS. Wenn TLS nicht konfiguriert ist, erfolgt die Kommunikation zwischen Gerät und MQTT-Broker unverschlüsselt (Plain MQTT, Port 1883). Für verschlüsselte Kommunikation aktivieren Sie TLS in den Shelly MQTT-Einstellungen und verwenden Sie Port 8883.