technikkram.net
  • Home
  • smartkram
  • Themenfelder
    • Smart Home
      • Homematic & Homematic IP
      • Smart Home Zentrale
      • Home Assistant
      • MQTT & Messaging
      • Zigbee & Thread
      • Shelly Geräte
      • KNX Gebäudeautomation
      • Matter & Thread
      • Apple HomeKit
    • Server & DevOps
      • Docker & Container
      • Proxmox VE
      • Linux Administration
      • Monitoring & Observability
      • Kubernetes & K3s
      • Raspberry Pi
    • Netzwerk
      • UniFi Netzwerk
      • Netzwerk Grundlagen
      • WLAN Optimierung
      • VLAN Konfiguration
      • Firewall & Security
      • Managed Switches
    • Sicherheit
      • Überwachungskameras
      • IT-Security
      • Videoüberwachung
      • Alarmanlagen
      • Zutrittskontrolle
    • Energie & Solar
      • Energiemanagement
      • Solar & Photovoltaik
    • NAS & Storage
      • NAS Systeme
      • Backup & Recovery
      • Synology NAS
      • Storage Lösungen
  • Archiv
  • Kontakt
    • Datenschutz
    • Impressum
  • KI-Transparenz
  • Click to open the search input field Click to open the search input field Suche
  • Menü Menü
  • Link zu Facebook
  • Link zu X
  • Link zu Mail
  • Link zu Rss dieser Seite
technikkram-Redaktion
Smart Home

Shelly Script Studio: Eigene Logik direkt auf dem Gerät programmieren

Shelly Script Studio Eigene Logik Direkt Auf Dem Gerat Programmieren

KI-generiert: Dieser Artikel und seine Abbildungen wurden von einem KI-System erstellt. Mehr dazu

🔄 Zuletzt aktualisiert: 22. Juli 2026

Shelly programmieren – Anleitung für Einsteiger: Du willst Automatisierungen direkt auf deinem Shelly-Gerät laufen lassen, ohne Cloud, ohne Home Assistant oder Node-RED? Mit dem Shelly Script Studio geht das – und du brauchst dafür keine Profi-Kenntnisse. Diese Anleitung führt dich Schritt für Schritt vom ersten Skript bis zu echten Praxisprojekten, inklusive kommentiertem JavaScript-Code.

📑 Inhaltsverzeichnis

  • ▸ Was ist das Shelly Script Studio?
  • › Technische Rahmenbedingungen
  • ▸ Shelly programmieren: Schritt-für-Schritt-Anleitung für dein erstes Skript
  • › Hello World: Dein erstes Shelly-Skript
  • ▸ JavaScript-Grundlagen für Shelly-Einsteiger
  • › Variablen: Werte speichern
  • › Bedingungen: Wenn–Dann–Sonst
  • › Schleifen: Wiederholungen
  • › Funktionen: Code wiederverwenden
  • ▸ Die wichtigsten Shelly Script API-Methoden
  • ▸ Beispielprojekte: Logik direkt auf dem Gerät
  • › Feuchtigkeitsgesteuerte Lüftung
  • › Windbasierte Markisensteuerung
  • ▸ Vorteile und Grenzen des Shelly Script Studio
  • › Vorteile
  • › Nachteile
  • ▸ Fehlersuche und Debugging
  • › Websocket-Debugging aktivieren
  • › Schrittweise testen
  • › Firmware aktuell halten
  • › Community-Ressourcen nutzen
  • ▸ FAQ: Häufige Fragen und typische Fehler
  • ▸ Kosten und Zukunftsaussichten
Transparenz-Hinweis: Dieser Artikel enthält Affiliate-/Werbe-Links. Kaufst du über diese Links, erhalten wir eine Provision – für dich ohne Mehrkosten.

Was ist das Shelly Script Studio?

Das Shelly Script Studio ist die lokale Programmierumgebung für Shelly-Geräte der Plus– und Pro-Serie. Diese Geräte besitzen eine integrierte JavaScript-Engine auf Basis von Espruino – einem schlanken JavaScript-Interpreter. Du arbeitest also mit vertrauter Syntax, ohne externe Systeme. Die gesamte Logik läuft lokal: kurze Reaktionszeiten, keine Cloud-Abhängigkeit, maximaler Datenschutz.

Unterstützte Modelle sind zum Beispiel Shelly Plus 1, Plus 2PM oder Pro 4PM – sie haben genug Rechenleistung und Speicher für lokale Skripte. Ältere Shelly-Modelle (Gen1) unterstützen kein Scripting.

Technische Rahmenbedingungen

Bevor du loslegst, solltest du die Grenzen kennen:

  • Max. Skriptgröße: ca. 16 KB pro Skript
  • Max. gleichzeitige Skripte: bis zu 10 (je nach Modell)
  • RAM: begrenzt – vermeide große Arrays oder tiefe Rekursion
  • Kein fetch(), kein DOM, kein console.log(): Statt console.log() nutzt du print(); HTTP-Requests laufen über Shelly.call()
  • Begrenzte ES6-Unterstützung: Arrow Functions und let/const funktionieren, aber komplexe ES6+-Features wie Promises oder Destructuring sind nicht verfügbar

Shelly programmieren: Schritt-für-Schritt-Anleitung für dein erstes Skript

So richtest du dein erstes Skript ein – von Null bis zum laufenden Code:

  1. Gerät verbinden: Versorge deinen Shelly Plus oder Pro mit Strom und verbinde ihn per WLAN mit deinem Heimnetzwerk – am einfachsten über die Shelly-App.
  2. Weboberfläche öffnen: Rufe die IP-Adresse im Browser auf, z. B. http://192.168.x.x. Die IP findest du in deiner Router-Übersicht oder in der Shelly-App.
  3. Skript anlegen: Navigiere zu „Skripte“ → „Neues Skript“. Gib dem Skript einen Namen (z. B. „HelloWorld“) und füge deinen JavaScript-Code in das Textfeld ein.
  4. Skript starten: Klicke auf „Speichern“, dann auf „Start“. Aktiviere „Debug über Websocket“, um Ausgaben live zu sehen.
  5. Autostart aktivieren: Schalte „Bei Neustart starten“ ein, damit das Skript nach jedem Neustart automatisch läuft.

Hello World: Dein erstes Shelly-Skript

Das folgende Skript gibt alle fünf Sekunden eine Meldung aus – perfekt zum Testen, ob alles funktioniert:

// Einfaches Hello-World-Skript für Shelly
// print() ersetzt console.log() in der Shelly-Umgebung

print("Shelly Script gestartet!");

// Timer.set(Intervall_ms, wiederholen, Callback)
Timer.set(5000, true, function () {
  print("Hallo aus dem Shelly-Skript! Zeit läuft...");
});

Nachdem du das Skript gespeichert und gestartet hast, siehst du im Debug-Fenster alle fünf Sekunden die Ausgabe. So weißt du sofort, dass dein Setup funktioniert.

JavaScript-Grundlagen für Shelly-Einsteiger

Du musst kein Programmierer sein, um Shelly-Skripte zu schreiben. Diese Grundbausteine reichen für die meisten Automatisierungen aus:

Variablen: Werte speichern

Mit let speicherst du Werte, die sich ändern können. Mit const definierst du feste Werte:

const SCHWELLENWERT = 70; // Fester Grenzwert in Prozent
let aktuelleFeuchte = 65; // Aktueller Messwert, kann sich ändern

Bedingungen: Wenn–Dann–Sonst

Mit if/else reagierst du auf Messwerte oder Zustände:

if (aktuelleFeuchte > SCHWELLENWERT) {
  print("Feuchte zu hoch – Lüfter einschalten");
  // Shelly.call("Switch.Set", { id: 0, on: true }, null, null);
} else {
  print("Feuchte OK – Lüfter bleibt aus");
}

Schleifen: Wiederholungen

Für Shelly-Skripte sind Schleifen selten nötig – Timer übernehmen die Wiederholung. Für einmalige Initialisierungen kannst du for nutzen:

// Beispiel: Mehrere Ausgaben initialisieren
for (let i = 0; i < 3; i++) {
  print("Initialisiere Kanal " + i);
}

Funktionen: Code wiederverwenden

Lagere wiederkehrende Logik in Funktionen aus:

function luefterSteuern(feuchte, grenzwert) {
  if (feuchte > grenzwert) {
    Shelly.call("Switch.Set", { id: 0, on: true }, null, null);
    print("Lüfter EIN (Feuchte: " + feuchte + "%)");
  } else {
    Shelly.call("Switch.Set", { id: 0, on: false }, null, null);
    print("Lüfter AUS (Feuchte: " + feuchte + "%)");
  }
}

Tipp: Kommentare (Zeilen mit //) werden nicht ausgeführt – nutze sie, um deinen Code zu erklären. Das hilft dir selbst, wenn du das Skript Wochen später wieder öffnest.

Die wichtigsten Shelly Script API-Methoden

Shelly stellt eigene Funktionen bereit, die du in jedem Skript nutzen kannst:

Methode Beschreibung Beispiel
print(text) Gibt Text im Debug-Fenster aus print("Wert: " + x);
Timer.set(ms, repeat, fn) Führt eine Funktion nach X Millisekunden aus; repeat: true für Dauerschleife Timer.set(1000, true, fn);
Shelly.call(method, params, cb, ud) Ruft eine Shelly-RPC-Methode auf (z. B. Schalter steuern, Werte lesen) Shelly.call("Switch.Set", {id:0, on:true}, null, null);
Shelly.addEventHandler(fn, ud) Reagiert auf Geräteereignisse (z. B. Tastendruck, Statusänderung) Shelly.addEventHandler(function(e){...}, null);
Shelly.addStatusHandler(fn, ud) Überwacht Statusänderungen des Geräts Shelly.addStatusHandler(function(s){...}, null);
MQTT.subscribe(topic, fn) Abonniert ein MQTT-Topic und reagiert auf eingehende Nachrichten MQTT.subscribe("haus/licht", fn);
MQTT.publish(topic, msg) Sendet eine Nachricht an ein MQTT-Topic MQTT.publish("haus/status", "an");

Beispielprojekte: Logik direkt auf dem Gerät

Hier zwei praxisnahe Projekte mit vollständigem, kommentiertem Code:

Feuchtigkeitsgesteuerte Lüftung

Ein Shelly H&T misst die Luftfeuchtigkeit im Badezimmer. Ein Shelly Plug S steuert den Ventilator. Das Skript prüft alle 30 Sekunden den Feuchtigkeitswert und schaltet den Lüfter mit Hysterese (70 % ein, 60 % aus), um ständiges Takten zu vermeiden:

// Feuchtigkeitsgesteuerte Lüftung
// Shelly Plus 1 steuert Ventilator; Feuchtigkeitswert kommt per RPC

const FEUCHTE_EIN = 70;  // Lüfter einschalten ab diesem Wert (%)
const FEUCHTE_AUS = 60;  // Lüfter ausschalten unter diesem Wert (%)
let luefterAn = false;   // Aktueller Zustand des Lüfters

// Alle 30 Sekunden Feuchtigkeitswert prüfen
Timer.set(30000, true, function () {
  // Aktuellen Schaltstatus und angeschlossene Sensorwerte abrufen
  Shelly.call("Humidity.GetStatus", { id: 0 }, function (result) {
    if (!result) {
      print("Fehler: Kein Sensorwert erhalten");
      return;
    }
    let feuchte = result.rh; // Relative Luftfeuchtigkeit in %
    print("Aktuelle Feuchte: " + feuchte + "%");

    // Hysterese: Einschalten nur wenn Grenzwert überschritten
    if (feuchte >= FEUCHTE_EIN && !luefterAn) {
      Shelly.call("Switch.Set", { id: 0, on: true }, null, null);
      luefterAn = true;
      print("Lüfter EIN");
    }
    // Ausschalten erst wenn deutlich unter Grenzwert
    if (feuchte <= FEUCHTE_AUS && luefterAn) {
      Shelly.call("Switch.Set", { id: 0, on: false }, null, null);
      luefterAn = false;
      print("Lüfter AUS");
    }
  }, null);
});

Windbasierte Markisensteuerung

Ein Shelly Plus 2PM steuert eine Markise. Über einen angeschlossenen Windsensor oder eine lokale API wird die Windgeschwindigkeit abgefragt. Überschreitet sie einen Grenzwert, fährt die Markise automatisch ein:

// Windbasierte Markisensteuerung
// Shelly Plus 2PM im Rolladen-Modus steuert die Markise

const WIND_GRENZWERT = 40; // Windgeschwindigkeit in km/h
let markiseEingefahren = false;

// Alle 60 Sekunden Windwert prüfen
Timer.set(60000, true, function () {
  // Windwert von lokalem Sensor abrufen (Beispiel: HTTP-Endpunkt)
  Shelly.call("HTTP.GET", { url: "http://192.168.1.50/wind" }, function (result) {
    if (!result || result.code !== 200) {
      print("Fehler beim Abrufen des Windwerts");
      return;
    }
    // Antwort parsen (Beispiel: JSON mit Feld "speed")
    let daten = JSON.parse(result.body);
    let wind = daten.speed;
    print("Windgeschwindigkeit: " + wind + " km/h");

    if (wind >= WIND_GRENZWERT && !markiseEingefahren) {
      // Markise einfahren (Rolladen-Befehl: Position 0 = geschlossen)
      Shelly.call("Cover.GoToPosition", { id: 0, pos: 0 }, null, null);
      markiseEingefahren = true;
      print("Markise eingefahren – zu viel Wind");
    } else if (wind < WIND_GRENZWERT && markiseEingefahren) {
      // Markise ausfahren
      Shelly.call("Cover.GoToPosition", { id: 0, pos: 100 }, null, null);
      markiseEingefahren = false;
      print("Markise ausgefahren – Wind hat nachgelassen");
    }
  }, null);
});

Vorteile und Grenzen des Shelly Script Studio

Vorteile

  • Vollständige Offline-Funktion: Unabhängig von Cloud-Diensten und Internet.
  • Schnelle Reaktionszeiten: Lokale Ausführung ohne Netzwerk-Latenz.
  • Hohe Ausfallsicherheit: Skripte laufen weiter, selbst wenn WLAN oder Home Assistant ausfällt.
  • Offene Schnittstellen: REST, MQTT und CoAP ermöglichen Integration in Home Assistant oder Node-RED.
  • Flexible Logik: Komplexe Bedingungen, die über einfache Wenn-Dann-Regeln hinausgehen.

Nachteile

  • Programmierkenntnisse erforderlich: Ohne JavaScript-Grundlagen wird es schwierig.
  • Nur für Plus- und Pro-Geräte: Ältere Shelly-Modelle unterstützen keine Skripte.
  • Isolierte Logik: Skripte laufen nur auf dem jeweiligen Gerät – keine zentrale Übersicht.
  • Fehleranfälligkeit: Ein fehlerhaftes Skript kann das Gerät blockieren.
  • Kein grafischer Editor: Anders als in Home Assistant gibt es keine visuelle Oberfläche.

Fehlersuche und Debugging

Websocket-Debugging aktivieren

Im Webinterface findest du im Skript-Bereich die Option „Debug über Websocket“. Aktivierst du sie, siehst du alle print()-Ausgaben in Echtzeit. So erkennst du schnell, wo dein Code hängt oder falsche Werte liefert.

Schrittweise testen

Teste deinen Code in kleinen Schritten. Setze print()-Ausgaben gezielt ein, um Zwischenwerte zu prüfen:

print("Feuchte-Wert: " + feuchte); // Wert im Debug-Fenster anzeigen

Firmware aktuell halten

Shelly verbessert die Script Engine regelmäßig. Ein Firmware-Update kann neue Funktionen bringen und Probleme mit bestehenden Skripten lösen. Wichtig: Nach einem Firmware-Update können Skripte in seltenen Fällen inkompatibel werden – teste deine Skripte nach Updates kurz durch.

Community-Ressourcen nutzen

Die Shelly Knowledge Base, das offizielle Forum und GitHub bieten viele Beispiele und Hilfestellungen. Smart-Home-Communities sind eine echte Fundgrube für fertige Skripte und Lösungen.

FAQ: Häufige Fragen und typische Fehler

Welche Shelly-Geräte unterstützen Scripting?

Scripting funktioniert ausschließlich auf Shelly-Geräten der Plus- und Pro-Serie (Gen2 und neuer), zum Beispiel Plus 1, Plus 2PM, Pro 4PM und die Gen4-Modelle. Ältere Gen1-Geräte (z. B. Shelly 1, Shelly 2.5) unterstützen keine Skripte.

Mein Skript startet nach dem Neustart nicht – was tun?

Prüfe, ob die Option „Bei Neustart starten“ im Skript-Editor aktiviert ist. Ohne diese Einstellung startet das Skript nur manuell. Außerdem: Ein Skript mit einem Syntaxfehler startet gar nicht – prüfe die Debug-Ausgabe direkt nach dem Start.

print() zeigt nichts an – woran liegt das?

Die print()-Ausgabe ist nur sichtbar, wenn du im Webinterface „Debug über Websocket“ aktiviert hast. Ohne diese Option werden Ausgaben nicht angezeigt. Stelle außerdem sicher, dass du die Seite nicht neu lädst, während das Skript läuft – das unterbricht die Websocket-Verbindung.

Was passiert mit Skripten nach einem Firmware-Update?

Skripte bleiben nach einem Firmware-Update in der Regel erhalten. In seltenen Fällen können API-Änderungen dazu führen, dass einzelne Funktionen nicht mehr wie erwartet arbeiten. Teste deine Skripte nach jedem größeren Update kurz durch und halte ein Backup deines Codes bereit.

Wie viele Skripte kann ich gleichzeitig ausführen?

Die meisten Shelly Plus/Pro-Geräte unterstützen bis zu 10 gleichzeitig aktive Skripte. Jedes Skript ist auf ca. 16 KB begrenzt. Bei vielen gleichzeitigen Skripten kann der verfügbare RAM knapp werden – beobachte die Stabilität und reduziere die Skriptanzahl bei Problemen.

Shelly.call() gibt keinen Fehler zurück, aber nichts passiert – warum?

Shelly.call() ist asynchron – das Ergebnis kommt im Callback, nicht sofort. Prüfe im Callback-Parameter, ob result einen Wert enthält oder null ist. Ein häufiger Fehler: falsche Parameter-Namen oder eine falsche Methoden-Bezeichnung (Groß-/Kleinschreibung beachten, z. B. Switch.Set, nicht switch.set).

Kosten und Zukunftsaussichten

Die Nutzung der Shelly Script Engine ist kostenlos – keine Lizenzgebühren, keine Abos. Die Funktion ist Teil der Firmware. Ein einfaches Modul wie der Shelly 1 kostet etwa 15–20 €, leistungsfähigere Modelle wie der Shelly Pro 4PM liegen im Bereich von 40–60 €.

Shelly entwickelt das Scripting-Ökosystem stetig weiter: Die Shelly Academy bietet Tutorials für Einsteiger, und die wachsende Community stellt fertige Skripte zur Verfügung. Mit der Gen4-Serie integriert Shelly Matter und Zigbee direkt – die Geräte unterstützen Wi-Fi 6 und machen lokale Automatisierung noch vielseitiger. Für ältere Modelle gibt es eine Matter Bridge, sodass auch bestehende Geräte in moderne Ökosysteme eingebunden werden können.

Das Shelly Script Studio ist ein echtes Highlight für alle, die ihr Smart Home lokal und unabhängig betreiben möchten. Mit den JavaScript-Grundlagen aus diesem Artikel und den kommentierten Code-Beispielen kannst du direkt loslegen – auch als Einsteiger. Die Logik läuft direkt auf dem Gerät, reagiert schnell und braucht keine Cloud. Das zeigt, dass lokale Intelligenz im Smart Home nicht nur möglich, sondern sinnvoll ist.

Wenn du bereits Shelly Plus oder Pro Geräte nutzt, probiere das Shelly Script Studio aus und entwickle deine eigene lokale Automatisierung. Die offizielle Dokumentation und Community sind ein guter Startpunkt, um eigene Ideen umzusetzen.

Das könnte dich auch interessieren

  • Alles zusammen steuern: Die smarte Zentrale – Amazon Echo auf dem Sideboard neben Smartphone mit Alexa-App in gemütlichem Wohnzimmer
    Smart-Home-Zentrale einrichten: Alle Geräte in einer…
    13. Juli 2026 Die beste Zentrale für Einsteiger ist der Amazon Echo (4. Generation) — einstecken, Alexa-App öffnen, und du steuerst Lampen, Steckdosen…
  • Symbolbild: Smart Home in der Mietwohnung
    Smart Home in der Mietwohnung: Diese Geräte darfst…
    18. Juli 2026 Kurze Antwort zuerst: Smarte Heizkörperthermostate, Zwischenstecker und Türschloss-Aufsätze darfst du in einer Mietwohnung in der Regel ohne Vermietererlaubnis installieren —…
  • Symbolbild: Zwei Mini-Server für Smart-Home-Automation
    Node-RED vs Home Assistant: Die richtige…
    4. April 2026 Node-RED mit Home Assistant verbinden ist in wenigen Minuten erledigt: Node-RED Add-on installieren, den Server-Node mit Home Assistant koppeln und…
  • Smart Home Sprachsteuerung Architektur-Diagramm mit Alexa, Google Assistant, Home Assistant und vernetzten Geräten
    Sprachsteuerung einrichten: Alexa und Google Home
    9. April 2026 Sprachsteuerung einrichten für automatisierte Smart Home Abläufe verwandelt dein Zuhause in ein intelligentes System, das auf einfache Sprachbefehle…
  • Tablet mit Sicherheits-Dashboard, Kamerabildern und Sensor-Status
    Smart Home Sicherheitssystem für Einsteiger ohne…
    6. April 2026 Ein Smart Home Sicherheitssystem für Einsteiger ohne Vorkenntnisse ist wie ein digitaler Wachhund für dein Zuhause - nur dass er…
  • Video-Türklingel Datenschutz: Nachbarn filmen erlaubt? – Video-Türklingel mit Datenschutz-konformem Erfassungsbereich - erlaubte und verbotene Zonen visualisiert
    Video-Türklingel Datenschutz: Nachbarn filmen erlaubt?
    7. April 2026 Video-Türklingeln dürfen nur das eigene Grundstück filmen – Gehweg, Straße oder Nachbargrundstück sind rechtlich tabu.
1. März 2026/0 Kommentare/von technikkram-Redaktion
Schlagworte: Automatisierung, Bosch Smart Home, DIY, Home Assistant Integration, JavaScript, Lokale Steuerung, Scripting, Shelly, Shelly Plus, Shelly Pro
Eintrag teilen
  • Teilen auf Facebook
  • Teilen auf X
  • Teilen auf WhatsApp
  • Teilen auf Pinterest
  • Teilen auf LinkedIn
  • Per E-Mail teilen
https://technikkram.net/wp-content/uploads/2026/03/Shelly-Script-Studio-Eigene-Logik-direkt-auf-dem-Gerat-programmieren.png 1024 1536 technikkram-Redaktion https://technikkram.net/wp-content/uploads/2019/05/technikkram_transparent.png technikkram-Redaktion2026-03-01 20:27:442026-07-22 05:05:25Shelly Script Studio: Eigene Logik direkt auf dem Gerät programmieren
0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

  •  
Smartkram Shop

Kategorien

Allgemein Apple Apps CCU2 CCU3 Charly debmatic EQ-3 Firmware Foto und Video Gadgets Gaming Geschenke Hardware Hausinstallation Haussicherheit HB-RF-USB Homematic Homematic IP Homematic IP Access Point Homematic IP wired iOS Kaufberatung KNX Media Center Mediola Mobile Multimedia Netzwerk Neuigkeiten Nützliches Online Services piVCCU piVCCU3 Provider Rabatte & Co Raspberrymatic Security Smart Home Software & Co Testberichte Tipps & Tricks Wearables Windows Zubehör
© Copyright - technikkram.net -
  • Link zu Facebook
  • Link zu X
  • Link zu Mail
  • Link zu Rss dieser Seite
Nach oben scrollen Nach oben scrollen Nach oben scrollen