v0.7.11
This commit is contained in:
+22
-3
@@ -1,8 +1,8 @@
|
||||
# GREE Controller v0.7.10 - build and validation report
|
||||
# GREE Controller v0.7.11 - build and validation report
|
||||
|
||||
## Scope
|
||||
|
||||
Version 0.7.10 includes the previous climate-group, whole-house and zone-profile fixes plus a strict separation between local quick-thermostat ownership and true physical/manual-device takeover. Global controls are consolidated, group control stays immediately below them, and lower-priority dashboard sections are collapsed on demand.
|
||||
Version 0.7.11 includes the previous climate-group, whole-house and zone-profile fixes plus a strict separation between local quick-thermostat ownership and true physical/manual-device takeover. Global controls are consolidated, group control stays immediately below them, and lower-priority dashboard sections are collapsed on demand.
|
||||
|
||||
## Implemented changes
|
||||
|
||||
@@ -398,7 +398,7 @@ Validation for this package is recorded after the final archive/manifest checks.
|
||||
## 2026-08-27 v0.7.10 local quick thermostat and false takeover fix
|
||||
|
||||
- Added persisted `local_thermostat_power` ownership with three distinct states: normal group/schedule ownership (`null`), locally forced thermostat ON (`true`) and locally forced thermostat OFF (`false`).
|
||||
- Dashboard quick ON/OFF and the legacy zone manual-power route now use local thermostat semantics; they never call the direct/manual-device command path.
|
||||
- Dashboard quick ON/OFF uses local thermostat semantics and never calls the direct/manual-device command path.
|
||||
- A locally active thermostat bypasses disabled climate-group power gates while retaining the normal sensor, hysteresis, profile/target, Smart Fan and GREE setpoint-modulation logic.
|
||||
- **Resume automation** for a local thermostat clears local ownership and returns the zone to group/schedule control. The existing device takeover Resume action remains separate.
|
||||
- Direct device commands and genuine remote/pilot changes still create `device_manual_override`; local thermostat ownership does not.
|
||||
@@ -417,3 +417,22 @@ Validation for this package is recorded after the final archive/manifest checks.
|
||||
- Rust source delimiter/static invariant checks passed, including the new regulator wake-up and control-plan fields.
|
||||
- `FILE_MANIFEST.sha256` is regenerated from the final tree and verified before packaging; the resulting ZIP is tested with `unzip -t`.
|
||||
- This environment does not provide `cargo`, `rustc` or `rustfmt`, so the normal target/CI update path must still run `cargo test --all-targets` and `cargo build --release` before replacing the running binary.
|
||||
|
||||
|
||||
## 2026-08-27 v0.7.11 cleanup and compile fix
|
||||
|
||||
- Removed the obsolete `/api/zones/{id}/manual-power` compatibility route, request structure and handler. The only zone quick-power API is now `POST /api/zones/{id}/control` with `power:true/false`.
|
||||
- Renamed Web UI local-thermostat power internals so they no longer use misleading `manual-power` terminology.
|
||||
- Fixed Rust error E0505 in `local_thermostat_ownership_blocks_direct_automation`: the test now passes a borrowed one-element slice with `std::slice::from_ref(&zone)` instead of moving `zone` while borrowing `zone.device_id`.
|
||||
- Advanced package/Home Assistant/PWA metadata to `0.7.11`.
|
||||
|
||||
## Final validation for v0.7.11
|
||||
|
||||
- `node --check` passed for Web UI JavaScript files.
|
||||
- Home Assistant modules, helper scripts and `make_zip.py` passed `python3 -m py_compile`.
|
||||
- JSON files parsed successfully; Polish and English language packs have identical 602-key sets.
|
||||
- All shell scripts passed `bash -n`; `web/index.html` parsed successfully and CSS braces are balanced.
|
||||
- Runtime source trees (`src`, `web`, `home-assistant`, `scripts`) contain no legacy `manual-power` route, handler, symbol or CSS naming.
|
||||
- Cargo package and Home Assistant manifest report version `0.7.11`; PWA cache metadata was rotated for this release.
|
||||
- The reported Rust E0505 test case was corrected with borrow-only `std::slice::from_ref(&zone)` calls.
|
||||
- This packaging environment does not provide `cargo`, `rustc` or `rustfmt`; target/CI must run `cargo test --all-targets` and `cargo build --release` before deployment.
|
||||
|
||||
Reference in New Issue
Block a user