
Der Shelly Plus 2PM ist ein kompaktes Zweikanal-WLAN-Relais mit integrierter Leistungsmessung auf beiden Kanälen. Er passt hinter einen Standard-Wandschalter und kann zwei unabhängige Stromkreise steuern, jeweils bis 10 A (16 A gesamt bei 230 V AC), oder einen einzelnen motorisierten Rollladen antreiben. TapHome kommuniziert mit dem Gerät über HTTP mittels der Gen2+ RPC-API im lokalen Netzwerk — keine Cloud-Verbindung erforderlich.
Das Gerät unterstützt zwei Betriebsprofile — Switch und Cover — wählbar über die Shelly-Weboberfläche oder die TapHome-Serviceaktion. Im Switch-Profil arbeiten beide Relaisausgänge (O1 und O2) unabhängig mit kanalweiser Leistungsüberwachung. Im Cover-Profil treiben die beiden Ausgänge einen einzelnen Motor für Rollläden, Jalousien oder Vorhänge an, mit Positionssteuerung und Kalibrierung.
Der Shelly Plus 2PM wurde eingestellt. Sein Nachfolger, der Shelly 2PM Gen3, bietet die gleiche Dual-Profil-Funktionalität mit einem verbesserten Prozessor (8 MB Flash), bis zu 6 gleichzeitigen HTTP-Verbindungen und Matter-Upgradefähigkeit.
Konfiguration
Der Shelly Plus 2PM verbindet sich über WLAN. Beim TapHome-Vorlagenimport geben Sie die IP-Adresse des Geräts ein (Standardplatzhalter 192.168.0.1).
Die Authentifizierung muss am Shelly-Gerät deaktiviert sein, damit die TapHome-Integration funktioniert. TapHome unterstützt nicht die von Gen2+-Geräten verwendete HTTP-Digest-Auth. Öffnen Sie die Shelly-Weboberfläche (
http://{geraete-ip}) → Settings → Authentication und stellen Sie sicher, dass sie deaktiviert ist.
Wenn der ECO-Modus auf dem Shelly-Gerät aktiviert ist, kann er durch die schnellen Abfrageintervalle der Vorlage (2,5–5 Sekunden) Kommunikationszeitüberschreitungen verursachen. Deaktivieren Sie den ECO-Modus in der Shelly-Weboberfläche, wenn Sie intermittierende Verbindungsprobleme feststellen.
Profilauswahl
Der Shelly Plus 2PM arbeitet jeweils in einem von zwei Profilen. Das aktive Profil bestimmt, welche TapHome-Geräte funktionsfähig sind:
- Switch-Profil — aktiviert beide Relaisschalter (Switch 1 und Switch 2) und deren kanalweise Energiezähler. Das Rollladen-Gerät und der Rollladen-Energiezähler reagieren nicht.
- Cover-Profil — aktiviert das Rollladen-Gerät und seinen Energiezähler. Die beiden Schaltgeräte und ihre Energiezähler reagieren nicht.
Das aktive Profil ist als Service-Attribut auf Modulebene („Profile") in TapHome sichtbar. Um das Profil zu wechseln, verwenden Sie die Profile-Serviceaktion auf Modulebene oder wechseln Sie es in der Shelly-Weboberfläche. Nach dem Profilwechsel startet das Gerät neu und nur die zum neuen Profil passenden Geräte funktionieren.
Die Vorlage enthält alle sechs Geräte (2 Schalter + 2 Schalter-Energiezähler + 1 Rollladen + 1 Rollladen-Energiezähler), aber nur die zum aktiven Profil passenden Geräte funktionieren. Dies ist erwartetes Verhalten — Geräte im falschen Profil reagieren einfach nicht.
Abdeckungskalibrierung
Bei Verwendung des Cover-Profils müssen die Endlagen des Motors kalibriert werden, bevor die Positionssteuerung funktioniert. Bis die Kalibrierung abgeschlossen ist, gibt current_pos null zurück und das Service-Attribut „Calibrated" zeigt false. Kalibrieren Sie entweder über die Shelly-Weboberfläche oder durch Auslösen der Calibrate-Serviceaktion am Shutter-Gerät in TapHome. Während der Kalibrierung durchläuft die Abdeckung eine mehrstufige Sequenz (voll öffnen → voll schließen → voll öffnen → schrittweise schließen → schrittweise öffnen) zur Messung der Fahrwege.
Gerätefunktionen
Relaissteuerung (Switch-Profil)
Die Vorlage stellt zwei unabhängige Relaisschalter bereit. Jeder Schalter liest seinen Status von /rpc/Switch.GetStatus?id={0,1} (Feld output, Boolean) und steuert das Relais über /rpc/Switch.Set?id={0,1}&on=true|false.
Jeder Schalter stellt sieben Service-Attribute bereit:
- Source — Quelle des letzten Befehls (http, UI, WS_in, etc.)
- Temperature — interne Gerätetemperatur in °C
- Initial State — Schalterverhalten beim Einschalten (off, on, restore_last oder match_input)
- Input Mode — Verdrahtungsmodus des physischen Eingangs (follow oder detached)
- Power Limit — maximale Leistungsschwelle in Watt für Überlastschutz
- Voltage Limit — maximale Spannungsschwelle in Volt
- Current Limit — maximale Stromschwelle in Ampere
Zwei Serviceaktionen sind pro Schalter verfügbar:
- Set Initial State — konfiguriert das Relaisverhalten nach dem Einschalten (off, on, restore_last, match_input)
- Set Mode — konfiguriert den Verdrahtungsmodus des physischen Eingangs (follow, detached)
Leistungsmessung (Switch-Profil)
Jeder Schaltkanal hat einen eigenen Energiezähler, der zwei Werte von /rpc/Switch.GetStatus liest:
- Momentanleistung —
apowerin Watt, von der Vorlage in kW umgerechnet - Gesamtverbrauch —
aenergy.totalin Wattstunden, von der Vorlage in kWh umgerechnet
Jeder Energiezähler stellt auch drei Service-Attribute bereit:
- Voltage — Versorgungsspannung in Volt
- Current — Laststrom in Ampere
- Power Factor — Leistungsfaktor der Last
Die Zähler sind schreibgeschützt — sie aktualisieren sich automatisch mit jedem Abfragezyklus.
Rollladensteuerung (Cover-Profil)
Das Rollladen-Gerät steuert einen motorisierten Rollladen, Vorhang oder eine Markise. Es liest die Position von /rpc/Cover.GetStatus?id=0 (Feld current_pos, 0–100 %) und schreibt über /rpc/Cover.GoToPosition?id=0&pos=N.
Das Rollladen-Gerät stellt 21 Service-Attribute bereit:
- Status — Quelle, Zustand (open/closed/opening/closing/stopped/calibrating), aktuelle und Zielposition, Bewegungs-Timeout und Startzeit
- Kalibrierung — ob Positionssteuerung aktiviert ist (
pos_control) - Temperatur — interne Gerätetemperatur in °C
- Einschaltverhalten — Konfiguration des Anfangszustands (open, closed, stopped)
- Eingangseinstellungen — Eingangsmodus (single, dual, detached), Eingänge tauschen, Richtungen invertieren
- Schutzgrenzen — Leistungsgrenze (W), Spannungsgrenze (V), Stromgrenze (A)
- Motoreinstellung — Leerlaufleistungsschwelle (0–50 W), Leerlauf-Bestätigungszeit (0,25–2 s)
- Bewegungsgrenzen — maximale Öffnungszeit (0,1–300 s), maximale Schließzeit (0,1–300 s)
- Sicherheitsfunktionen — Status der Hinderniserkennung, Status des Sicherheitsschalters
Sechs Serviceaktionen sind für den Rollladen verfügbar:
- Open — öffnet die Abdeckung vollständig
- Close — schließt die Abdeckung vollständig
- Stop — stoppt die Bewegung sofort
- Calibrate — startet den Kalibrierungsvorgang für die Positionssteuerung
- Go to Position — fährt die Abdeckung auf eine bestimmte Position (0–100 %)
- Reverse directions — schaltet die Konfiguration
invert_directionsum und startet das Gerät neu
Leistungsmessung (Cover-Profil)
Der Rollladen hat einen eigenen Energiezähler, der von /rpc/Cover.GetStatus liest:
- Momentanleistung —
apowerin Watt, von der Vorlage in kW umgerechnet - Gesamtverbrauch —
aenergy.totalin Wattstunden, von der Vorlage in kWh umgerechnet
Der Rollladen-Energiezähler stellt auch Spannung, Strom und Leistungsfaktor als Service-Attribute bereit.
Service-Diagnose
Die Vorlage stellt zwei Service-Attribute auf Modulebene bereit:
- MAC — MAC-Adresse des Geräts aus der Systemkonfiguration
- Profile — aktuell aktives Geräteprofil (Switch oder Cover)
Das Modul-Leseskript prüft auch restart_required von /rpc/Sys.GetStatus und zeigt eine Warnung in TapHome an, wenn ein Neustart aussteht.
Serviceaktionen
Zwei Serviceaktionen sind auf Modulebene verfügbar:
- Reboot — löst einen Geräteneustart über
/rpc/Shelly.Rebootaus - Profile — wechselt zwischen Switch- und Cover-Betriebsprofilen über
/rpc/Shelly.SetProfile
Weitere Funktionen
Der Shelly Plus 2PM stellt auch Netzfrequenz (freq), minutenweise Energiewerte (aenergy.by_minute), physische Eingangszustände (input:0, input:1), WLAN-Signalstärke (RSSI) und einen Schalter-Toggle-Endpunkt in seinen RPC-Antworten bereit. Energiezähler können über /rpc/Switch.ResetCounters (Switch-Profil) oder /rpc/Cover.ResetCounters (Cover-Profil) zurückgesetzt werden. Im Cover-Modus ist die Lamellen-/Kippposition für Jalousien verfügbar, wenn die Hardware dies unterstützt. Diese Funktionen können in einem zukünftigen Vorlagenupdate hinzugefügt werden.
Fehlerbehebung
Gerät reagiert nicht
- Überprüfen Sie, ob der Shelly mit dem WLAN verbunden ist und eine gültige IP-Adresse hat
- Versuchen Sie den mDNS-Hostnamen (
shellyplus2pm-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 Core und Shelly im gleichen Netzwerk / VLAN sind
- Stellen Sie sicher, dass die Authentifizierung am Shelly-Gerät deaktiviert ist
Profilkonflikt — Geräte reagieren nicht
Wenn einige Geräte keine Messwerte anzeigen, während andere korrekt funktionieren:
- Prüfen Sie, welches Profil aktuell aktiv ist — das Service-Attribut „Profile" auf Modulebene zeigt den aktuellen Modus
- Wechseln Sie zum richtigen Profil über die Profile-Serviceaktion oder ignorieren Sie die nicht verwendeten Geräte
- Nach dem Profilwechsel startet das Gerät automatisch neu — warten Sie einige Sekunden für die Wiederverbindung
Abdeckungsposition funktioniert nicht
- Überprüfen Sie, ob das Gerät im Cover-Profil ist — das Switch-Profil stellt keine Abdeckungsfunktionen bereit
- Führen Sie die Calibrate-Serviceaktion am Shutter-Gerät aus — die Positionssteuerung erfordert eine abgeschlossene Kalibrierung
- Prüfen Sie, ob der Motor korrekt an den Klemmen O1 und O2 angeschlossen ist
- Rufen Sie
/rpc/Cover.GetStatus?id=0manuell auf und prüfen Sie, obpos_controlden Werttruehat
Abdeckungskalibrierung schlägt fehl
Die Kalibrierung bricht ab, wenn:
- Die Abdeckung die Endposition nicht innerhalb von
maxtime_openodermaxtime_closeerreicht - Eine Sicherheitsfunktion (Hinderniserkennung oder Sicherheitsschalter) während der Kalibrierung ausgelöst wird
- Während der Kalibrierung ein externer Stoppbefehl gesendet wird
- Die Motorrichtung nicht der erwarteten Rückmeldung entspricht
- Das Gerät während der Kalibrierung neu startet
Überprüfen Sie die Motorverdrahtung, erhöhen Sie maxtime_open/maxtime_close wenn der Motor langsam ist, und stellen Sie sicher, dass keine Hindernisse vorhanden sind.
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=0(Switch-Profil) oder/rpc/Cover.GetStatus?id=0(Cover-Profil) manuell auf und prüfen Sie, obapowereinen Wert ungleich Null zurückgibt
Shelly Gen2+-Geräte unterstützen bis zu 6 gleichzeitige HTTP-Verbindungen. Obwohl dies eine Verbesserung gegenüber Gen1 (2 Verbindungen) darstellt, vermeiden Sie gleichzeitiges Polling von zu vielen Systemen (TapHome, Home Assistant, benutzerdefinierte Skripte), um Verbindungserschöpfung zu verhindern.