Shelly

This module enables the implementation of the devices from Shelly in IP-Symcon.

Requirements
  • at least IPS Version 5.1
  • MQTT Server oder MQTT Client
  • enabled MQTT protocol on each shelly device
Included Modules
  • Shelly1
  • Shelly2
  • Shelly4Pro
  • ShellyHT
  • ShellyPlug
  • ShellyRGBW2
  • ShellySense
  • ShellySmoke
  • ShellyEM
  • ShellyFlood
Installation

Installation via the IP-Symcon module store.

Enabling MQTT

It is required to enable MQTT on each shelly device to allow communication with IP-Symcon.

Configuration is done through the Shelly web-interface:

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

Please enter the IP and MQTT port of IP-Symcon in the server field.
The default port for MQTT is 1883. If you changed the port within IP-Symcon you can check the configured port under I/O instances -> Server Socket (MQTT Server #InstanceID).

If you would like to use the username/password settings you need to configure it in Splitter instances -> MQTT server.

The same username/password must be used for each shelly device on the web-interface: Internet & Security -> ADVANCED - DEVELOPER SETTINGS.

Configuration in IP-Symcon

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.

Shelly1

This module enables the integration of a Shelly1 in IP-Symcon.

1. Configuration
FieldDescription
MQTT TopicThe Topic (shelly1-deviceid) of the Shelly1 is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!

2. Functions

Shelly_SwitchMode($InstanceID, $Relay, $Value)
It is possible to switch the device on or off with this function.

Shelly_SwitchMode(25537, 0, true); //Switch On
Shelly_SwitchMode(25537, 0, false); //Switch Off

Shelly2

This module enables the integration of a Shelly2 in IP-Symcon. The module can be configured as relay or roller in IP-Symcon.

1. Configuration

Field Description
MQTT Topic The Topic (shellyswitch-deviceid) of the Shelly2 is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!
Device Type Relay or Shutter

2. Functions
2.1 Relay
Shelly_SwitchMode($InstanceID, $Relay, $Value) It is possible to switch the device on or off with this function.
Shelly_SwitchMode(25537, 0, true); //Switch On Relay 1
Shelly_SwitchMode(25537, 0, false); //Switch Off Relay 1

Shelly_SwitchMode(25537, 1, true); //Switch On Relay 2
Shelly_SwitchMode(25537, 1, false); //Switch Off Relay 2
2.2 Shutter
Shelly_MoveDown($InstanceID) It is possible to move the roller down with this function.
Shelly_MoveDown(25537); //Move shutter down
Shelly_MoveUp($InstanceID) It is possible to move the roller up with this function.
Shelly_MoveUp(25537); //Move shutter up
Shelly_Move($InstanceID, $Position) It is possible to move the roller to a specific position with this function.
Shelly_Move(25537,25); //Move shutter to 25%
Shelly_Stop($InstanceID) It is possible to stop the roller with this function.
Shelly_Stop(25537); //Stop shutter

Shelly4Pro

This module enables the integration of a Shelly4Pro in IP-Symcon.
The channels can be switched and the sensor data is visualized in IP-Symcon.

1. Configuration
FieldDescription
MQTT TopicThe Topic (shelly4pro-deviceid) of the Shelly4Pro is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!
2. Functions

Shelly_SwitchMode($InstanceID, $Relay, $Value)
It is possible to switch the device on or off with this function.

Shelly_SwitchMode(25537, 0, true); //Switch On Relay 1
Shelly_SwitchMode(25537, 0, false); //Switch Off Relay 1

Shelly_SwitchMode(25537, 1, true); //Switch On Relay 2
Shelly_SwitchMode(25537, 1, false); //Switch Off Relay 2

Shelly_SwitchMode(25537, 2, true); //Switch On Relay 3
Shelly_SwitchMode(25537, 2, false); //Switch Off Relay 3
   
Shelly_SwitchMode(25537, 3, true); //Switch On Relay 4
Shelly_SwitchMode(25537, 3, false); //Switch Off Relay 4

ShellyHT

This module enables the integration of a Shelly H&T in IP-Symcon.
The sensor values of the Shelly H&T are transmitted into IP-Symcon.

1. Configuration
FieldDescription
MQTT TopicThe Topic (shellyht-deviceid) of the Shelly H&T is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!

2. Functions

Currently, there are no public functions available.

ShellyPlug

This module enables the integration of a ShellyPlug in IP-Symcon.
The relay can be switched and the sensor data is visualized in IP-Symcon.

1. Configuration
FieldDescription
MQTT TopicThe Topic (shellyplug-deviceid) of the ShellyPlug is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!

2. Functions

Shelly_SwitchMode($InstanceID, $Relay, $Value)
It is possible to switch the device on or off with this function.

Shelly_SwitchMode(25537, 0, true); //Switch On Relay
Shelly_SwitchMode(25537, 0, false); //Switch Off Relay

ShellyRGBW2

This module enables the integration of a ShellyRGBW2 in IP-Symcon.

1. Configuration
FieldDescription
MQTT TopicThe Topic (shellyrgbw2-deviceid) of the ShellyRGBW2 is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!
ModeThe mode that is defined by the Shelly Module is selected here.

2. Functions

Shelly_SwitchMode($InstanceID, $Channel, $Value)
It is possible to switch the device on or off with this function. For the mode Color, the $Channel is always 0!

Shelly_SwitchMode(25537, 0, true); //Switch On
Shelly_SwitchMode(25537, 0, false); //Switch Off

Shelly_setDimmer($InstanceID, $Channel, $Value)
It is possible to dim the device to a given percentage. Function is only available in the mode White!

Shelly_setDimmer(25537, 0, 50); //Dim to 50%

Shelly_setColor($InstanceID, $Value)
It is possible to change the color with this function. Function is only available in the mode Color!

Shelly_setColor(25537,"ff0000"); //Color red

Shelly_setWhite($InstanceID, $Value)
It is possible to change the value White with this function. Function is only available in the mode Color!

Shelly_setWhite(25537,50); //50% white

Shelly_Gain($InstanceID, $Value)
It is possible to change the value Gain with this function. Function is only available in the mode Color!

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

Shelly_Effect($InstanceID, $Value)
It is possible to configure an effect with this function. Function is only available in the mode Color!

Shelly_setEffect(25537,4); //Effect Flash

ShellySense

This module enables the integration of the Shelly Sense in IP-Symcon.
The sensor values of a Shelly Sense are transmitted into IP-Symcon.

1. Configuration
FieldDescription
MQTT TopicThe Topic (shellysense-deviceid) of the Shelly Sense is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!

2. Functions

Currently, there are no public functions available.

ShellySmoke

This module enables the integration of the Shelly Smoke in IP-Symcon.
The sensor values of a Shelly Smoke are transmitted into IP-Symcon.

1. Configuration
FieldDescription
MQTT TopicThe Topic (shellysmoke-deviceid) of the Shelly Smoke is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!

2. Functions

Currently, there are no public functions available.

ShellyEM

This module enables the integration of a Shelly EM in IP-Symcon.

1. Configuration
FieldDescription
MQTT TopicThe Topic (shellyem-deviceid) of the Shelly EM is entered here. Currently, the following URL needs to be called for this: http://ShellyIP/settings The host name is found there. The host name is the DeviceID!

2. Functions

Currently, there are no public functions available.

ShellyFlood

This module enables the integration of a Shelly Flood in IP-Symcon.
The sensor values of the Shelly Flood are transmitted into IP-Symcon.

1. Configuration
FieldDescription
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. Functions

Currently, there are no public functions available.

Screenshots

This module is free for non-commercial use. Gifts as support for the author are accepted here:


14 Comments

Gerhard Voss · 9. October 2019 at 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. October 2019 at 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. May 2020 at 12:13

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

    Schnittcher · 1. May 2020 at 13:34

    Hallo,

    sollte schon vorhanden sein.

    Grüße,
    Kai

      Daniel · 1. May 2020 at 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. May 2020 at 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. May 2020 at 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. May 2020 at 21:01

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

      Stephan · 6. June 2020 at 18:03

      Hallo Kai,
      in der Doku hier auf der Seite steht beim Shelly1 immer noch der alte Befehl drin.

      Gruß Stephan

        Schnittcher · 12. June 2020 at 09:08

        Ja, ich weiß die Doku muss noch angepasst werden. 🙂
        Ich werde die Doku hier wieder komplett entfernen und nur noch über GitHub pflegen.

      Egbert Kleinhans · 10. June 2020 at 19:37

      Das sollte dann aber auch hier in der Doku stehen. Wozu gibt es einen Shop und das alles wenn es nicht aktuell gepflegt wird? ES macht keinen Sinn wenn man erst im Forum nachsehen muß wenn man Updates aus dem Shop installiert.

        Schnittcher · 12. June 2020 at 09:10

        Ja, da hast du recht, da ich dieses aber alles in meiner Freizeit mache, kann es ab und zu auch ein wenig dauern.
        Der Shop und diese Seite habe nichts miteinander zu tun. 😉

        Grüße,
        Kai

Valeri · 16. May 2020 at 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. May 2020 at 09:45

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

    Grüße,
    Kai

Leave a Reply

Your email address will not be published. Required fields are marked *

en_USEnglish