Von: Simon

Shelly API – Geräte über WebHook URL steuern

In diesem Blog-Beitrag zeige ich dir Schritt für Schritt, wie du Shelly-Geräte über die Shelly-API steuern kannst. Wir werden Schritt für Schritt zeigen, wie Sie Steuerungs-URL für Ihren Shelly Cloud Account oder lokale Geräte erstellen und verwenden können. Diese API ist sicher und einfach zu bedienen, sodass jeder schnell loslegen kann!

Warum sollte man überhaupt die API nutzen

Es gibt viele Gründe, warum du deine Smart Home-Geräte von Shelly über eine API steuern solltest. Der vielleicht wichtigste Grund ist die Sicherheit. Wenn du eine API verwendest, hast du die Kontrolle darüber, wer Zugang zu deinen Geräten hat und was er mit ihnen machen kann. Das ist viel sicherer, als jemandem oder einem Plugin einfach das Passwort für dein Konto zu geben.

Ein weiterer Grund, die API zu nutzen, ist die Bequemlichkeit. Es kann viel einfacher sein, eine Automatisierung einzurichten und deine Geräte über eine URL zu steuern als über eine mobile App oder ein Webinterface. Das gilt besonders, wenn du mehrere Geräte von verschiedenen Herstellern hast, die vielleicht keine Schnittstelle haben oder nicht alle Funktionen unterstützten.

Ich habe das beispielsweise schon für mein smartes Türöffner Projek, den Shelly Button und meinem DIY-Bewässerungscomputer gebraucht. Denn über diese URL aufrufe, kannst du deine Shelly Geräte deinem lokalen Netzwerk aus steuern und über die Shelly Cloud von überall aus steuern. Das einzige, was du dafür tun musst, ist eine simple URL aufzurufen und so dein Gerät zu schalten.

Also lass uns loslegen!

Geräte im lokalen Netzwerk (WLAN) steuern

Der einfachste Weg, deine Shellies zu steuern, ist erst mal über das Lokal Netzwerk. Tatsächlich nur eine simple URL aufrufen, bei der Cloud-Steuerung (weiter unten) funktioniert das Ganze etwas anders und komplizierter.

IP Adresse herausfinden

Zuerst musst du mal herausfinden, welche IP-Adresse dein zu steuerndes Shelly Gerät hat. Verbinde dich hier zu einfach über den Browser mit dem Web Interface, oder schau in der App unter Geräteinformation nach.

Übrigens: Der Hostname (Gerätename) würde zwar auch funktionieren, aber die IP Adresse ist zuverlässiger 😉

Befehl aussuchen

Das Wichtigste, was du am Anfang wissen musst: Hier kannst du auf die Dokumentation des Herstellers zugreifen (leider nicht auf Deutsch verfügbar). Sie enthält jede Information darüber, wie du Shellies abfragen, programmieren und verwalten kannst. Aber hier sind die wichtigsten HTTP-API-Befehle zum Ändern von Shelly Gadgets, die ich aufgeschrieben habe:

GerätModusZweckBefehl
Shelly1 / Shelly1PManschaltenhttp://IP.vom.Shelly.Gerät/relay/0?turn=on
Shelly1 / Shelly1PMausschaltenhttp://IP.vom.Shelly.Gerät/relay/0?turn=off
Shelly2(.5) Kanal 1relayanschaltenhttp://IP.vom.Shelly.Gerät/relay/0?turn=on
Shelly2(.5) Kanal 1relayausschaltenhttp://IP.vom.Shelly.Gerät/relay/0?turn=off
Shelly2(.5) Kanal 2relayanschaltenhttp://IP.vom.Shelly.Gerät/relay/1?turn=on
Shelly2(.5) Kanal 2relayausschaltenhttp://IP.vom.Shelly.Gerät/relay/1?turn=off
Shelly2(.5)rolleröffnenhttp://IP.vom.Shelly.Gerät/roller/0?go=open
Shelly2(.5)rollerschließenhttp://IP.vom.Shelly.Gerät/roller/0?go=close
Dimmer/SLanschaltenhttp://IP.vom.Shelly.Gerät/light/0?turn=on
Dimmer/SLausschaltenhttp://IP.vom.Shelly.Gerät/light/0?turn=off
Dimmer/SLdimmen auf 50%http://IP.vom.Shelly.Gerät/light/0?brightness=50

Wie du siehst, gibt es abhängig von deinem Gerätetyp, Version der Firmware und der entsprechenden Ausgänge, Eingänge beziehungsweise Interface es gibt es nun verschiedene Befehle zur Steuerung. Such dir aus der Tabelle 👆 einfach dein Gerät und einen Befehl aus.

Testen der Befehls-URL

In meinem Fall, sie die fertig generierte URL zum Anschalten des Shelly Plug S so aus:

http://192.168.1.12/relay/0?turn=on

Diese kann einfach im Browser aufgerufen werden, und es smarte Stecker schaltet sofort.

Sobald die Anfrage verarbeitet wurde, siehst du ein weises Browserfenster mit der Antwort des Gerätes, in JSON-Daten geschrieben. Hier teilen dir die Shellys mit z.B. mit, dass der Status von “ison” nun auf “true” ist, also angeschaltet ist.

Was tun bei Passwortgeschützen Shellies?

Wenn du diese Oberfläche mit einem Benutzernamen und ein Kennwort gesichert hast, musst du zusätzlich noch einen sogenannten “HTTP Basic Autorisation Header” mitgeben.

Klingt erst mal nach Raketenwissenschaft, ist aber kein Problem. Denn im Browser lässt sich der Header relativ einfach übergeben. Schreibe einfach vor die IP-Adresse deines Geräts die Zugangsdaten in der Form:

http://Benutzername:Kennwort@IP-Adresse

Bei mir also:

http://admin:supergeheim@192.168.1.12/relay/0?turn=on

Genau diese URLs benötigst du übrigens beim Shelly Button als “URL-Action”, um Geräte beim Tastendruck steuern zu können. Alternativ kannst du aber auch Szenen verwenden.

Geräte über das Internet (Shelly-Cloud) steuern

Da die Steuerung über die Cloud um einiges komplizierter ist, empfiehlt sich diese Vorgehensweise nur für erfahrene oder leidensfähig Smart Home Enthusiasten 🙂

Cloud aktivieren

Als Erstes musst du ein Shelly Cloud-Konto erstellen oder dich mit deiner E-Mail Adresse bzw. Benutzername anmelden. Das geht sowohl in der App, als auch in der Weboberfläche der Shelly Cloud.

Außerdem muss das Gerät, dass du steuern willst, natürlich in der Shelly Cloud sein, zu erkennen an dem kleinen Wolkensymbol am Gerät.

Shelly Cloud Symbol

Cloud-Key, Server und Device-ID herausfinden

Was du noch benötigst, ist dein Cloud API Key und der Server, auf dem dein Konto angelegt wurde. Beides findest du wieder in der Shelly App oder der Weboberfläche.

Der API-Key gilt für alle Geräte deines Accounts, genau wie der Server.

Ein Login mit E-Mail und Password ist bei der Cloud übrigens nicht möglich.

Von dem zu steuernden Gerät benötigst du außerdem noch die Device-ID. Diese gibts ebenfalls in der App.

Cloud-Befehl herausfinden

Dringend ist erst mal zu wissen, dass die Seite für die Dokumentation für eine andere ist. Hier (Link) gibt es alle Informationen und ein Beispiel zum Senden sowie Empfangen von Daten.

Im Abschnitt Communication sieht man bereits, dass die Anfragen auch anders aufgebaut sind. Denn hier wird anstatt mit URL Parametern über eine Payload gearbeitet (also einen Anfrage-Inhalt, wenn man so will), der dem Format “application/x-www-form-urlencoded” entsprechen muss.

Befehl an die Cloud-API senden

Über den Browser lässt sich die Cloud-API nun nicht mehr so einfach testen, weshalb wir auf die Anwendung Postmann (Download) zurückgreifen. Dies ist eine kostenfreie Applikation, welche von Google mit entwickelt wird, um APIs zu testen.

Nachdem du die Anwendung installiert hast, folge einfach dem Video und pausiere, wenn nötig. Denke bitte auch daran, deine(n) eigene(n) Device-ID, Server Namen und API Key zu nutzen.

Wie du mit Postman in API-Sprache einen Request an ein Shelly Device senden kannst. In meinem Beispiel an eine Shelly 1.

Ich hoffe, dieser Blog-Beitrag war hilfreich und hat dir gezeigt, wie du deine Shelly-Geräte mit der API steuern kannst. Wenn du Fragen hast oder auf Probleme stößt, zögere bitte nicht, uns ein Kommentar dazulassen.

Vielen Dank fürs Lesen!

close
HomeKit Geräte Übersicht

smarte News

Erfahre als Erster, wenn wir neue Artikel zu Smart Home oder anderen interessanten Themen veröffentlichen!

Wir senden keinen Spam und verkaufen keine Daten! Erfahre mehr in unserer Datenschutzerklärung.

Die Anzeige der Produkte wurde mit dem affiliate-toolkit Plugin umgesetzt.

Gründer von simon42. Schreibt hier ehrlich und leidenschaftlich über Smart Home und Technik Themen, denn das Zuhause wurde bereits von Sprachassistenten übernommen und die Kontrolle abgegeben 😁 Kaffeespende

Abonnieren
Benachrichtige mich bei
guest
12 Comments
Newest
Oldest Most Voted
Inline Feedbacks
Alle Kommentare anzeigen