[Tutorial] Shelly remote ĂĽber Cloud API mit Homey steuern

Da es nun schon öfter zur Frage kam, wie man Shellys an einem anderen Ort steuern kann, packe ich das Ganze mal in eine kleine Anleitung. Diese Anleitung beschreibt das Steuern eines Gerätes außerhalb Eures Netzwerks. Der Shelly muss am anderen Ort natürlich mit dem Internet und der Shellycloud verbunden sein.

Als Erstes wird der Shelly API Key benötigt, nur mit diesem habt Ihr Zugriff auf Eure Geräte. Dazu logt Ihr Euch entweder in die ShellyAPP oder über my.shelly.cloud in Euren Account ein.

Über Einstellungen → Benutzereinstellungen → Cloud-Aktivierungs-Schlüssel könnt Ihr Euren einmaligen Schlüssel sowie den dazugehörigen Server abholen.
image
Den Key solltet Ihr niemanden geben, da damit alle Eure Shellys verwaltet werden können. Solltet Ihr mal Euer Password in der ShellyCloud ändern, ändert sich auch der Key!

Als Nächstes benötigt Ihr noch die ID von dem Gerät, welches Ihr Steuern wollt. Dazu navigiert Ihr zu diesem und findet unter Einstellungen → Geräteinformationen die Geräte-ID.


Diese notiert/kopiert Ihr Euch ebenfalls.

Mit diesen Drei Informationen (API Key, Shelly-Server und GeräteID) könnt Ihr remote einen Shelly steuern.

Dazu benötigen wir die “Dann” Kondition mit der Logik Karte
image

Nun gilt es diese Karte mit Leben zu füllen. (In diesem Beispiel öffne ich ein Fenster mit einem Shelly 2.5 im „Roller Mode“)

Methode: Post
URL: https://shelly-XX-eu.shelly.cloud/device/relay/roller/control (XX mit eurem Shellyserver austauschen)
Headers: content-type:application/x-www-form-urlencoded (damit geben wir dem Server mit, das wir jetzt Anfragen im angegebenen Format ĂĽbertragen)
Body: id=XXXXXXXX&direction=open&auth_key=XXXXXXXXXXXXXXXXXXXXXXXXXXX… Die ID ist Euere DeviceID und der auth_Key der API Schlüssel

Wenn diese Kachel jetzt ausführt, sollte sich das Fenster, das Rollo oder die Jalousie öffnen. Zum Schließen sendet Ihr einfach “Close” und zum Anhalten “Stop” bzw. könnt Ihr mit pos statt direction auch eine Prozentangabe schicken “pos=[0…100]”

Solltet Ihr den Shelly zum Schalten von verschiedenen Lichtern nutzen, so ändert sich die API URL

URL: https://shelly-xx-eu.shelly.cloud/device/relay/control
Body: channel=&turn=on&auth_key=XXXXXXXXXXXXXXXXXX…

Mit der Channel-ID sagt ihr dem Shelly, welchen Kanal er schalten soll (0 oder 1). Mit turn gibt Ihr dem Shelly mit ob er das Relay ein (on) oder aus (off) schalten soll. Wenn diese Grundprinzipien verstanden sind, ist es ein leichtes auch die anderen Shellys der Familie zu steuern.

Hier findet Ihr eine kleine Übersicht der einzelnen Shellys und der Möglichkeiten sie zu steuern:

Solltet Ihr noch Fragen haben, dann gern hier rein.
Den umgekehrten Weg Remote → Shelly werde ich in einem anderen Tutorial angehen.

5 Likes

Platzhalter