50 lines
2.4 KiB
Markdown
50 lines
2.4 KiB
Markdown
# 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_readings` SQLite 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/history` for one zone or all zones.
|
|
- History UI now supports a detailed per-zone view and common multi-zone comparison charts.
|
|
- Existing `readings` data and tables remain intact; the new table is created automatically on startup.
|
|
|
|
### Web asset changes
|
|
|
|
- `web/styles.css` is now the only CSS source used by the application.
|
|
- Removed `package.json`, `tailwind.config.js`, `web/tailwind.input.css` and `scripts/build-web.sh`.
|
|
- Removed all Node/npm/Tailwind build hooks from `dev.sh`, `install.sh` and `update.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.js` and `web/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
|
|
|
|
```bash
|
|
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.
|