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.

Lies auch: Alexa Kinderschutz einrichten: So sicherst du Käufe & Inhalte auf dem Echo

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 – so wie ich sie selbst in meinem Smart Home einsetze:

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

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. In meinem eigenen Setup laufen mehrere solcher Skripte seit Monaten stabil – das ist der beste Beweis, 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.

JavaScript
Shelly Script Studio

Das könnte dich auch interessieren

  • Node-RED vs Home Assistant: Automation-Plattform für Smart Home wählen – Node-RED vs Home Assistant Interface-Vergleich für Smart Home Automation-Plattformen
    Node-RED vs Home Assistant: Die richtige…
    4. April 2026 Vergleich der Benutzeroberflächen von Node-RED und Home Assistant für Smart Home Automation Die Wahl zwischen Node-RED und Home Assistant ist…
  • 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 Amazon Echo auf dem Sideboard neben Smartphone mit Alexa-App in gemütlichem Wohnzimmer Die beste Zentrale für Einsteiger ist der Amazon…
  • Smart Home in der Mietwohnung: Welche Geräte ohne Vermietererlaubnis installiert werden dürfen – Smarter Heizkörperthermostat Shelly BLU TRV auf einem Heizkörper in einer Mietwohnung — ohne Bohren, ohne Werkzeug installiert
    Smart Home in der Mietwohnung: Diese Geräte darfst…
    18. Juli 2026 Smarter Heizkörperthermostat Shelly BLU TRV auf einem Heizkörper in einer Mietwohnung — ohne Bohren, ohne Werkzeug installiert Kurze Antwort zuerst:…
  • Smart Home Sprachsteuerung Architektur-Diagramm mit Alexa, Google Assistant, Home Assistant und vernetzten Geräten
    Sprachsteuerung einrichten: Alexa und Google Home
    9. April 2026 KI-generiert: Dieser Artikel und seine Abbildungen wurden von einem KI-System erstellt. Mehr dazu Google Nest Mini für Sprachsteuerung von Philips…
  • Smart Home Sicherheitssystem für Einsteiger ohne Vorkenntnisse aufbauen – Smart Home Sicherheitssystem Dashboard auf Tablet mit Home Assistant Interface, Kamera-Feeds und Sensor-Status
    Smart Home Sicherheitssystem für Einsteiger ohne…
    6. April 2026 KI-generiert: Dieser Artikel und seine Abbildungen wurden von einem KI-System erstellt. Mehr dazu Professionelles Smart Home Sicherheitssystem Dashboard mit Live-Kamera-Feeds…
  • KNX-Integration in Home Assistant über ETS-Projekt einrichten – KNX Home Assistant Integration Dashboard mit konfigurierten Smart Home Geräten
    KNX-Integration in Home Assistant über ETS-Projekt…
    4. April 2026 Dashboard-Ansicht einer vollständig konfigurierten KNX-Integration in Home Assistant mit verschiedenen Smart Home Geräten Die KNX-Integration in Home Assistant über ETS-Projekt…
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