Repository navigation
Home Assistant : consigne des thermostats - #30
NeuTroNBZh wants to merge 2 commits into
Conversation
|
Merci Louis, c'est la PR la plus propre côté autorisations : À corriger
À améliorer, moins urgent
Rebase
|
Nouvel outil home_assistant__climate, proposé seulement si le nouveau réglage « Régler les thermostats » est activé (désactivé par défaut : un thermostat coché pour être lu ne devient pas réglable). La consigne est ramenée à min_temp / max_temp et au pas du thermostat, envoyée par climate/set_temperature puis confirmée par relecture. Un thermostat arrêté est refusé ; le mode n'est jamais changé. Les thermostats restent lisibles par home_assistant__read. Réglage climateControl de PATCH /api/admin/home-assistant/access, conservé dans la table home_assistant_climate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Doc : trois interrupteurs, actions possibles à jour, « Supprimer la connexion » conserve aussi climateControl, unités en °C, thermostats en plage et pas absent ; prompts.md et architecture.md citent home_assistant__climate ; liste « non pris en charge » à jour. - web/api.ts : homeAssistantAccess accepte climateControl. - setTemperature suit accepted : après un accusé 2xx, une relecture impossible donne « Consigne acceptée ; lecture de l'état impossible ». - Pas absent ou nul : arrondi au demi-degré (plus de NaN), relecture tolérante d'un demi-degré et valeur relue annoncée. - Thermostat réglé par une plage seule : refusé avec un message clair, rien n'est envoyé. - Tests : garde « personnes reconnues » avec home_assistant__climate, fragment homeClimate de la configuration Live, pas nul et thermostat qui arrondit au degré, plage seule, relecture impossible après accusé. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ee4b1d7 to
f230dc4
Compare
|
Merci pour la relecture. Corrigé dans f230dc4, branche rebasée sur À corriger
Moins urgent, fait aussi
|
|
Merci pour les corrections, tout ce que j'avais demandé est fait (doc, type, tests, Attention au rebase : #32 est fusionnée, et #30 remet |
|
Salut Louis, petite relance : il reste le faux positif de la tolérance de 0,51 sans Dis-nous si tu comptes la reprendre, ou si tu préfères qu'on s'en charge. |
Ticket : #29
But
« Mets le bureau à 20 degrés » : régler la consigne d'un thermostat Home Assistant, sans rien d'autre (ni mode, ni ventilation).
Ce qui change
climateControldePATCH /api/admin/home-assistant/accesset de la vue, conservé dans la tablehome_assistant_climate(migration rejouable, ajoutée en fin de liste). Il survit à « Supprimer la connexion », comme « Réserver aux personnes reconnues ».home_assistant__climate(entityId,temperaturede 5 à 35 °C), proposé seulement si le réglage est actif et qu'unclimate.*est coché. Sa description donne la plage de chaque thermostat.target_temp_step; absent ou nul : 0,5) et à la plage (min_temp,max_temp), envoyée parclimate/set_temperaturesans relance, puis confirmée par relecture de l'attributtemperature(tolérance d'un demi-degré quand le pas n'est pas annoncé). La valeur relue est renvoyée pour être redite. Après un accusé 2xx, une relecture impossible donne « Consigne acceptée ; lecture de l'état impossible ».off, pour ne pas le rallumer en douce), thermostat réglé par une plage seule (target_temp_low/target_temp_high, message explicite), valeur hors schéma, paramètre en plus (un mode, par exemple). La garde « Réserver aux personnes reconnues » s'applique aussi.home_assistant__read.min_temp,max_tempettarget_temp_steprejoignent les attributs utiles.prompts.md,architecture.md; bornes en °C) etCHANGELOG.md. TypehomeAssistantAccessdeweb/api.tscomplété.Vérifications
beta(0.3.0).npm run check: OK.tests/home-assistant.test.ts,home-assistant-api.test.ts,storage.test.ts,live.test.ts: 100/100, dont 4 tests sur les thermostats (désactivé par défaut puis activé ; pas et plage appliqués ; lecture conservée ; refus sans appel ; pas nul et thermostat qui arrondit au degré ; plage seule ; relecture impossible après accusé ; personnes reconnues) et 1 sur le fragmenthomeClimatede la configuration Live.Indépendante de #26 et #28.