v0.7.0
This commit is contained in:
+35
-1
@@ -1,4 +1,4 @@
|
||||
# GREE Controller v0.6.9 - build and validation report
|
||||
# GREE Controller v0.7.0 - build and validation report
|
||||
|
||||
## Scope
|
||||
|
||||
@@ -191,3 +191,37 @@ Validation performed in this packaging environment:
|
||||
- Added explicit climate-group cards to What happens next, combining member demand and upcoming member-zone events.
|
||||
- Zone plan cards identify their climate group membership, and automation plan rows preserve group targets.
|
||||
- Advanced the PWA cache key to `gree-controller-v069-dashboard-fit`.
|
||||
|
||||
|
||||
## 0.7.0 UI cleanup and scheduler/automation integrity audit
|
||||
|
||||
- Removed directional arrow glyphs from Swing controls on dashboard and device cards.
|
||||
- Removed the divider above the unit feature block and tightened desktop quick-mode/fan controls so all buttons fit without horizontal scrolling.
|
||||
- Allowed the detailed zone quick-change hint to wrap naturally on desktop.
|
||||
- Added an explicit Mode policy hint: keep Follow house mode when the zone should inherit the global GREE Controller mode; fixed Cooling/Heating are intentional overrides.
|
||||
- Fixed the Always-comfort schedule template to represent a true 24-hour window without a one-minute gap.
|
||||
- Added overlap detection for enabled schedules, including overnight windows, and deterministic handling for legacy overlapping rows.
|
||||
- Fixed the Workday template Sunday-to-Monday handoff so Sunday Sleep ends at 06:30 before Monday Morning starts.
|
||||
- Manual zone/profile overrides now expire at the actual next weekly schedule transition; if none exists, they remain active until explicitly cleared instead of expiring after an arbitrary fallback timeout.
|
||||
- Editing/deleting/applying schedule templates refreshes the active manual-override boundary.
|
||||
- Time automations are limited to one execution per local minute even with the minimum 30-second cooldown; failed actions now also observe cooldown to avoid retry/log storms.
|
||||
- Temperature automations ignore stale readings from disabled/offline trigger devices.
|
||||
- Direct-device automations cannot wake a unit blocked by a disabled climate group.
|
||||
- Group power-on respects other disabled overlapping groups; group power-off remains authoritative.
|
||||
- Automation creation/import validates target/trigger references, empty actions and unsupported group-action fields.
|
||||
- Device/zone deletion now protects automation/group references and removes orphaned schedules. A physical device can be assigned to only one thermostat zone.
|
||||
- Control-plan event timestamps are normalized to minute boundaries; time-event preview covers DST-length local days.
|
||||
- Added Rust unit-test cases for overnight/full-day schedules, overlap detection, weekly boundary lookup, Workday weekend handoff and one-fire-per-minute time automations.
|
||||
|
||||
Rust compilation/tests still require a host with the Rust toolchain (`cargo`/`rustc`); this build environment does not provide it. Static frontend, JSON, Python/Home Assistant, archive and manifest validation are performed below.
|
||||
|
||||
Validation for the 0.7.0 package:
|
||||
|
||||
- `node --check` passed for `web/app.js` and `web/sw.js`.
|
||||
- PL/EN JSON and Home Assistant manifest parsed successfully; PL/EN translation key sets are identical (578 keys each).
|
||||
- Home Assistant Python modules passed `python3 -m py_compile`.
|
||||
- `web/index.html` parsed with Python's HTML parser; CSS braces are balanced.
|
||||
- No Swing arrow glyph remains in web controls, the device feature divider rule is removed, and the detailed-zone quick hint has an explicit wrapping rule.
|
||||
- All built-in schedule templates were exercised against the weekly minute-mask model: no overlaps; Family/Child/Bedroom/Always cover the full week, and Workday's intentional uncovered period falls back to the normal Comfort profile.
|
||||
- SQLite `INIT_SCHEMA` and device-delete orphan-schedule cleanup SQL were executed successfully against temporary in-memory databases.
|
||||
- Rust source delimiter/static checks passed. Rust compile/test execution is unavailable here because no Rust toolchain is installed.
|
||||
|
||||
Reference in New Issue
Block a user