
Der Shelly Plus 1PM ist ein kompakter Gen2+ WLAN-Relaisschalter mit integrierter Leistungsmessung. Er 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. Das Gerät unterstützt 110-240 VAC oder 24-30 VDC Spannungsversorgung und eignet sich damit sowohl für Netz- als auch Niederspannungsinstallationen. TapHome kommuniziert mit dem Gerät lokal über WLAN — keine Cloud-Verbindung erforderlich.
Es stehen zwei TapHome-Vorlagen zur Verfügung: eine HTTP-Vorlage, die die Gen2+ RPC-API des Geräts abfragt, und eine MQTT-Vorlage, die Daten über einen MQTT-Broker empfängt. Beide stellen die gleichen zwei Geräte bereit — einen Energiezähler und einen Relaisschalter.
Konfiguration
HTTP-Vorlage
Die HTTP-Vorlage benötigt nur die IP-Adresse des Geräts (Standardwert 192.168.0.1). TapHome fragt den Endpunkt /rpc/Switch.GetStatus?id=0 sowohl für den Relaisstatus als auch für Leistungsmessdaten ab. Das Modul speichert die JSON-Antwort in einer status-Variable, damit einzelne Geräteskripte die Daten ohne redundante HTTP-Aufrufe auswerten können.
MQTT-Vorlage
Die MQTT-Vorlage erfordert beim Import drei Parameter:
- MQTT-Broker-IP — die IP-Adresse des MQTT-Brokers (nicht des Shelly-Geräts selbst)
- MQTT-Broker-Port — Standard
1883 - Shelly MQTT Client ID — Format
shellyplus1pm-{deviceid}, zu finden in der Shelly-Weboberfläche unter Settings > MQTT Settings > Client ID
Nach Aktivierung von MQTT auf dem Shelly Plus 1PM (Settings > MQTT) abonniert TapHome shellyplus1pm-{deviceid}/status/switch:0 und sendet Steuerbefehle an shellyplus1pm-{deviceid}/command/switch:0.
Gerätefunktionen
Relaissteuerung
Die Vorlage stellt das Relais als Schaltgerät bereit. Der Relaisstatus wird aus dem Feld output (Boolean) gelesen und über /rpc/Switch.Set?id=0 mit on=true oder on=false (HTTP) oder durch Veröffentlichung von on/off zum Befehlstopic (MQTT) gesteuert.
Die HTTP-Vorlage fragt das Relais im 2,5-Sekunden-Intervall ab und bietet damit nahezu Echtzeit-Statusrückmeldung. Die MQTT-Vorlage empfängt Aktualisierungen laufend über das Listener-Skript.
Leistungsmessung
Der integrierte Energiezähler liest zwei Werte aus der Switch.GetStatus-Antwort:
- Momentanleistung —
apowerin Watt, von der Vorlage in kW umgerechnet (geteilt durch 1000) - Kumulierter Energieverbrauch —
aenergy.totalin Wattstunden, von der Vorlage in kWh umgerechnet (geteilt durch 1000)
Der Zähler ist schreibgeschützt — er aktualisiert sich automatisch mit jedem Abfragezyklus (HTTP) oder mit jeder MQTT-Statusnachricht.
Die HTTP-Vorlage stellt am Energiezähler auch drei Service-Attribute bereit:
| Attribut | Einheit | Beschreibung |
|---|---|---|
| Strom | A | Momentaner Strombezug |
| Spannung | V | Effektive Netzspannung |
| Temperatur | °C | Interne Gerätetemperatur |
Die MQTT-Vorlage stellt interne Temperatur, Spannung und Strom als Service-Attribute auf Modulebene mit denselben Daten bereit, die aus der MQTT-Statusnachricht geparst werden.
Weitere Funktionen
Der Shelly Plus 1PM stellt über die RPC-API auch Leistungsfaktor, Netzfrequenz, rückgespeiste Energie (für bidirektionale Messung), physischen Eingangsstatus, WLAN-Signalstärke, MAC-Adresse, Betriebszeit, RAM-Auslastung und Gerätezeit bereit. Firmware-Update, Geräteneustart, Auto-Off-Timer, Energiezähler-Reset und Überlastschutz-Konfiguration sind ebenfalls verfügbar. Diese Funktionen können in einem zukünftigen Vorlagenupdate hinzugefügt werden.
Fehlerbehebung
Gerät reagiert nicht (HTTP)
- Überprüfen Sie, ob der Shelly mit dem WLAN verbunden ist und eine gültige IP-Adresse hat
- Versuchen Sie den mDNS-Hostnamen (
shellyplus1pm-AABBCCDDEE.local) statt der IP-Adresse — die IP kann sich nach einer DHCP-Erneuerung geändert haben - Öffnen Sie
http://{geraete-ip}/rpc/Shelly.GetDeviceInfoim Browser — wenn JSON zurückkommt, ist das Gerät erreichbar - Prüfen Sie, ob TapHome CCU und Shelly im gleichen Netzwerk / VLAN sind
- Stellen Sie sicher, dass die HTTP-Digest-Authentifizierung in der Shelly-Weboberfläche deaktiviert ist — TapHome unterstützt keine authentifizierten Anfragen
MQTT-Nachrichten kommen nicht an
- Überprüfen Sie, ob MQTT in der Shelly-Weboberfläche aktiviert ist (Settings > MQTT)
- Bestätigen Sie, dass Broker-Adresse und Port sowohl im Shelly-Gerät als auch in den TapHome-Moduleinstellungen korrekt sind
- Prüfen Sie, ob die benutzerdefinierte Variable
plug1topicexakt der MQTT Client ID des Shelly-Geräts entspricht (z.B.shellyplus1pm-AABBCCDDEE) - Verwenden Sie einen MQTT-Client (z.B. MQTT Explorer), um
shellyplus1pm-#zu abonnieren und zu prüfen, ob das Gerät Nachrichten sendet
Leistungswerte zeigen Null
- Bestätigen Sie, dass die Last über das Shelly-Relais angeschlossen ist (nicht umgangen)
- Prüfen Sie, ob das Relais eingeschaltet ist — der Zähler misst nur, wenn Strom durch das Relais fließt
- Rufen Sie
/rpc/Switch.GetStatus?id=0manuell auf und prüfen Sie, obapowereinen Wert ungleich Null zurückgibt
Langsame Reaktion oder Zeitüberschreitungen
- Gen2+-Geräte unterstützen bis zu 6 gleichzeitige HTTP-Verbindungen (gegenüber 2 bei Gen1) — vermeiden Sie jedoch übermäßiges Polling von mehreren Systemen
- Deaktivieren Sie den ECO-Modus in der Shelly-Weboberfläche, falls aktiviert — er versetzt das Gerät zwischen Abfragen in den Schlafmodus und kann bei kurzen Abfrageintervallen Zeitüberschreitungen verursachen
- Verwenden Sie eine statische IP oder DHCP-Reservierung, um Adressänderungen zu vermeiden
- Erwägen Sie den Wechsel zur MQTT-Vorlage in Multi-System-Umgebungen — MQTT umgeht das Verbindungslimit vollständig