2.4 KiB
2.4 KiB
GREE Controller v0.4.2 - build and validation report
Scope
Version 0.4.2 expands climate history and removes the Node/Tailwind build pipeline.
History changes
- Added a dedicated
zone_readingsSQLite table. - History samples include GREE indoor temperature, optional Home Assistant room temperature, calculated control temperature, effective profile target, device setpoint, Home Assistant outdoor temperature, power, HVAC mode, fan speed, demand, control source and active preset.
- Zone history is sampled no faster than every 15 seconds (or the configured device poll interval when longer) to avoid unnecessary SQLite growth.
- Added
GET /api/historyfor one zone or all zones. - History UI now supports a detailed per-zone view and common multi-zone comparison charts.
- Existing
readingsdata and tables remain intact; the new table is created automatically on startup.
Web asset changes
web/styles.cssis now the only CSS source used by the application.- Removed
package.json,tailwind.config.js,web/tailwind.input.cssandscripts/build-web.sh. - Removed all Node/npm/Tailwind build hooks from
dev.sh,install.shandupdate.sh. - The CSS remains fully local and is embedded in the Rust binary with
include_str!.
Validation performed
Passed in the packaging environment:
- JavaScript syntax:
node --check web/app.jsandweb/sw.js. - JSON syntax for EN/PL language files and the PWA manifest.
- EN/PL translation-key parity (300 keys each).
- Shell syntax for all scripts in
scripts/. - Python syntax for the Home Assistant migration generator.
- HTML parsing and CSS brace-balance checks.
- SQLite schema creation plus insert/throttle/read tests for
zone_readings. - SQL centralization check: new SQL statements are in
src/queries.rs. - No Node/npm/Tailwind build files remain in the release tree.
Rust compilation
The packaging environment does not contain Cargo/Rust, so a full Rust compile could not be executed here. The LXC installer/updater still runs cargo test --all-targets before replacing the installed binary, unless --skip-tests is explicitly used.
Recommended LXC update
unzip gree-controller-v0.4.2.zip
cd gree-controller
sudo ./scripts/update.sh
The updater preserves /etc/gree-controller.env and /var/lib/gree-controller/gree-controller.db and rolls back automatically if the new service fails its health check.