Anbindung Shelly - mdzio/ccu-jack GitHub Wiki
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:
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.
MQTT-Konfiguration eines Shellies der ersten Generation:
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 Settings → Device Info → Device 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:
(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:
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:
Die Kanäle 1 bis 9 müssen folgendermaßen konfiguriert werden:
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:
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:
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:
Sobald sich der Shelly Plus 1PM mit dem eingebetteten MQTT-Server des CCU-Jacks verbunden hat, sollten Nachrichten auf folgenden MQTT-Topics auftauchen:
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}} |