Shelly

Mit diesem Modul ist es möglich die Geräte von Shelly in IP-Symcon einzubinden.

Vorraussetzungen
  • mindestens IPS Version 5.1
  • MQTT Server oder MQTT Client
  • Aktiviertes MQTT Protkoll beim Shelly Gerät
Enthaltene Module
  • Shelly1
  • Shelly2
  • Shelly4Pro
  • ShellyHT
  • ShellyPlug
  • ShellyRGBW2
  • ShellySense
  • ShellySmoke
  • ShellyEM
  • ShellyFlood
Installation

Über den IP-Symcon Module Store.

Aktiviertes MQTT Protokoll

Das MQTT Protokoll muss bei jedem Shelly aktiviert sein, damit das Gerät von IP-Symcon mit diesem Modul bedient werden kann.

Die Einrichtung wird über das Shelly Webinterface vorgenommen:

Internet & Security -> ADVANCED – DEVELOPER SETTINGS -> Enable action execution via MQTT

Unter Server wird die IP von IP-Symcon und der MQTT Port eingetragen.
Der Standard Port für MQTT ist 1883, sollte dieser in IP-Symcon geändert worden sein ist er unter I/O Instanzen -> Server Socket (MQTT Server #InstanzID) zu finden.

Sollen Username und Passwort verwendet werden müssen diese Daten in IP-Symcon unter Splitter Instanzen -> MQTT Server hinterlegt werden.

Die selben Zugangsdaten müssen über das Shelly Webinterface unter Internet & Security -> ADVANCED – DEVELOPER SETTINGS hinterlegt werden.

Konfiguration und Nutzung

Allgemein

Das Modul kann mit dem internen MQTT Server betrieben werden, oder aber mit einem externen MQTT Broker.
Wenn ein externer MQTT Broker verwendet werden soll, dann muss aus dem Module Store der MQTTClient installiert werden.

Standardmäßig wird der MQTT Server bei den Geräteinstanzen als Parent hinterlegt, wenn aber ein externer Broker verwendet werden soll, muss der MQTT Client per Hand angelegt werden und in der Geräteinstanz unter „Gateway ändern“ ausgewählt werden.

Die weitere Dokumentation bitte den einzelnen Modulen entnehmen.

Shelly 1

Dieses Modul ermöglicht es, ein Shelly1 in IP-Symcon zu integrieren.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shelly1-deviceid) des Shelly 1 eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist derHostname zu finden. Der Hostname ist die DeviceID!

2. Funktionen

Shelly_SwitchMode($InstanceID, $Relay, $Value)
Mit dieser Funktion ist es möglich das Gerät ein- bzw. auszuschalten.

Shelly_SwitchMode(25537, 0, true); //Einschalten
Shelly_SwitchMode(25537, 0, false); //Ausschalten

Shelly2

Dieses Modul ermöglicht es, ein Shelly2 in IP-Symcon zu integrieren. Das Modul kann in IP-Symcon als Relay oder als Rollo eingerichtet werden.

1. Konfiguration

Feld Beschreibung
MQTT Topic Hier wird das Topic (shellyswitch-deviceid) des Shelly 2 eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist derHostname zu finden. Der Hostname ist die DeviceID!
Device Type Relay oder Rolladen

2. Funktionen
2.1 Relay
Shelly_SwitchMode($InstanceID, $Relay, $Value) Mit dieser Funktion ist es möglich das Gerät ein- bzw. auszuschalten.
Shelly_SwitchMode(25537, 0, true); //Relay 1 Einschalten
Shelly_SwitchMode(25537, 0, false); //Relay 1 Ausschalten

Shelly_SwitchMode(25537, 1, true); //Relay 2 Einschalten
Shelly_SwitchMode(25537, 1, false); //Relay 2 Ausschalten
2.2 Rolladen
Shelly_MoveDown($InstanceID) Mit dieser Funktion ist es möglich den Rolladen herunterzufahren!
Shelly_MoveDown(25537); //Rolladen herunterfahren
Shelly_MoveUp($InstanceID) Mit dieser Funktion ist es möglich den Rolladen hochzufahren!
Shelly_MoveUp(25537); //Rolladen hochfahren
Shelly_Move($InstanceID, $Position) Mit dieser Funktion ist es möglich den Rolladen auf eine bestimmte Position zu fahren!
Shelly_Move(25537,25); //Rolladen auf 25% fahren
Shelly_Stop($InstanceID) Mit dieser Funktion ist es möglich den Rolladen zu stoppen!
Shelly_Stop(25537); //Rolladen stoppen

Shelly4Pro

Dieses Modul ermöglicht es, ein Shelly4Pro in IP-Symcon zu integrieren.
Es können die Kanäle geschaltet werden und die Messwerte werden in IP-Symcon dargestellt.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shelly4pro-deviceid) des Shelly 4 Pro eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist derHostname zu finden. Der Hostname ist die DeviceID!
2. Funktionen

Shelly_SwitchMode($InstanceID, $Relay, $Value)
Mit dieser Funktion ist es möglich das Gerät ein- bzw. auszuschalten.

Shelly_SwitchMode(25537, 0, true); //Relay 1 Einschalten
Shelly_SwitchMode(25537, 0, false); //Relay 1 Ausschalten

Shelly_SwitchMode(25537, 1, true); //Relay 2 Einschalten
Shelly_SwitchMode(25537, 1, false); //Relay 2 Ausschalten

Shelly_SwitchMode(25537, 2, true); //Relay 3 Einschalten
Shelly_SwitchMode(25537, 2, false); //Relay 3 Ausschalten
   
Shelly_SwitchMode(25537, 3, true); //Relay 4 Einschalten
Shelly_SwitchMode(25537, 3, false); //Relay 4 Ausschalten

ShellyHT

Dieses Modul integriert das Shelly H&T in IP-Symcon.
Die Messwerte von einem Shelly H&T werden in IP-Symcon übertragen.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shellyht-deviceid) des Shelly HT eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist derHostname zu finden. Der Hostname ist die DeviceID!

2. Funktionen

Zur Zeit sind keine öffentlichen Funktionen vorhanden.

ShellyPlug

Dieses Modul ermöglicht es, ein ShellyPlug in IP-Symcon zu integrieren.
Es kann das Relay geschaltet werden und Messwerte werden in IP-Symcon dargestellt.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shellyplug-deviceid) des Shelly Plug eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist derHostname zu finden. Der Hostname ist die DeviceID!

2. Funktionen

Shelly_SwitchMode($InstanceID, $Relay, $Value)
Mit dieser Funktion ist es möglich das Gerät ein- bzw. auszuschalten.

Shelly_SwitchMode(25537, 0, true); //Relay Einschalten
Shelly_SwitchMode(25537, 0, false); //Relay Ausschalten

ShellyRGBW2

Dieses Modul ermöglicht es, ein Shelly RGBW2 in IP-Symcon zu integrieren.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shellyrgbw2-deviceid) des ShellyRGBW2 eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist derHostname zu finden. Der Hostname ist die DeviceID!
ModusHier wird der Modus ausgewählt, der im Shelly Modul hinterlegt ist.

2. Funktionen

Shelly_SwitchMode($InstanceID, $Channel, $Value)
Mit dieser Funktion ist es möglich das Gerät ein- bzw. auszuschalten. $Channel ist bei dem Modus Farbe immer 0!

Shelly_SwitchMode(25537, 0, true); //Einschalten
Shelly_SwitchMode(25537, 0, false); //Ausschalten

Shelly_setDimmer($InstanceID, $Channel, $Value)
Mit dieser Funktion kann das prozentual Gerät gedimmt werden. Funktion nur im Modus White verfügbar!

Shelly_setDimmer(25537, 0, 50); //Auf 50% dimmen

Shelly_setColor($InstanceID, $Value)
Mit dieser Funktion ist es möglich die Farbe zu ändern. Funktion nur im Modus Farbe verfügbar!

Shelly_setColor(25537,"ff0000"); //Farbe Rot

Shelly_setWhite($InstanceID, $Value)
Mit dieser Funktion ist es möglich den Wert Weiß zu ändern. Funktion nur im Modus Farbe verfügbar!

Shelly_setWhite(25537,50); //50% weiß

Shelly_Gain($InstanceID, $Value)
Mit dieser Funktion ist es möglich den Wert Gain zu ändern. Funktion nur im Modus Farbe verfügbar!

Shelly_setColor(25537,50); //50%;

Shelly_Effect($InstanceID, $Value)
Mit dieser Funktion ist es möglich einen Effekt einzustellen Funktion nur im Modus Farbe verfügbar!

Shelly_setEffect(25537,4); //Effekt Flash

ShellySense

Dieses Modul integriert das Shelly Sense in IP-Symcon.
Die Messwerte von einem Shelly Sense werden in IP-Symcon übertragen.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shellysense-deviceid) des Shelly Sense eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist derHostname zu finden. Der Hostname ist die DeviceID!

2. Funktionen

Zur Zeit sind keine öffentlichen Funktionen vorhanden.

ShellySmoke

Dieses Modul integriert den Shelly Smoke in IP-Symcon.
Die Messwerte und Alarmmeldungen von einem Shelly Smoke werden in IP-Symcon übertragen.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shellysmoke-deviceid) des Shelly Smoke eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist der Hostname zu finden. Der Hostname ist die DeviceID!

2. Funktionen

Zur Zeit sind keine öffentlichen Funktionen vorhanden.

ShellyEM

Dieses Modul ermöglicht es, ein Shelly EM in IP-Symcon zu integrieren.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shellyem-deviceid) des Shelly Smoke eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist der Hostname zu finden. Der Hostname ist die DeviceID!

2. Funktionen

Zur Zeit sind keine öffentlichen Funktionen vorhanden.

ShellyFlood

Dieses Modul integriert den Shelly Flood in IP-Symcon.
Die Messwerte von dem Shelly Flood werden in IP-Symcon übertragen.

1. Konfiguration
FeldBeschreibung
MQTT TopicHier wird das Topic (shellyflood-deviceid) des Shelly Smoke eingetragen. Dazu muss zur Zeit die folgende URL aufgerufen werden: http://ShellyIP/settings dort ist der Hostname zu finden. Der Hostname ist die DeviceID!

2. Funktionen

Zur Zeit sind keine öffentlichen Funktionen vorhanden.

Screenshots

Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:


10 Kommentare

Gerhard Voss · 9. Oktober 2019 um 15:06

Hallo Kai,

in der Überschrift von Shelly Flood steht noch Shelly EM (Copy-paste-Fehler?!).
In welchen Zeiträumen wacht der Flood auf und sendet seine Daten? Ich habe noch keine Einstellungen gefunden, die dies anzeigen oder Änderungen zulassen.
Das Modul für den Shellyswitch 2 hat die Variablen Energie, Energie1, Energie2, Leistung1 und Leistung2 angelegt. Diese Werte werden aber nicht gefüllt.
Grüße, Gerhard

    Schnittcher · 9. Oktober 2019 um 16:11

    Hallo Gerhard,

    danke für den Hinweis mit dem Shelley Flood und Shelley EM ich habe es angepasst.
    Es gibt wohl einen Parameter „sleep_mode_period“ (Periodic update period in hours, between 1 and 24) kannst du hier nachlesen: https://shelly-api-docs.shelly.cloud/#flood-settings
    Wegen dem Shelly 2, kannst du mir dafür mal ein Debug im Forum zukommen lassen?

    Grüße,
    Kai

Daniel Aeschbacher · 1. Mai 2020 um 12:13

Ist geplant, auch Shelly Door/Window zu unterstützen?

    Schnittcher · 1. Mai 2020 um 13:34

    Hallo,

    sollte schon vorhanden sein.

    Grüße,
    Kai

      Daniel · 1. Mai 2020 um 20:50

      Stimmt, danke dir. Funktioniert nun.

      Ich habe nun komischerweise folgende Fehlermeldung, obwohl eigentlich das Shelly Modul normal installiert ist. An was kann dies liegen, dass Symcon die Funktion nicht findet?

      Call to undefined function Shelly_SwitchMode()

Daniel Aeschbacher · 1. Mai 2020 um 21:52

Danke für die Antwort zu Door/Window, funktioniert nun.

Ich bekomme folgenden Fehler und habe keine Ahnung, was das Problem ist. Shelly Modul ist installiert. Kannst du mir ev. weiterhelfen?

Call to undefined function Shelly_SwitchMode()

Gruss & danke,
Daniel

    Schnittcher · 1. Mai 2020 um 21:56

    Hallo Daniel,

    ich habe die öffentlichen Funktionen abgeschafft.
    Du musst RequestAction() nutzen.
    Im Forum (im Shelly Thread) hatte ich das angekündigt.

    Grüße,
    Kai

      Dustin · 2. Mai 2020 um 21:01

      das ist mir heute auch aufgefallen… alle Shelly haben nix mehr gehabt. Angepasst und läuft..

Valeri · 16. Mai 2020 um 00:54

Hi Kai,
laut IP Symcon Module Store Beschreibung wird der Shelly dimmer unterstütz. Leider wird dieser aber im Shelly Configurator nicht erkannt und kann somit nicht als Instance eingerichtet werden. Hast du eine Idee woran das liegen kann? MQTT hab ich aktiviert und im DEBUG vom MQTT Server Socket sehe ich auch den dimmer.
Gruß,
Valeri

    Schnittcher · 29. Mai 2020 um 09:45

    Du hast ja schon im Forum geschrieben, lass uns da weiter schreiben.

    Grüße,
    Kai

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

de_DEGerman
en_USEnglish de_DEGerman