[Modul] IPSymconShelly / Ansteuerung über REST API

IPSymconShelly

Dokumentation auf Github

Das Modul basiert auf den Skripten und der Diskussion aus Shelly die Alternative zu Sonoff?! die Steuerung erfolgt über die REST API von Shelly.

Es können Shelly Geräte

[ul]
[li]Shelly 1
[/li][li]Shelly Switch
[/li][li]Shelly 4 Pro
[/li][li]Shelly Plug
[/li][li]Shelly Bulb
[/li][/ul]

gesteuert werden und es wird der Status sowie der Stromverbrauch in IP-Symcon angezeigt.

Ergänzend ist es möglich über das Webinterface von Shelly aus dem Webfont Detaileinstellungen am Shelly vorzunehmen.

Installation

Die IP-Symcon (min Ver. 5.0) Webkonsole öffnen ( http://<IP-Symcon IP-Adresse>:3777/console/ ). Im Objektbaum unter Kerninstanzen die Instanz Modules durch einen doppelten Mausklick öffnen.

In der Modules Instanz rechts unten auf den Button + drücken.

In dem sich öffnenden Fenster folgende URL hinzufügen:


https://github.com/Wolbolar/IPSymconShelly  

und mit OK bestätigen.

Anschließend erscheint ein Eintrag für das Modul in der Liste der Instanz Modules

Einrichtung in IP-Symcon

In IP-Symcon nun eine neue Instanz mit Objekt hinzufügen -> Instanz (CTRL+1 in der Legacy Konsole) hinzufügen, und Shelly auswählen.

In der Instanz ist der Typ des Geräts und das Aktualisierungsintervall auszuwählen, sowie die IP Adresse des Geräts zu ergänzen. Die IP-Adresse kann man in der Shelly App unter Settings -> Device Information nachschlagen.

Webfront Ansicht
shelly_webfront.png

Ergänzend zur Steuerung über die REST API bietet Shelly auch die Möglichkeit der Steuerung über MQTT. MQTT Unterstützung der Shelly Firmware ist zur Zeit noch Beta. Wer eine Ansteuerung über MQTT wünscht findet ergänzend oder Alternativ zur Ansteuerung über die REST API eine Möglichkeit mit IPS-Shelly.

Hallo Fonzo,

Vielen Dank für Deine Arbeit!

Ich habe bisher nur die Shelly Bulb (die nebenbei bemerkt eine viel zu dunkle Funzel ist). Es gibt noch eine Fehlermeldung beim Staus der (auch nicht aktualisiert wird).

Klaus

Hallo,

Fonzo, wenn ich das laut Doku richtig im Kopf habe, wird der Shelly Bulb anders eingeschaltet, mit dem Attribut „ison“.

Grüße,
Kai

Schaue ich mir noch mal im Detail an, danke für den Hinweis.

Kannst Du mal schauen ob sich die Lampe nach einem Modul Update zumindest ein/ausschalten lässt und der Status aktualisiert wird? Color Effect, Color, Brightness Steuerung ist zur Zeit noch nicht im Modul drinnen, das muss noch ergänzt werden.

Hallo Fonzo,
Ja, Ein/Aus sowie Status sind jetzt i.O. :slight_smile:
Der Rest verhält sich auch so so wie Du beschrieben hast.

Grüsse
Klaus

Hallo Fonzo,

Wollte mich mal erkundigen ob Du Dein Shelly Projekt noch verfolgst? Oder haben Du und Kai sich auf ein gemeinsames Modul geeinigt?

Ich habe eine Bulb, ein 4 Pro und ein Shelly1 zusammen mit Seinem Modul getestet. Mir ist es aber so vorgekommen, das mein Raspberry bzw. Symcon damit etwas überfordert war und „teigig“ wurde.

Wie macht das die Shelly App (die finde ich richtig gut) das die Status Zustände so schnell aktualisiert werden?

Da ich noch mehrere Shellys zukünftig bei mir einsetzen möchte, frage ich mich was die „beste“ Lösung wäre. Vermutlich Mqtt?

Ja die Lampen muss ich noch mit vollem Funktionsumfang ergänzen.

Das kann man gegebenfalls ja später zusammen führen. Funktionieren tut beides wobei MQTT selber vom Hersteller auch noch nicht alle Funktionen unterstützt, in sofern muss man da abwarten was am Schluss mit MQTT alles möglich sein wird.

Kann ich selber nicht beurteilen, da ich das selber noch mit mit MQTT mit Shelly benutzt habe, da mir dann gleichzeitig der seperate Cloud Zugang zur Zeit wegfällt. Wenn man über die REST APi geht hängt ees von dem eingestellten Aktualisierungsintervall ab wie stark das IP-Symcon bzw. das Netzwerk belastet. Ich konnte da bei mir noch keine Einschränkungen sehen ich besitzte aber auch kaum Shelly als das dies ins Gewicht fallen würde.

Das weis ich ehrlich gesagt nicht im Detail, ich denke aber diese geht auch zur Zeit über die REST API.

Wenn denn mit MQTT alle Funktionen von Shelly vollständig abgebildet sind danndas sicher die beste Lösung, da dann wenig Netzwerk Verkehr austritt bzw. nur dann wenn ein Ereigniss stattfindet. Ansonsten ist es auch eine Frage dessen was man denn einsetzt für IP-Symcon, wenn man z.B. eine Symbox nutzt ist MQTT keine Option, es sei denn man nutzt dann nochmals einen seperaten Rechner auf dem ein MQTT Broker läuft. Die beste Lösung wäre in der Tat IP-Symcon würde, wenn sich dass denn weiter verbreitet, MQTT nativ unterstützten, dann könnte man das auch am einfachsten nutzten.

Was fehlt Dir zur Zeit konkret die Einstellung der Farbe denke ich mal?

Die Funktionen die MQTT zur Zeit bringt reichen vollkommen aus, um die Shelly Module zu schalten etc.
Die Einrichtung der Module muss nicht zwingend über IP-Symcon laufen, aber da hat jeder andere Ansichten.
Ich werde mir bei Gelegenheit noch weitere Shelly Module bestellen und das Modul weiter ausbauen. Zur Zeit habe ich auch schon angefangen das Shelly2 Modul zu integrieren, ich kann es halt nicht richtig testen, da ich dieses Modul nicht besitze.

Ich persönlich würde allerdings erstmal abwarten ob die Funktionen, die über die REST API laufen auch per MQTT kommen, denn dann würde ich alles über MQTT machen um nicht noch die HTTP Schnittstelle nutzen zu müssen. Also zur Zeit würde ich die Module noch nicht zusammenführen, da es evtl. auch einfach Mehrarbeit sein kann.

Grüße,
Kai

Hallo Fonzo,

Meine kleine Shelly Anlage wächst… Die Shelly App finde ich echt gut, von daher möchte ich die cloud auch aktiviert lassen.
Dein Modul habe ich noch installiert.

Bekomme aber regelmäßige Fehlermeldungen:

07.12.2018, 06:12:45 | PHP | Error: Notice: Undefined property: stdClass::$counter
Error in Script /var/lib/symcon/modules/IPSymconShelly/Shelly Device/module.php on Line 837
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
44 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
837 in modules/IPSymconShelly/Shelly Device/module.php (call IPSLogger_PhpErrorHandler)
359 in modules/IPSymconShelly/Shelly Device/module.php (call GetState)
79 in __generated.inc.php (call UpdateStatus)
1 in /- (call Shelly_UpdateStatus)

07.12.2018, 06:12:45 | TimerPool | Shelly (UpdateInterval): <br />
<b>Notice</b>: Undefined property: stdClass::$counter in <b>/var/lib/symcon/modules/IPSymconShelly/Shelly Device/module.php</b> on line <b>837</b><br />
11

Entwickelst Du das Modul noch weiter?
LG
Klaus

Schaue ich mir an, bin nur gerade am Server erneuern und muss gerade mein eigenes IPS wieder lauffähig bekommen zur Zeit läuft Backup System. Wenn der Server wieder geht schaue ich dann mal.
Bei welchem Shelly kommt die Fehlermeldung?

Das ist ein Shelly 2.
Hatte ich aber glaub genau so mit Bulb und Sense.

Folgende Shelly s habe ich zu Hause und könnte Testen:
Shelly 1
Shelly 2
Shelly 2Led
4Pro
Sense
Bulb

Bisher habe ich nur Shelly 2 fest verbaut und Sense in einer Ecke stehen. Den Rest müsste ich dann „fliegend“ verdrahten.

Vielen dank für das tolle Modul.
Läuft schon mal super.
Wie sieht es aus wird in Zukunft der Shelly H&T auch unterstützt?

Danke und geniesst die Zeit.

Hallo Fonzo,
Konntest Du meine Fehlermeldungen nachvollziehen?
Oder soll ich einfach mal Symcon mit der Raspberry Konsole aktualisieren?
LG
Klaus

Hallo Fonzo,

ich habe das gleiche Problem wie miconnect/Klaus.

Auch bei mir kommt der Fehler bei zwei Shelly2-Modulen. Ein eingesetztes Shelly1-Modul läuft ohne Probleme.

16.01.2019, 14:16:22 | TimerPool | Sss-EZ-13504D (UpdateInterval): <br />
<b>Notice</b>: Undefined property: stdClass::$counter in <b>C:\IP-Symcon\modules\IPSymconShelly\Shelly Device\module.php</b> on line <b>837</b><br />

16.01.2019, 14:16:23 | TimerPool | Sss-WZ-559DAA (UpdateInterval): <br />
<b>Notice</b>: Undefined property: stdClass::$counter in <b>C:\IP-Symcon\modules\IPSymconShelly\Shelly Device\module.php</b> on line <b>837</b><br />

Ich würde mich auch über ein Update sehr freuen.

Gruss

Robert

Habe gerade meinen ersten Shelly 1 eingebaut und mit dem Modul verknüpft.
Die Updatezeit habe ich auf 5 sec gesetzt und hoffe, dass das keine Überbeanspruchung auf dem Webserver verursacht.

Das Modul klappt hervorragend - vielen Dank!!
Auch von mir die Frage bzgl. weiterer Aktualisierungen, da ein Shelly 2 auf seinen Einbau wartet.

Gruß NBA

Was brauchst Du denn genau? Sobald MQTT sowohl in der Firmware von Shelly Stable ist als auch MQTT in IP-Symcon in der Stable verfügbar ist es wohl MQTT ein guter Weg, denn dann spart man sich das ständige Abfragen.

… deshalb vermute ich noch Probleme bei Shelly 2 und evtl. auch Shelly 2.5.
Lt. History ist Dein Modul von Okt 2018 und #15 von Januar.

Der Shelly 1 klappt prima.