Skip to content

Home Assistant : couleur et blanc des lumières - #26

Merged
lfpoulain merged 1 commit into
lfpoulain:betafrom
NeuTroNBZh:ha-couleur-lumieres
Nov 9, 2026
Merged

lfpoulain merged 1 commit into
lfpoulain:betafrom
NeuTroNBZh:ha-couleur-lumieres

Conversation

@NeuTroNBZh

Copy link
Copy Markdown
Contributor

Ticket : #25

But

Régler la couleur et le blanc des lumières à la voix (« mets le bureau en violet », « blanc chaud au salon »), sans une action HTTP par couleur.

Ce qui change

  • home_assistant__control reçoit rgbColor ([r, g, b], 0 à 255) et colorTempKelvin (1500 à 9000 K). En mode strict, les deux sont requis et valent null quand ils ne servent pas. La route d'administration POST /api/admin/home-assistant/control les accepte en option : l'interface actuelle ne change pas.
  • Le catalogue indique color et colorTemp pour chaque lumière (lus dans supported_color_modes), ainsi que la couleur, le blanc et la plage de kelvins relus. La description de l'outil ne montre color et colorTemp que pour les lumières concernées.
  • Refusés sans envoi : une couleur pour une lumière qui ne l'accepte pas, pour un interrupteur ou avec turn_off, et couleur et blanc demandés ensemble.
  • Le blanc demandé est ramené à min_color_temp_kelvin / max_color_temp_kelvin, pour que la confirmation compare au blanc réellement envoyé.
  • Confirmation comme pour la luminosité : confirmed seulement si l'état relu montre la couleur (40 par canal près, l'ampoule l'arrondissant à sa teinte) ou le blanc (150 K près).
  • Documentation (docs/fonctionnalites/home-assistant.md) et CHANGELOG.md.

Vérifications

  • npm run check : OK.
  • tests/home-assistant.test.ts, tests/home-assistant-api.test.ts, tests/live.test.ts : 83/83, dont 2 nouveaux tests (couleur et blanc envoyés, ramenés à la plage et confirmés ; couleur jamais atteinte non confirmée ; 8 cas refusés sans appel). Le faux Home Assistant des tests applique désormais rgb_color et color_temp_kelvin.
  • Pas encore essayé sur de vraies ampoules : je le ferai sur mes rubans et lampes Govee/LSC/IKEA et je compléterai la PR.

home_assistant__control reçoit rgbColor ([r, g, b], 0 à 255) et
colorTempKelvin (1500 à 9000 K), seulement pour turn_on et une lumière
qui les accepte. Le catalogue indique color et colorTemp, lus dans
supported_color_modes ; le blanc demandé est ramené à la plage de
l'ampoule. La commande n'est confirmée que si l'état relu montre la
couleur (40 par canal près) ou le blanc (150 K près).

Les actions HTTP « Bureau en rouge », « en bleu »… deviennent inutiles.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 8, 2026 22:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@lfpoulain

Copy link
Copy Markdown
Owner

Merci Louis, c'est fusionné dans beta et publié dans 0.3.0. J'ai résolu moi-même le conflit de CHANGELOG.md (les deux entrées sont gardées) et relancé les tests ciblés.

Trois petites pistes pour une prochaine PR, rien de bloquant :

  • Home Assistant relit rgb_color à pleine intensité : une couleur sombre comme [128,0,128] serait relue [255,0,255], donc confirmed:false alors que la commande a réussi. Normaliser le maximum à 255 avant de comparer, ou le dire dans la description de l'outil.
  • Un test de la route admin POST /control avec rgbColor, que la description annonce.
  • docs/developpement/architecture.md:134 dit encore « lumières et prises » pour home_assistant__control.

@NeuTroNBZh

Copy link
Copy Markdown
Contributor Author

Merci ! Les remarques de cette PR sont reprises dans #42 (avec celles de #26, #34, #36 et #38).

lfpoulain pushed a commit that referenced this pull request Nov 9, 2026
…délai

Remarques faites sur #26, #34, #36 et #38 (fusionnées dans 0.3.0) :
- #26 : la couleur demandée et la couleur relue sont comparées à pleine
  intensité (Home Assistant relit [128, 0, 128] en [255, 0, 255]) ; le
  faux Home Assistant des tests relit comme lui ; test de la route admin
  POST /control avec rgbColor ; architecture.md cite couleur et blanc.
- #34 : confidentialite.md, le bouton coupe le micro en veille et ferme
  la conversation pendant une conversation.
- #36 : le délai propre au satellite est pris à satelliteWake, un
  changement vaut pour la conversation suivante (satellites.md,
  administration.md).
- #38 : sonneries et voix partagent le volume du codec
  (board_set_volume → esp_codec_dev_set_out_vol) : au volume 0, l'outil
  le rappelle et la doc le dit ; la fiche du satellite suit un réglage
  vocal (resynchronisée sur la liste rechargée hors réglage en cours).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants