Will_71
October 6, 2026, 10:53am
126
That doesn’t exist. You could make a feature request for that.
bjm
October 6, 2026, 12:20pm
127
I would create a virtual average thermometer and in a scene you retrieve the values of each thermometer, then you apply a calculation to get the average.
Voilà, tested.
In summary, it’s really, really, really great!
Two things that gave me trouble. Tested on Android mobile only:
In planning mode, if I click on the time, the keyboard doesn’t appear, nor does the time selection (and the clock icon is too hard to see in dark mode)
If I set it to ‹ Off ›, even if I ‹ return to planning ›, the button doesn’t update (it should go back to eco or night mode or… (Actually, at this time, I hadn’t set anything, so I wonder as I write these lines what is set by default. Eco? Ah, no. Looking back, it’s ‹ off › by default, so I guess everything is normal…)
I’m so enthusiastic and can’t wait to see this module in production! Well done, it’s really great (did I already say that?)
Will_71
October 6, 2026, 9:38pm
129
Thanks so much for your valuable feedback… Claude has sometimes sweated…
Okay for point 1, I will (Claude) make a correction.
For point 2, yes if you haven’t defined anything in your schedule, that’s normal. But as soon as you pressed the button, the message remains, which may have confused you. I’ll think about what I can do.
Thanks again for your feedback
Will_71:
like the message remains
You’re right, that’s exactly the problem. The message should go back to ‹ stop ›, like for the other modes
Will_71
October 7, 2026, 9:19pm
131
GBoulvin:
if I click on the time, the keyboard doesn’t appear
@GBoulvin , what is your browser on your Android mobile?
Claude tells me that this is probably due to the browser.
Would it be okay if I set the selector like in the scenes?
It’s Chrome.
The current selector is great, I just wish I could type the time manually, on the keyboard, or maybe just that the selector opens when clicking on the time and not just on the logo.
I can retest at the end of the day with another browser if you want…
Will_71
October 8, 2026, 5:49am
133
Oh ok I hadn’t understood that at all.
I’d be happy if you could try again with a different browser if that’s possible for you.
Thanks
@Will_71 Keep me posted as soon as you think it’s ready to go! The idea would be to aim for a release by next week at the latest, so that I’m still around during the first two weeks of the feature’s life. For info, I have between 9 and 19 days left on Gladys, depending on the delivery date!
If you’re okay with it, I suggest we merge today onto master and do a :dev build. If there’s any feedback over the weekend, I’ll merge it on Monday, otherwise it goes to production on Monday
Will_71
October 9, 2026, 9:26am
136
I’m a bit under fire with my work today, but I can make progress on it this weekend. There are still the 2 points that @GBoulvin raised.
@Will_71 I launched my Claude to analyze @GBoulvin ’s feedback and its feedback is legitimate. The full diagnosis is available here: feat(thermostat): add a thermostat integration with dashboard widget by William-De71 · Pull Request #2988 · GladysAssistant/Gladys · GitHub
If you’re not available today, I suggest I make the fixes myself, then merge to master, and then if you have other fixes to make this weekend, you can make other PRs and they’ll go out Monday, what do you think?
Will_71
October 9, 2026, 10:02am
138
Go ahead, for today this will help move things forward as I won’t be able to take care of it.
I can look into more detail this weekend, but for me, only these two points remained.
Once your merge is on master, I can also prepare the next steps with the management of the pilot threads… PRs ready on my side to be rebased and then tested in real.
Hi everyone!
This topic is now in development .
A PR has been opened to fix the “Back to schedule” button on a Stop slot, and the schedule time selector on Android:
master ← claude/beautiful-hamilton-vs9e20
ouvert 10:06AM - 09 Oct 26 UTC
### Description
Follow-up to https://github.com/GladysAssistant/Gladys/pull/298… 8. It fixes the two points GBoulvin reported after testing the thermostat image on an Android phone ([forum post #128](https://community.gladysassistant.com/t/feature-thermostat-complete/9719/128)). The diagnosis is in [this comment](https://github.com/GladysAssistant/Gladys/pull/2988#issuecomment-6078328910).
> [!IMPORTANT]
> **This PR is stacked on #2988 and must be merged after it.** The branch is #2988's head (`0b100eb`) with the current `master` merged in. The only conflicts were in the four translation files, where both sides are kept. Until #2988 lands, the diff shows the whole integration: **review only the last three commits** (`f8534b7`, `d287764`, `73e0108`, 45 lines across 4 files). Once #2988 is merged I'll merge `master` back in, and the diff shrinks to those commits.
#### 1. "Back to the schedule" did nothing on an Off programme point (`ThermostatBox.jsx`)
The banner decided whether the thermostat was stopped from the preset it displayed (`resolvedPresetKey === 'off'`). That mixes up two states:
- **stopped by hand**: the thermostat's `mode` is `OFF`;
- **following the programme while its current point is `off`**: every gap of a new schedule is stored as an `off` point. The server cuts the switch, or stops the real device, and never writes the thermostat's own `mode`.
So a thermostat that was already following its programme was offered "Back to the schedule ▶". Tapping it wrote `schedule` again, the point was still Off, and the banner stayed. That matches GBoulvin's screenshot exactly.
- **Fix:** the stopped banner now reads `this.isStopped()` (the mode). An `off` point gets the regular schedule banner, "Off until 00:00", like any other preset.
- **Follow-on fix (`73e0108`):** the card only reloads the mode after its write lands, while Off lights up immediately. Stopping from a Comfort point therefore flashed "Off until 00:00" for the length of the round trip. Picking Off now sets the mode in the same state update as the preset, and the reload that follows still reads the device.
#### 2. Time field of the schedule editor on Chrome Android (`ScheduleEditor.jsx`, `style.css`)
- **The picker only opened from the clock icon.** A tap on the time selected the hour and brought up neither a picker nor a keyboard. A tap anywhere on the field now calls `showPicker()`. This only happens on touch screens (`pointer: coarse`), so typing the time with a keyboard still works on desktop. The call is guarded for browsers without `showPicker` and for refusals.
- **The clock icon was black on a dark field in dark mode.** `dark-mode.css` inverts inputs back to their real dark colours, and the browser still drew its icon for a light field. `color-scheme: dark` on these inputs draws the icon light, and the native picker dark.
`docs/specs/thermostat.md` is updated in the same diff: D.1 (stopped is read from the mode) and E.7 (the time inputs).
#### Verification
All runs used Playwright on the dev server, with a 412 px touch viewport and the French UI. The schedule matches GBoulvin's: Comfort 00:00 → 00:01, Off for the rest of every day.
| Scenario | #2988 head | This branch |
|---|---|---|
| Following the programme on an Off point | "Revenir au planning ▶" | "Arrêt jusqu'à 00:00" |
| Tap Arrêt | "Revenir au planning ▶" | "Revenir au planning ▶" |
| Then tap ▶ | **still "Revenir au planning ▶"** | "Arrêt jusqu'à 00:00", no ▶ |
| Tap Arrêt from a Comfort point (every banner rendered) | Confort → Revenir | Confort → Revenir (the "Arrêt jusqu'à" flash of `f8534b7` alone is gone) |
| Tap on a time field, touch | `showPicker` not called | called once, no page error |
| Click on a time field, mouse | not called | not called |
| Clock icon, dark mode | black on dark | light |
- Front: `prettier-check`, `eslint` (no new warning), `compare-translations` and `npm run build` pass.
- Server (no server change in the three commits; run on the merged tree): 7884 passing, 0 failing, over 1031 of the 1040 test files. The 9 left out are the Gladys Plus gateway/backup/restore, HomeKit and integrationHost files. In this sandbox, their mocked HTTP calls go through an outbound proxy that answers 403/405, and the `sqlite3` CLI and Docker are missing. None of them is touched by this branch, and CI runs them normally.
#### Not in this PR (pre-existing in #2988, found while testing)
`+` / `−` on a **stopped** thermostat sends the new setpoint right away, but writes the last preset only after the mode write (`resumeIfStopped().then(() => this.savePreset(lastPreset))`). The preset's hold then lands last, and the server keeps the preset's setpoint. In one run: 21.5 °C on screen ("Mode manuel"), and `THERMOSTAT_MANUAL_SETPOINT=21` (Comfort) on the server, with Confort lit after a reload. Chaining `sendSetpoint` after `savePreset` should fix it. It is left out to keep this PR to GBoulvin's points.
### Related request
Answers GBoulvin's feedback on the forum topic of the feature (link above). The topic itself is already linked from #2988, so it is not repeated here on a `Forum:` line: that keeps the release announcement and the topic closing from running twice.
### Checklist
- [x] If a forum topic or GitHub issue exists, the description links it (carried by #2988, see above)
- [x] Tests pass: the three commits are front-only, and the server suite passes on the merged tree (see above). There is no Cypress spec for the thermostat; the widget and editor were exercised in a real browser instead.
- [x] Linter and prettier pass on both front and server (`npm run eslint`, `npm run prettier`)
- [x] No undocumented breaking change
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_012qVyun3nKuSC9pqiQ3RCf9
---
_Generated by [Claude Code](https://claude.ai/code/session_012qVyun3nKuSC9pqiQ3RCf9)_
Feel free to follow the PR, test (optional, especially for small requests) and give your feedback here if needed.
I’m at least on my third pass
I had Claude do a real UX pass + several code reviews by Fable 5.1.
It churned for 45 minutes and took a lot of screenshots, and it found a few bugs.
It’s fixing them!
Will_71
October 9, 2026, 2:50pm
141
Don’t break all my work .
I’m joking, if we can fix other bugs we haven’t seen and the thermostat is perfect
I hope I didn’t break anything
Will_71
October 9, 2026, 3:11pm
143
Let me know when you’ve made progress/finished so I can test on my side
What I’m going to do is that anyway I’ll merge into master as soon as I’m satisfied today, so I can make a build that includes all the big changes from this week, and then if you have any feedback, you can make me some small corrective PRs this weekend that I’ll integrate on Monday