Skip to content

Anbindung Shelly

mdzio edited this page Dec 5, 2024 · 15 revisions

Anbindung von Shelly-Geräten

Allgemeine Konfiguration der CCU

Dafür wird auf die Installationsbeschreibung des CCU-Jacks verweisen.

Allgemeine Konfiguration des CCU-Jacks

Im CCU-Jack müssen als erstes die virtuellen Geräte aktiviert werden. Nach der Aktivierung muss ein Neustart der CCU durchgeführt werden:

Allgemeine CCU-Jack-Konfiguration

Für die Shelly-Geräte sollte noch ein separater Benutzer im CCU-Jack angelegt werden.

Allgemeine Konfiguration der Shelly-Geräte

Auf anzubindenden Shelly-Geräten ist der CCU-Jack als MQTT-Server einzustellen. Falls es sich nicht um ein Shelly Pro oder Plus handelt, wird die Cloud-Funktionalität des Gerätes deaktiviert. Als Adresse muss die IP-Adresse der CCU eingetragen werden.

MQTT-Konfiguration eines Shellies Pro oder Plus:

Generic status update over MQTT muss aktiviert melden. Das MQTT-Präfix kann bei Bedarf angepasst werden.

Allgemeine Shelly-Konfiguration Plus

MQTT-Konfiguration eines Shellies der ersten Generation:

Allgemeine Shelly-Konfiguration

MQTT-Topics

Die Topics eines Shelly-Gerätes beginnen, wenn dies in der Gerätekonfiguration nicht geändert worden ist, wie folgt: shellies/Gerätetyp-Seriennr.

Die Seriennummer kann auf der Web-Oberfläche des Shelly-Gerätes unter SettingsDevice InfoDevice ID ermittelt werden. Es ist die erste Darstellung (in Hex) der Device ID zu verwenden.

Anbindung Shelly Dimmer 2

Für die Anbindung muss ein virtuelles Gerät mit einem MQTT Dimmmer-Kanal angelegt werden.

Der virtuelle Kanal ist auf der CCU folgendermaßen einzustellen:

Parameter Wert Bemerkungen
RANGE_MIN 0.0
RANGE_MAX 100.0
COMMAND_TOPIC shellies/shellydimmer2-Seriennr./light/0/set Seriennr. ist mit der Seriennummer des Gerätes zu ersetzen.
RETAIN Nicht Gesetzt
TEMPLATE {{if eq . 0.0}}{"turn":"off"}{{else}}{"brightness":{{.}},"turn":"on"}{{end}}
FEEDBACK_TOPIC shellies/shellydimmer2-Seriennr./light/0/status Seriennr. ist mit der Seriennummer des Gerätes zu ersetzen.
PATTERN {{with parseJSON .}}{{if .ison}}{{.brightness}}{{else}}0{{end}}{{end}}
EXTRACTOR TEMPLATE
REGEXP_GROUP 0 Nicht relevant

Die Geräteoberfläche in der CCU entspricht der eines realen HM-Dimmers.

Wichtig: RETAIN sollte bei Geräten, die über WLAN angebunden sind, nicht gesetzt werden. Ansonsten kann es zu geisterhaften Schaltungen bei WLAN-Neuverbindungen kommen.

Anbindung Shelly Dimmer 1 (Vorgängergerät)

Für den Shelly Dimmer 1 sind leicht geänderte Topics gegenüber den Shelly Dimmer 2 zu verwenden:

Parameter Wert Bemerkungen
COMMAND_TOPIC shellies/shellydimmer-Seriennr./light/0/set Seriennr. ist mit der Seriennummer des Gerätes zu ersetzen.
FEEDBACK_TOPIC shellies/shellydimmer-Seriennr./light/0/status Seriennr. ist mit der Seriennummer des Gerätes zu ersetzen.

Anbindung Shelly EM3

Sobald sich der Shelly EM3 mit dem eingebetteten MQTT-Server des CCU-Jacks verbunden hat, sollten Nachrichten auf folgenden MQTT-Topics auftauchen:

Shelly EM3 Topics

(Werkzeug: MQTT Explorer)

Hinweis: Die MQTT-Topics können sich je nach Firmware unterscheiden.

Als nächstes ist im CCU-Jack ein virtuelles Gerät mit 9 MQTT-Analogwertempfängern und einem MQTT-Schaltaktor mit Rückmeldung anzulegen:

Shelly EM3 Gerät anlegen

Nach dem Erstellen erscheint das Gerät im Posteingang der CCU und nach einer weiteren Bestätigung in der Geräteliste. Dort können das Gerät und die Kanäle benannt werden:

Shelly EM3 Gerät

Die Kanäle 1 bis 9 müssen folgendermaßen konfiguriert werden:

Shelly EM3 Kanal 1

Liste der Topics für die Kanäle 1 bis 9:

Kanal Topic
Wirkleistung Phase 1 shellies/shellyem3-Seriennr./emeter/0/power
Blindleistung Phase 1 shellies/shellyem3-Seriennr./emeter/0/reactive_power
Spannung Phase 1 shellies/shellyem3-Seriennr./emeter/0/voltage
Wirkleistung Phase 2 shellies/shellyem3-Seriennr./emeter/1/power
Blindleistung Phase 2 shellies/shellyem3-Seriennr./emeter/1/reactive_power
Spannung Phase 2 shellies/shellyem3-Seriennr./emeter/1/voltage
Wirkleistung Phase 3 shellies/shellyem3-Seriennr./emeter/2/power
Blindleistung Phase 3 shellies/shellyem3-Seriennr./emeter/2/reactive_power
Spannung Phase 3 shellies/shellyem3-Seriennr./emeter/2/voltage

Bei Kanal 10 handelt es sich um einen Schaltaktor. Er ist folgendermaßen zu konfigurieren:

Shelly EM3 Schaltaktor

Liste der Topics für den Kanal 10 (Schaltaktor):

Parameter Topic
COMMAND_TOPIC shellies/shellyem3-Seriennr./relay/0/command
FEEDBACK_TOPIC shellies/shellyem3-Seriennr./relay/0

Die Geräteoberfläche sieht dann in der CCU folgendermaßen aus:

Shelly EM3 Gerätebedienung

Hinweis: Alle analogen Eingänge werden mit der Bezeichnung Eingangsspannung angezeigt, bzw. der Kanalparameter heißt immer VOLTAGE. Dies ist dadurch bedingt, dass die virtuellen Kanäle von einem realen HmIP-MIO16-PCB abgeleitet wurden. Dadurch wird die höchste Kompatibilität zur CCU-Software erreicht.

Anbindung Shelly Plus 1PM (ab Firmware V0.14.0)

Im folgenden Bild sind die Verbindungseinstellungen zu finden:

Shelly Plus 1PM Verbindungseinstellungen

Sobald sich der Shelly Plus 1PM mit dem eingebetteten MQTT-Server des CCU-Jacks verbunden hat, sollten Nachrichten auf folgenden MQTT-Topics auftauchen:

Shelly Plus 1PM Topics

Als nächstes ist im CCU-Jack ein virtuelles Gerät mit einem MQTT-Schaltaktor mit Rückmeldung und z.B. drei MQTT-Analogwertempfängern anzulegen. Je nach Anforderung können aber mehr oder weniger Messwerte angebunden werden. Das Gerät taucht dann im Posteingang der CCU auf und muss folgendermaßen konfiguriert werden. XXXX ist durch die Seriennummer des Gerätes zu ersetzen:

Kanal Parameter Wert
1 TOPIC shellies/shellyplus1pm-XXXX/status/switch:0
1 PATTERN {{(parseJSON .).apower}}
1 EXTRACTOR TEMPLATE
2 TOPIC shellies/shellyplus1pm-XXXX/status/switch:0
2 PATTERN {{(parseJSON .).aenergy.total}}
2 EXTRACTOR TEMPLATE
3 TOPIC shellies/shellyplus1pm-XXXX/status/switch:0
3 PATTERN {{(parseJSON .).temperature.tC}}
3 EXTRACTOR TEMPLATE
4 COMMAND_TOPIC shellies/shellyplus1pm-XXXX/command/switch:0
4 ON_PAYLOAD on
4 OFF_PAYLOAD off
4 RETAIN nicht gesetzt
4 FEEDBACK_TOPIC shellies/shellyplus1pm-XXXX/status/switch:0
4 ON_PATTERN "output":true
4 OFF_PATTERN "output":false
4 MATCHER CONTAINS

Anbindung Shelly Plus 1PM (Gen2+ Protokoll)

Alternativ kann auch das Gen2+ Protokoll für die Ansteuerung verwendet werden. Die meisten Parameter sind identisch zu den obigen. Folgende sind abzuändern:

Kanal Parameter Wert
4 COMMAND_TOPIC shellies/shellyplus1pm-XXXX/rpc
4 ON_PAYLOAD {"id":0, "src":"shellies/shellyplus1pm-XXXX/rpc-response", "method":"Switch.Set", "params":{"id":0,"on":true}}
4 OFF_PAYLOAD {"id":0, "src":"shellies/shellyplus1pm-XXXX/rpc-response", "method":"Switch.Set", "params":{"id":0,"on":false}}