Shelly Direktverknüpfung – lokale Automationen ohne Cloud (mit Beispiel)

Kurz gesagt: Eine Shelly Direktverknüpfung verbindet zwei Shelly-Geräte direkt im lokalen Netzwerk. Ein Shelly kann dabei per Shelly Script einen HTTP-Befehl an einen anderen Shelly senden – ohne Shelly Cloud, ohne ioBroker, ohne Home Assistant und ohne zusätzliche Zentrale. Für einfache Aufgaben wie „Taster gedrückt → anderes Relais schalten“ ist das oft die schnellste und schlankste Lösung.

In vielen Smart-Home-Setups laufen Shelly-Geräte über ioBroker, Home Assistant oder die Shelly Cloud. Das funktioniert, ist aber nicht immer nötig. Shellys der Plus-, Pro- und Gen3-Serie können direkt miteinander kommunizieren. Genau das macht die Shelly Direktverknüpfung so interessant: Ein lokaler Tastendruck kann sofort ein anderes Shelly-Relais schalten, ohne dass ein Server dazwischen hängt.

In diesem Beitrag zeige ich dir Schritt für Schritt, wie du zwei Shelly-Geräte direkt miteinander verknüpfst. Im Beispiel schaltet ein Taster an Shelly A den zweiten Ausgang von Shelly B. Danach schauen wir uns noch ein weiteres Praxisbeispiel mit Temperatursteuerung an.

Wichtig: Arbeiten an 230 Volt dürfen nur von einer Elektrofachkraft durchgeführt werden. Dieser Beitrag zeigt die Logik, Konfiguration und Skripte für Shelly-Geräte. Er ersetzt keine fachgerechte Elektroinstallation.


Was ist eine Shelly Direktverknüpfung?

Eine Shelly Direktverknüpfung ist eine lokale Automation zwischen zwei oder mehr Shelly-Geräten. Dabei sendet ein Shelly direkt einen Befehl an einen anderen Shelly. Das kann über HTTP, RPC oder MQTT passieren. In diesem Beitrag nutzen wir HTTP/RPC, weil es besonders einfach und gut nachvollziehbar ist.

Das Prinzip ist simpel: Ein Eingang an Shelly A erkennt einen Tastendruck. Ein Shelly Script auf Gerät A reagiert auf dieses Ereignis und ruft per HTTP die lokale IP-Adresse von Shelly B auf. Shelly B schaltet daraufhin einen Ausgang ein, aus oder um.

Das funktioniert rein lokal im eigenen Netzwerk. Die Shelly Cloud muss dafür nicht aktiv sein. Auch ioBroker oder Home Assistant sind nicht nötig. Genau deshalb eignet sich diese Methode besonders für kleine, robuste Automationen, bei denen keine komplexe Smart-Home-Zentrale erforderlich ist.

Schematische Darstellung einer Shelly Direktverknüpfung: Ein Shelly mit Taster sendet per HTTP-Befehl ein Signal an ein Relais auf einem zweiten Shelly-Gerät.
Shelly Direktverknüpfung: Ein Tastendruck auf Gerät A löst lokal einen HTTP-Befehl auf Gerät B aus.

Wann ist eine Shelly Direktverknüpfung sinnvoll?

Eine Shelly Direktverknüpfung ist sinnvoll, wenn ein Shelly-Gerät direkt auf ein anderes Shelly-Gerät reagieren soll. Typische Beispiele sind ein Wandtaster, der ein entferntes Relais schaltet, eine einfache Lichtsteuerung, eine Lüftersteuerung oder eine lokale Notfallfunktion, die auch ohne Smart-Home-Server funktionieren soll.

Besonders praktisch ist das in Situationen, in denen eine zentrale Automation überdimensioniert wäre. Wenn ein Tastendruck nur einen anderen Shelly schalten soll, muss dafür nicht zwingend Home Assistant, ioBroker oder ein MQTT-Server beteiligt sein.

LösungGut geeignet fürEinschränkung
Shelly DirektverknüpfungEinfache lokale Automationen, Taster, Relais, Licht, LüfterAbhängig vom lokalen Netzwerk und WLAN
ioBrokerKomplexe Logik, Visualisierung, viele SystemeZentrale muss laufen
Home AssistantKomfortable Automationen, Dashboards, IntegrationenZusätzliche Hardware oder VM nötig
KNXProfessionelle, kabelgebundene GebäudesteuerungTeurer und aufwendiger einzurichten

Einordnung: Eine Shelly Direktverknüpfung ersetzt kein professionelles Bussystem wie KNX. Für viele kleinere Smart-Home-Aufgaben ist sie aber erstaunlich praktisch, weil sie lokal, schnell und ohne zusätzliche Zentrale funktioniert.


Voraussetzungen für eine Shelly Direktverknüpfung

Damit die direkte Verbindung zwischen zwei Shellys zuverlässig funktioniert, müssen beide Geräte im gleichen lokalen Netzwerk erreichbar sein. Außerdem braucht der sendende Shelly eine Skriptfunktion. Das ist bei vielen Shelly Plus-, Pro- und Gen3-Geräten der Fall.

  • 2 Shelly-Geräte mit Skriptunterstützung, zum Beispiel Shelly Plus 1PM, Shelly Plus 2PM, Shelly 1 Gen3 oder Shelly Pro Geräte
  • Beide Shellys befinden sich im selben lokalen Netzwerk
  • Die IP-Adresse des Ziel-Shellys ist bekannt
  • Statische IP-Adresse oder DHCP-Reservierung ist empfohlen
  • Auf dem sendenden Shelly ist ein Eingang, Taster oder Schalter vorhanden
  • Der Eingang sollte passend konfiguriert sein, zum Beispiel als Taster im Detached-Modus

Für mein Beispiel verwende ich zwei Geräte:

  • Shelly A: Gerät mit angeschlossenem Taster an Input 0
  • Shelly B: Gerät mit Relaisausgang, der geschaltet werden soll

Im Beispiel hat Shelly B die IP-Adresse 192.168.1.11. Diese Adresse musst du später durch die tatsächliche IP-Adresse deines Zielgeräts ersetzen.

Passende Geräte für solche Experimente sind zum Beispiel Shelly Plus 1PM, Shelly Plus 2PM oder Shelly Gen3-Modelle. Wenn du ohnehin mehrere Verbraucher oder einen Rollladen steuern möchtest, ist ein Shelly 2PM bei Amazon (bezahlter Link) eine flexible Basis.


Warum der Detached-Modus wichtig ist

Der Detached-Modus trennt den Eingang logisch vom lokalen Relais. Das bedeutet: Wenn du den Taster drückst, schaltet der Shelly nicht automatisch sein eigenes Relais. Stattdessen kann das Script frei entscheiden, was passieren soll.

Für eine Shelly Direktverknüpfung ist das oft die sauberste Lösung. Der Taster wird dann nicht mehr als klassischer Lichtschalter verwendet, sondern als Eingabegerät für eine Automation. Das Script kann anschließend ein anderes Gerät schalten, eine Szene auslösen oder mehrere HTTP-Befehle senden.

Ohne Detached-Modus kann es passieren, dass der sendende Shelly zusätzlich sein eigenes Relais schaltet. Das ist manchmal gewollt, führt aber schnell zu unerwartetem Verhalten. Besonders bei Tastern ist der Detached-Modus deshalb meist die bessere Wahl.

Merksatz: Wenn der Shelly-Eingang nur ein Script auslösen soll, verwende Detached. Wenn der Eingang zusätzlich das lokale Relais schalten soll, verwende einen normalen Schalter- oder Tastermodus.


Praxisbeispiel: Taster auf Shelly A schaltet Relais auf Shelly B

In diesem Beispiel soll ein Taster an Shelly A den zweiten Ausgang von Shelly B umschalten. Das ist ein typischer Anwendungsfall, wenn ein Wandtaster an einer Stelle sitzt, aber ein Verbraucher an einem anderen Shelly geschaltet werden soll.

Ziel der Shelly Direktverknüpfung

Ein Tastendruck auf Input 0 von Shelly A soll den zweiten Relaisausgang von Shelly B toggeln. Toggeln bedeutet: Ist der Ausgang aus, wird er eingeschaltet. Ist er an, wird er ausgeschaltet.

Der HTTP-Befehl dafür lautet:

http://192.168.1.11/rpc/Switch.Toggle?id=1

192.168.1.11 ist die IP-Adresse von Shelly B. id=1 steht für den zweiten Schaltausgang. Wenn du den ersten Ausgang schalten möchtest, verwendest du id=0.

Schritt 1: IP-Adresse von Shelly B festlegen

Damit Shelly A den zweiten Shelly zuverlässig erreicht, sollte Shelly B immer die gleiche IP-Adresse haben. Am besten vergibst du dafür im Router eine DHCP-Reservierung. So bleibt die Adresse gleich, ohne dass du direkt im Shelly eine feste IP eintragen musst.

In diesem Beispiel verwenden wir:

Shelly B: 192.168.1.11

Wenn dein Ziel-Shelly eine andere Adresse hat, musst du diese im Script entsprechend ändern.

Schritt 2: Taster auf Shelly A konfigurieren

Öffne die Weboberfläche von Shelly A oder die Shelly App. Der Eingang, an dem dein Taster hängt, muss als Taster konfiguriert werden. Zusätzlich sollte der Eingang im Detached-Modus arbeiten, damit das lokale Relais nicht ungewollt mitschaltet.

  • Öffne Inputs
  • Wähle Input 0
  • Stelle den Eingang auf Button oder Momentary
  • Aktiviere Detached, falls verfügbar
  • Speichere die Einstellung

Je nach Shelly-Modell und Firmware kann die Bezeichnung leicht abweichen. Entscheidend ist: Der Eingang soll einen kurzen Tastendruck erkennen, aber nicht automatisch das lokale Relais schalten.

Schritt 3: Script auf Shelly A anlegen

Jetzt wird das Script auf dem sendenden Shelly erstellt. Öffne dafür die Weboberfläche von Shelly A und gehe zu Scripts → Add new script. Gib dem Script einen Namen, zum Beispiel toggle_remote_output.

Füge anschließend dieses Script ein:

Shelly.addEventHandler(function (event) {
  if (event.component === "input:0" && event.info.event === "single_push") {
    Shelly.call("HTTP.GET", {
      url: "http://192.168.1.11/rpc/Switch.Toggle?id=1"
    });
  }
});

Dieses Script wartet auf einen einfachen Tastendruck an input:0. Sobald dieser erkannt wird, sendet Shelly A einen HTTP-GET-Befehl an Shelly B. Dort wird der Schaltausgang mit der ID 1 umgeschaltet.

Hinweis: Bei manchen Shelly-Konfigurationen kann statt single_push auch btn_down besser funktionieren. Wenn dein Script nicht reagiert, prüfe im Script-Log, welches Event dein Shelly beim Tastendruck tatsächlich ausgibt.

Alternative: Auf btn_down reagieren

Wenn dein Shelly beim Tastendruck kein single_push liefert oder du direkt beim Drücken reagieren möchtest, kannst du auf btn_down prüfen. Das Script sieht dann so aus:

Shelly.addEventHandler(function (event) {
  if (event.component === "input:0" && event.info.event === "btn_down") {
    Shelly.call("HTTP.GET", {
      url: "http://192.168.1.11/rpc/Switch.Toggle?id=1"
    });
  }
});

Diese Variante reagiert direkt beim Drücken des Tasters. Das kann sich schneller anfühlen und ist in manchen Setups zuverlässiger als single_push.

Schritt 4: Script aktivieren und testen

Nach dem Einfügen muss das Script gespeichert und aktiviert werden. Danach kannst du den Taster testen.

  • Script speichern
  • Script aktivieren
  • Taster an Shelly A drücken
  • Prüfen, ob Ausgang 1 an Shelly B schaltet
  • Falls nichts passiert: IP-Adresse, Event-Typ und Zielausgang prüfen

Wenn alles korrekt eingerichtet ist, sollte Shelly B sofort reagieren. Die Schaltung läuft lokal im Netzwerk und benötigt keine Cloud-Verbindung.


Erster oder zweiter Ausgang: Was bedeutet id=0 und id=1?

Bei Shelly-Geräten mit mehreren Ausgängen werden die Schaltkanäle intern nummeriert. Dabei beginnt die Zählung bei 0. Das ist wichtig, weil der sichtbare „erste Ausgang“ im Script nicht id=1, sondern id=0 ist.

Shelly-AusgangRPC-IDBeispielbefehl
Erster Ausgangid=0/rpc/Switch.Toggle?id=0
Zweiter Ausgangid=1/rpc/Switch.Toggle?id=1

Wenn du also bei einem Shelly 2PM den zweiten Ausgang schalten möchtest, ist id=1 korrekt. Für einen Shelly Plus 1PM mit nur einem Ausgang verwendest du dagegen normalerweise id=0.


Switch.Toggle, Switch.Set und Switch.GetStatus: Die wichtigsten Befehle

Für einfache Shelly Direktverknüpfungen reichen meist drei RPC-Befehle: Switch.Toggle, Switch.Set und Switch.GetStatus. Damit kannst du einen Ausgang umschalten, gezielt ein- oder ausschalten oder den aktuellen Zustand abfragen.

BefehlFunktionBeispiel
Switch.ToggleSchaltet den Ausgang um/rpc/Switch.Toggle?id=0
Switch.SetSchaltet gezielt ein oder aus/rpc/Switch.Set?id=0&on=true
Switch.GetStatusLiest den Zustand aus/rpc/Switch.GetStatus?id=0

Für einen einfachen Taster ist Switch.Toggle besonders bequem. Wenn du aber klare Zustände brauchst, zum Beispiel „Lüfter einschalten ab 26 °C“ und „Lüfter ausschalten unter 24 °C“, ist Switch.Set besser geeignet.


Weiteres Beispiel: Temperaturgesteuerte Lüftersteuerung

Eine Shelly Direktverknüpfung kann nicht nur auf Taster reagieren. Du kannst auch Sensordaten auswerten und damit andere Shelly-Geräte schalten. Ein typisches Beispiel ist eine einfache Lüftersteuerung über Temperatur.

Mit einem Shelly Add-On (bezahlter Link) und einem DS18B20-Temperatursensor lässt sich eine einfache Klima-Automation bauen. Der sendende Shelly misst die Temperatur und schaltet bei Bedarf einen Lüfter an einem anderen Shelly, Shelly Plug oder Relais.

Ziel der Temperatursteuerung

Wenn die Temperatur über 26 °C steigt, soll ein Lüfter eingeschaltet werden. Sinkt die Temperatur unter 24 °C, wird der Lüfter wieder ausgeschaltet. Durch diese zwei Schwellen entsteht eine kleine Hysterese, damit der Lüfter nicht ständig ein- und ausschaltet.

Timer.setInterval(10000, function () {
  let temp = Shelly.getComponentStatus("temperature:0").tC;

  if (temp > 26) {
    Shelly.call("HTTP.GET", {
      url: "http://192.168.1.11/rpc/Switch.Set?id=0&on=true"
    });
  } else if (temp < 24) {
    Shelly.call("HTTP.GET", {
      url: "http://192.168.1.11/rpc/Switch.Set?id=0&on=false"
    });
  }
});

Das Script prüft alle 10 Sekunden die Temperatur von temperature:0. Liegt der Wert über 26 °C, wird der Ziel-Shelly eingeschaltet. Liegt der Wert unter 24 °C, wird er wieder ausgeschaltet.

Hinweis: Der Temperatursensor muss vom Shelly korrekt erkannt werden. Prüfe vorher in der Weboberfläche, ob unter den Komponenten ein Wert für temperature:0 angezeigt wird.


Typische Fehler bei Shelly Direktverknüpfungen

Wenn die Shelly Direktverknüpfung nicht funktioniert, liegt es meist an einem von wenigen typischen Fehlern. Die folgende Tabelle hilft bei der Fehlersuche.

ProblemMögliche UrsacheLösung
Tasterdruck schaltet nichtsFalsches Event im ScriptStatt single_push testweise btn_down verwenden
Ziel-Shelly reagiert nichtFalsche IP-AdresseIP im Router oder in der Shelly App prüfen
Falscher Ausgang schaltetFalsche ID verwendetid=0 für Ausgang 1, id=1 für Ausgang 2
Lokales Relais schaltet zusätzlichInput nicht DetachedEingang auf Detached stellen
Funktioniert nur manchmalWLAN oder DHCP-ProblemeSignal prüfen und DHCP-Reservierung setzen
Script startet nach Neustart nichtScript nicht aktiviertScript speichern und aktivieren

Mein wichtigster Tipp: Teste den HTTP-Befehl zuerst direkt im Browser. Wenn du im Browser http://192.168.1.11/rpc/Switch.Toggle?id=1 aufrufst und der Ziel-Shelly schaltet, funktioniert die Zielseite. Dann liegt ein Fehler eher beim Eingang, Event oder Script auf dem sendenden Shelly.


Shelly Direktverknüpfung oder Smart-Home-Zentrale?

Eine Shelly Direktverknüpfung ist ideal für einfache lokale Aufgaben. Sobald du aber mehrere Bedingungen, Zeitpläne, Visualisierungen, Verbrauchsdiagramme oder komplexe Abhängigkeiten brauchst, ist eine zentrale Lösung wie ioBroker oder Home Assistant oft besser geeignet.

AnforderungEmpfohlene Lösung
Ein Taster schaltet ein anderes RelaisShelly Direktverknüpfung
Temperatur schaltet einfachen LüfterShelly Script oder Direktverknüpfung
Viele Bedingungen und GeräteioBroker oder Home Assistant
Dashboards und VisualisierungioBroker oder Home Assistant
Professionelle kabelgebundene GebäudesteuerungKNX

Für einfache Aufgaben wie Taster → Relais ist die Shelly Direktverknüpfung aber oft genau richtig. Sie ist schnell eingerichtet, läuft lokal und benötigt keine zusätzliche Infrastruktur.

Wenn du mehr über den Unterschied zwischen bloßem App-Schalten und echter Automation lesen möchtest, findest du hier den passenden Folgeartikel: Echtes Smart Home – Automatisierung statt Fernbedienung.


Häufige Fragen zur Shelly Direktverknüpfung

Funktioniert eine Shelly Direktverknüpfung ohne Internet?

Ja. Eine Shelly Direktverknüpfung funktioniert ohne Internet, solange beide Shelly-Geräte im lokalen Netzwerk erreichbar sind. Die Kommunikation läuft direkt über die lokale IP-Adresse des Zielgeräts.

Brauche ich für eine Shelly Direktverknüpfung die Shelly Cloud?

Nein. Die Shelly Cloud ist für diese Art der lokalen Verknüpfung nicht erforderlich. Das Script sendet den Befehl direkt im Heimnetz an den anderen Shelly.

Geht das auch ohne ioBroker oder Home Assistant?

Ja. Genau das ist der Vorteil dieser Lösung. Für einfache Aufgaben wie einen entfernten Schaltbefehl brauchst du keine zusätzliche Smart-Home-Zentrale.

Welche Shelly-Geräte unterstützen Scripts?

Viele Shelly Plus-, Pro- und Gen3-Geräte unterstützen Scripts. Ältere Shelly-Modelle der ersten Generation können je nach Modell und Firmware eingeschränkt sein oder keine Shelly Scripts unterstützen. Vor dem Kauf oder Umbau solltest du prüfen, ob dein konkretes Gerät Scripts unterstützt.

Was ist besser: single_push oder btn_down?

single_push reagiert auf einen erkannten kurzen Tastendruck. btn_down reagiert direkt beim Drücken des Tasters. Wenn dein Script mit single_push nicht zuverlässig auslöst, kann btn_down die bessere Wahl sein.

Warum sollte ich dem Ziel-Shelly eine feste IP geben?

Das Script ruft den Ziel-Shelly über seine IP-Adresse auf. Wenn sich diese Adresse ändert, zeigt der Befehl ins Leere. Deshalb ist eine DHCP-Reservierung im Router sinnvoll.

Kann ich mit einem Taster mehrere Shellys gleichzeitig schalten?

Ja. Im Script können mehrere HTTP-Befehle nacheinander ausgeführt werden. So kann ein Tastendruck mehrere Shelly-Geräte schalten. Für komplexere Szenen ist aber irgendwann eine zentrale Automation übersichtlicher.


Fazit: Shelly Direktverknüpfung ist ideal für einfache lokale Automationen

Die Shelly Direktverknüpfung ist eine einfache und elegante Möglichkeit, Shelly-Geräte lokal miteinander zu verbinden. Ein Taster auf Gerät A kann direkt ein Relais auf Gerät B schalten, ohne Cloud, ohne Server und ohne zusätzliche Smart-Home-Zentrale.

Für kleine Aufgaben wie Licht, Lüfter, Relais oder einfache Fernschaltungen ist das eine sehr praktische Lösung. Sobald deine Logik größer wird, bleiben ioBroker oder Home Assistant natürlich weiterhin sinnvoll. Aber für den klassischen Fall „Taster gedrückt, anderer Shelly schaltet“ ist die direkte Shelly-zu-Shelly-Kommunikation angenehm schlank.

Weitere Beispiele wie Long-Press-Aktionen, Szenensteuerung oder mehrere Zielgeräte pro Tastendruck folgen in einem weiteren Teil.

2 Kommentare zu „Shelly Direktverknüpfung – lokale Automationen ohne Cloud (mit Beispiel)“

  1. Hallo,

    würde gerne folgendes realisieren, ausschließlich über Bluetooth da ich teilweise keine Internetverbindung habe:

    Taste 1 Einfach Shelly 1: An/Aus (Toggle) Bluetooth
    Taste 1 Lang Shelly 1: Stufenlos Dimmen (Richtung wechselnd) Bluetooth
    Taste 1 Doppelt Gruppe: Beide Shellys AN (letzter Wert) Bluetooth
    Taste 1 Dreifach Gruppe: Beide Shellys AUS Bluetooth
    Taste 2 Einfach Shelly 1: Nächste Farbmischung (sanfter Übergang) Bluetooth
    Taste 3 Einfach Shelly 2: An/Aus (Toggle) Bluetooth
    Taste 3 Lang Shelly 2: Stufenlos Dimmen (Richtung wechselnd) Bluetooth
    Taste 4 Einfach Shelly 2: Nächste Farbmischung (sanfter Übergang) Bluetooth

    Kannst du mir dabei weiterhelfen?
    Danke und Grüße
    Jochen

    Antworten
    • Hallo Jochen 😊

      dein Wunsch ist absolut nachvollziehbar – so in der Art „eine Taste, viele Funktionen, alles lokal“. Ich muss aber kurz die Erwartungen einfangen:

      Shelly + Bluetooth ist aktuell eher für Koppeln und einfache Taster gedacht (An/Aus, Dimmen), nicht als komplett frei programmierbare Logik mit Doppelklick, Dreifachklick, Gruppen, Farben usw.

      Die gute Nachricht:
      👉 Du brauchst dafür kein Internet.
      👉 Ein kleines lokales WLAN reicht völlig (zur Not auch ein Mini-Router oder Handy-Hotspot ohne Internet).

      So machen es die meisten:

      Ein Shelly-Taster (z. B. BLU Button) liefert Klicks (einfach / doppelt / lang)
      Ein Shelly mit Script-Funktion wertet das aus
      Der schaltet die anderen Shellys direkt im lokalen Netz (An/Aus, Dimmen, Farben, Gruppen)

      Das klingt komplizierter als es ist – und genau hier kommt KI ins Spiel 🙂
      Viele lassen sich heute das passende Shelly-Script schrittweise von einer KI erklären und aufbauen, z. B.:

      „Ich habe einen Shelly BLU Button und zwei Shellys. Bei einfachem Klick soll Gerät 1 toggeln, bei Doppelklick beide an, bei langem Klick dimmen – alles lokal, ohne Cloud.“

      Damit bekommst du kein „magisches Fertig-Script“, aber du verstehst Schritt für Schritt, was passiert, und kannst es später selbst anpassen.

      Mein Tipp:
      Fange klein an (z. B. ein Klick = ein Licht) und baue die Funktionen nach und nach aus – genau dafür ist Shelly Script gedacht.

      Viele Grüße
      Gray

      Antworten

Schreibe einen Kommentar