Scenes Manager - Intelligenter Szenenmanager für Gladys

Der Kontext

Hinweis: Das war das Letzte, was ich gemacht habe, danach lasse ich Sie in Ruhe, entschuldigen Sie den Flood der letzten Tage. Aber ich wollte diese Smart-Home-Migration abschließen, denn danach werde ich keine Zeit mehr haben, mich darum zu kümmern.

Bei der Migration von Home Assistant zu Gladys war eine meiner größten Herausforderungen die Steuerung der Lichtstimmungen. Ich habe 22 Lampen auf 4 verschiedenen Protokollen (Philips Hue, Z-Wave, MQTT, Tuya) und wollte Stimmungen, die sich dem Tageszeit und dem Wetter anpassen.

Die Gladys-Szenen ermöglichen die Steuerung der Lampen, aber sobald man Varianten verwalten möchte (wärmere Farben, wenn es grau ist, unterschiedliche Stimmungen Tag/Nacht), wird es schnell komplex mit vielen zu pflegenden Szenen.

Ich habe daher einen Szenen-Manager erstellt: einen leichten Docker-Container (~25 MB RAM) mit einer Weboberfläche, der:

  1. Erfasst den Zustand Ihrer Lampen mit einem Klick — alle Protokolle über die Gladys-API

  2. Speichert Presets mit adaptiven Varianten (Tag/Nacht, Wetter)

  3. Wendet die richtige Variante automatisch an, wenn eine Gladys-Szene sie aufruft

Wie es funktioniert

Gladys-Szene (Trigger: Uhrzeit, Anwesenheit, Schalter, etc.)
  └→ Aktion "HTTP-Anfrage": POST http://localhost:8890/scenes/soiree-chambre/apply
       └→ Szenen-Manager
            ├─ Prüfen: Tag oder Nacht? (lokale Berechnung)
            ├─ Prüfen: Klar oder bewölkt? (OpenWeatherMap, Cache 10 min)
            └─ Wendet die richtige Variante über die Gladys-API an

Der Schlüssel: Der Szenen-Manager kennt kein Protokoll. Er nutzt die Gladys-API (POST /api/v1/device_feature/{selector}/value). Wenn Gladys Ihre Lampe steuert, steuert der Szenen-Manager sie auch.

Trennung der Verantwortlichkeiten: Gladys entscheidet wann, der Szenen-Manager entscheidet wie.

Getestete Protokolle

Protokoll Status
Philips Hue OK (ein/aus, Helligkeit, Farbe, Temperatur)
Z-Wave (Fibaro Dimmer) OK (Dimmer 0-99)
MQTT custom OK (ein/aus, Helligkeit, Farbe)
Tuya OK (ein/aus)

Performance

Operation Zeit
Erfassen von 20 Geräten ~80 ms
Anwenden von 6 Hue parallel ~70 ms

Vernachlässigbar — es ist der gleiche Codepfad wie bei den nativen Gladys-Szenen.

Installation und Dokumentation

Alles ist auf GitHub mit der vollständigen README, Installationsanweisungen, API-Referenz und Screenshots.

GitHub — gladys-scenes-manager

Zusammengefasst:

  1. Repo klonen

  2. docker build -t scenes-manager .

  3. docker run mit Ihrem presets.json (Gladys-API-Schlüssel + GPS-Koordinaten)

  4. http://IHRE_IP:8890 öffnen

  5. Ihre Stimmungen erfassen und über « HTTP-Anfrage » von Gladys-Szenen aus aufrufen

Stack

  • Node.js 22 Alpine, 2 Abhängigkeiten (mqtt.js, suncalc)

  • Frontend vanilla (HTML/CSS/JS), Dark-Theme inspiriert von Gladys

  • Kein Framework, keine Datenbank — eine JSON-Datei

Das sieht ja super aus!

Hast du vielleicht ein Foto oder so, das du uns vom Ergebnis zeigen kannst?

Ich habe Schwierigkeiten zu sehen, wie das aussieht. Welche Farbe wählst du in Abhängigkeit von welcher Helligkeit/Wetterlage?

Hallo!

Wovon genau sprichst du, von echten Lichtern? Denn die Oberfläche habe ich mit Screenshots dargestellt.

Aber im Grunde:

Du steuerst alle deine Lichter so, wie du es möchtest, entweder über Gladys oder über die Apps deiner verbundenen Geräte.

Und das Plugin ermöglicht es dir, die Szene in 2 Klicks zu speichern. Und für jede Szene kannst du Varianten in Abhängigkeit von Tag und Nacht oder der Bewölkung definieren. Also für die Szene, die du einstellst, kannst du mehrere Voreinstellungen für dieselbe Szene erstellen.

Beispiel:
Ich habe einen Raum, der so etwas wie mein Geek-Zimmer ist, in dem ich arbeite und auch spiele, weil ich ein großer Gamer bin. Wenn ich den PC einschalte, rufe ich die Szene auf, die ich erstellt habe. Je nachdem, ob es Tag oder Nacht ist, sind die Farben unterschiedlich. Und wenn es ein eher dunkler Tag ist, sind die Farben wärmer und an einem eher hellen Tag kälter.

Und vor allem ist es auch ohne Varianten extrem einfach, Szenen mit mehreren Lichtern zu erstellen. Denn wenn du es direkt im Szeneneditor von Gladys machst, hast du schnell viele Blöcke, da du einen für das Einschalten, einen für die Farbe und einen für die Helligkeit brauchst und das für jedes Licht.

Ich weiß nicht, ob das klarer ist?

Ja, wie sieht das in der Realität aus oder wie triffst du deine Entscheidungen? Eigentlich habe ich überhaupt kein grafisches/ästhetisches Auge und ich bin neugierig, welche Farben du wann einsetzt. Zum Beispiel, welche Farbe nimmst du an einem regnerischen Tag?

Ehrlich gesagt, ich weiß es noch nicht, ich warte, bis es dunkel wird :rofl:
Ich hatte ein ähnliches System auf Home Assistant, aber das funktionierte schon lange nicht mehr. Und ich lasse mich stark von den Szenen von Philips Hue inspirieren. Ich kopiere die Farben für die anderen Geräte.

Scenes Manager v2.0 — Vereinfachung: 3 Modi statt Varianten

Nach den Nutzungstests habe ich das Varianten-System vereinfacht, das in der Praxis zu komplex war.

Was sich ändert

Das alte System kombinierte 2 unabhängige Achsen (Tag/Nacht x klar/bewölkt), was bis zu 4 Varianten pro Stimmung + ein Standard ergab. In Wirklichkeit interessiert das Wetter nachts nicht — es ist draußen in jedem Fall dunkel.

Die v2 ersetzt das alles durch 3 Modi:

Modus Wann Logik
Nacht Nach Sonnenuntergang Wetter wird ignoriert
Tag bei gutem Wetter Tageszeit + Wolken < Schwelle Viel natürliches Licht
Tag bei schlechtem Wetter Tageszeit + Wolken > Schwelle Wenig natürliches Licht

Und vor allem: man muss nicht alle 3 ausfüllen. Wenn Sie nur einen Modus erfassen, wird dieser immer angewendet (impliziter Standard). Fügen Sie die anderen hinzu, wenn Sie möchten, in Ihrem eigenen Tempo.

Neue UI

Die Benutzeroberfläche wurde überarbeitet, um besser zum Gladys-Stil zu passen:

  • Inhaltszentrierung (nicht mehr vollbreit)

  • Besserer Kontrast zwischen Hintergrund und Karten

  • Einfacher Modusauswahl (3 Buttons) anstelle der Tag/Nacht- und Wetter-Checkboxen

  • Badges auf den Karten, um auf einen Blick zu sehen, welche Modi ausgefüllt sind

Automatische Migration

Wenn Sie bereits Stimmungen in v1 hatten, werden diese beim Neustart des Containers automatisch migriert. Nichts zu tun.

Link

**GitHub — gladys-scenes-manager
**

Das ist alles ausgezeichnet, herzlichen Glückwunsch @David-Digitis, super Einsatz von Claude Code :slight_smile:

Héhé danke, 3 Monate Selbststudium und Tests, aber jetzt läuft das Ding. Unglaublich, wie weit die KI-Technologie gekommen ist. Wenn du weißt, wie man sie einsetzt, Skills, Agenten, Umgebungen konfigurierst, gibt es keine Grenzen mehr. Diese Integrationen sind nur 1/100 von dem, was ich in 3 Monaten geschafft habe. Ich habe mein Unternehmen quasi auf Version 2 gebracht, lol

Nutzt du es schon oder hast du den Schritt noch nicht gewagt?

Ah ja, das ist schon eine Weile her :smiley: Das ist mein Beruf!

Ich bin auf der Seite Windsurf, ich habe viele Videos auf dem YouTube-Kanal Gladys gemacht

Das neueste:

Ah cool, ich werde mir das mal ansehen!
Ich kannte Windsurf nicht, ich bin auf VS Code.