Scenes Manager - Gestionnaire d'ambiances intelligent pour Gladys

**Le contexte

Note :** C’était la dernière chose que je faisais, après je vous laisse tranquille, désolé pour le flood de ces derniers jours. Mais je voulais clôturer cette migration domotique car après je n’aurai plus trop le temps de m’en occuper.

En migrant de Home Assistant vers Gladys, un de mes plus gros defis a ete la gestion des ambiances lumineuses. J’ai 22 lumieres sur 4 protocoles differents (Philips Hue, Z-Wave, MQTT, Tuya) et je voulais des ambiances qui s’adaptent au moment de la journee et a la meteo.

Les scenes Gladys permettent de controler les lumieres, mais des qu’on veut gerer des variantes (couleurs plus chaudes quand il fait gris, ambiance differente jour/nuit), ca devient vite complexe avec beaucoup de scenes a maintenir.

J’ai donc cree un Scenes Manager : un container Docker leger (~25 Mo RAM) avec une interface web qui :

  1. Capture l’etat de vos lumieres en un clic — tous les protocoles, via l’API Gladys

  2. Stocke des presets avec des variantes adaptatives (jour/nuit, meteo)

  3. Applique la bonne variante automatiquement quand une scene Gladys l’appelle

Comment ca marche

Scene Gladys (trigger heure, presence, bouton, etc.)
  └→ Action "HTTP Request" : POST http://localhost:8890/scenes/soiree-chambre/apply
       └→ Scenes Manager
            ├─ Check : jour ou nuit ? (calcul local)
            ├─ Check : clair ou couvert ? (OpenWeatherMap, cache 10 min)
            └─ Applique la bonne variante via l'API Gladys

Le point cle : le Scenes Manager ne connait aucun protocole. Il passe par l’API Gladys (POST /api/v1/device_feature/{selector}/value). Si Gladys gere votre lumiere, le Scenes Manager la gere aussi.

Separation des responsabilites : Gladys decide quand, le Scenes Manager decide comment.

Protocoles testes

Protocole Status
Philips Hue OK (on/off, brightness, color, temperature)
Z-Wave (Fibaro Dimmer) OK (dimmer 0-99)
MQTT custom OK (on/off, brightness, color)
Tuya OK (on/off)

Performance

Operation Temps
Capture 20 devices ~80 ms
Appliquer 6 Hue en parallele ~70 ms

Negligeable — c’est le meme chemin de code que les scenes Gladys natives.

Installation et documentation

Tout est sur GitHub avec le README complet, les instructions d’installation, la reference API et les screenshots.

GitHub — gladys-scenes-manager

En resume :

  1. Cloner le repo

  2. docker build -t scenes-manager .

  3. docker run avec votre presets.json (config API key Gladys + coordonnees GPS)

  4. Ouvrir http://VOTRE_IP:8890

  5. Capturer vos ambiances, les appeler depuis les scenes Gladys via « HTTP Request »

Stack

  • Node.js 22 Alpine, 2 dependances (mqtt.js, suncalc)

  • Frontend vanilla (HTML/CSS/JS), dark theme inspire de Gladys

  • Pas de framework, pas de base de donnees — un fichier JSON

4 « J'aime »

Ça a l’air top !

Tu aurais une photo ou l’autre à nous montrer du résultat ?

Je ai du mal à voir ce que ça donne. Quelle couleur choisis tu en fonction de quelle luminosité/météo ?

Salut !

Tu parles de quoi exactement, des vrais lumières ? Car l’interface, j’ai mis des Screenshots.

Mais dans l’idée :

Tu règles toutes tes lumières comme tu as envie, soit depuis Gladys, soit depuis les applications de tes appareils connectés.

Et le plugin te permet d’enregistrer la scène en 2 clic. Et pour chaque scène, tu peux définir des variantes en fonction du jour et de la nuit ou de la couverture nuageuse. Donc pour la scène tu vas définir ces paramètres, tu vas pouvoir créer plusieurs presets pour la même scène.

Exemple :
J’ai une pièce qui est un peu ma pièce Geek où je travaille et je joue aussi parce que je suis un gros gamer. Quand j’allume le PC, j’appelle la scène que j’ai faite. En fonction de si il fait jouer ou nuit, les couleurs seront différentes. Et si c’est une journée plutôt sombre, ce seront des couleurs plus chaudes et une journée plutôt claire, des couleurs plus froides.

Et puis surtout, même sans utiliser des variantes, c’est quand même ultra simple pour créer des scènes avec plusieurs lumières. Parce que sinon si tu le fais directement dans l’éditeur de scène de Gladys. Tu te retrouves vite avec beaucoup de blocs, vu qu’il en faut un pour allumer, un pour la couleur et un pour la luminosité et ça pour chaque lumière.

Je ne sais pas si c’est plus clair ?

Oui, ce que ça donne en vrai ou comment tu fais tes choix. En fait, je n’ai absolument pas l’oeil graphique/esthétique et je suis curieux de savoir quelles couleurs tu mets à quel moment. Par exemple, un jour pluvieux, tu mets quelle couleur?

En toute franchise, je ne sais pas encore, j’attends qu’il fasse noir :rofl:
J’avais fait un système similaire sur home assistant mais ça faisait longtemps que ça ne marchait plus. Et je m’inspire pas mal des scènes de Philips Hue. Je copie les couleurs pour les autres équipements.

1 « J'aime »

Scenes Manager v2.0 — Simplification : 3 modes au lieu des variantes

Suite aux tests d’utilisation, j’ai simplifie le système de variantes qui était trop complexe en pratique.

Ce qui change

L’ancien systeme combinait 2 axes independants (jour/nuit x clair/couvert), ce qui donnait jusqu’a 4 variantes a capturer par ambiance + un default. En realite, la nuit on se fiche de la meteo — il fait noir dehors dans tous les cas.

La v2 remplace tout ca par 3 modes :

Mode Quand Logique
Nuit Apres le coucher du soleil Meteo ignoree
Jour beau temps Journee + nuages < seuil Beaucoup de lumiere naturelle
Jour mauvais temps Journee + nuages > seuil Peu de lumiere naturelle

Et surtout : pas besoin de remplir les 3. Si vous ne capturez qu’un seul mode, il s’applique tout le temps (default implicite). Ajoutez les autres quand vous voulez, a votre rythme.

Nouvelle UI

L’interface a ete retravaillee pour mieux coller au style Gladys :

  • Contenu centre (plus en pleine largeur)

  • Meilleur contraste entre le fond et les cartes

  • Selecteur de mode simple (3 boutons) a la place des checkboxes jour/nuit + meteo

  • Badges sur les cartes pour voir d’un coup quels modes sont remplis

Migration automatique

Si vous aviez deja des ambiances en v1, elles sont migrees automatiquement au redemarrage du container. Rien a faire.

Lien

**GitHub — gladys-scenes-manager
**

2 « J'aime »

C’est excellent tout ça, bravo @David-Digitis, super usage de Claude Code :slight_smile:

1 « J'aime »

Héhé merci, 3 mois d’auto formation et de tests, mais c’est une affaire qui roule maintenant. Incroyable l’avancée des IA argentiques. Quand tu sais les utiliser, configurer les skills, agents, environnements, tu n’as plus de limittes. Ces intégrations, c’est 1/100 de ce que j’ai fait en 3 mois. J’ai littéralement fait passer mon entreprise en V2 lol

Tu utilises ou pas encore fait le pas ?

Ah oui, ça fait un bout de temps même :smiley: C’est mon métier après !

Je suis sur Windsurf de mon côté, j’ai fais pas mal de vidéo sur la chaine YouTube Gladys

La plus récente :

1 « J'aime »

Ah cool, je vais aller voir ça !
Je connaissais pas Windsurf, moi je suis sur VS Code.

1 « J'aime »