v0.7.5
This commit is contained in:
+10
-1
@@ -1,4 +1,4 @@
|
||||
# GREE Controller v0.7.4 - build and validation report
|
||||
# GREE Controller v0.7.5 - build and validation report
|
||||
|
||||
## Scope
|
||||
|
||||
@@ -325,3 +325,12 @@ Validation in this packaging environment:
|
||||
- `web/index.html` parses successfully and CSS braces are balanced.
|
||||
- Rust source delimiter/static invariant checks pass, including poll detection, group/automation guards, whole-house override clear and technical manual-command routing.
|
||||
- The packaging environment has no `cargo`, `rustc` or `rustfmt`; the target update path remains the compile gate and must run `cargo test --all-targets` and `cargo build --release` before replacing the running binary.
|
||||
|
||||
## 0.7.5 UI polish
|
||||
|
||||
- Added explicit active styling for climate-group **ON/OFF** buttons, matching the existing active mode/profile treatment.
|
||||
- Reworded simulator demand summary to **Zones with demand** / **Strefy z zapotrzebowaniem**.
|
||||
- Bumped application and Home Assistant integration version to `0.7.5` and rotated the PWA service-worker cache key.
|
||||
- Validation: `node --check` passed for the web scripts, PL/EN language packs parse with identical 587-key sets, version declarations are consistent and the package SHA-256 manifest verifies.
|
||||
- `cargo check` remains unavailable in this environment because the Rust toolchain is not installed.
|
||||
|
||||
|
||||
Generated
+1
-1
@@ -633,7 +633,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gree-controller"
|
||||
version = "0.7.4"
|
||||
version = "0.7.5"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"aes-gcm",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "gree-controller"
|
||||
version = "0.7.4"
|
||||
version = "0.7.5"
|
||||
edition = "2021"
|
||||
authors = ["GREE Controller contributors"]
|
||||
description = "Standalone local GREE HVAC controller with Web UI, SQLite and Home Assistant sensor support"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
d67af429e4da9ce08e9d2f2a8472849ffbd70d135b1c5da535a076026794d04c ./.env.example
|
||||
a4ec3874a2e3ab1bad28fb40bb620f7b01f64d01ad9b699306bf70ada31227db ./.gitignore
|
||||
49062c81883c8208913641da1d3ba15a006e1a9fdcbac126f75bbc9622d7deca ./BUILD_REPORT.md
|
||||
179774a6d5ebb4d9ea5b9713f66658b5488d142132b4cffd44fa39bf79072bbc ./Cargo.lock
|
||||
9d24427676b6d8dec334ed5ebc3bbc2318d2203f1edebbeecaf83bee4e882203 ./Cargo.toml
|
||||
77b2c0f6dc0df29559a574500e32f1455e338d01b3bcc4cd378b1c01d8185f87 ./BUILD_REPORT.md
|
||||
4d9a67dc86b6599d27bd3163baab3510aa748fb22bb80c09fae514953978d6aa ./Cargo.lock
|
||||
b049ee42dd074849db4b91a1097343bf482ac1707e7bde1f68eaa0a08ecf4202 ./Cargo.toml
|
||||
19b2943504acb8f8de280f873a8dbec4bb6ebbe3870b158f5655d4fb8c298f5f ./LICENSE
|
||||
f30bfd3fc5ca95db2902b984ad82a95a73595e2b91e94db1a645cee9d17526d1 ./README.md
|
||||
43b62d076de1e0535342447df837e04bfcef471c5085d83c1625dbd367ea0c22 ./README.md
|
||||
f2c8eb28fedb26bb8f5636e1805e7a782cc472b87d882f6752d520f16216a248 ./build.rs
|
||||
eb343972b711426ca1e81684ffdc5f869db003b13afb6fd3828b954f8df7d964 ./docs/API.md
|
||||
234dd200e380a13ecd3e61b4ea455f6f08d64ce89382077dee80684acadb9703 ./docs/HOME_ASSISTANT_MIGRATION.md
|
||||
@@ -23,7 +23,7 @@ b7f0873109c52be9d7f09bea3dffc416103c50085e1f0680d11661a969479898 ./home-assista
|
||||
5a96fe8f5c035c34f1339370270cd078056202d09e236dec75735be11de92a7d ./home-assistant/custom_components/gree_controller/entity_map.py
|
||||
c4fb75c246db651087900ebfc2291ff41ac87652cd6194fc0b776b0005c1cbcf ./home-assistant/custom_components/gree_controller/icon.png
|
||||
c4fb75c246db651087900ebfc2291ff41ac87652cd6194fc0b776b0005c1cbcf ./home-assistant/custom_components/gree_controller/logo.png
|
||||
70fdf131ad73f4dd4cbecdb70a2014d6fae02d7cd8f31d0ea5367e4f7a887c7f ./home-assistant/custom_components/gree_controller/manifest.json
|
||||
d7c856a752efaa354d568e754ec0d2091023b0708bc6a7dbe31521c5f83e253c ./home-assistant/custom_components/gree_controller/manifest.json
|
||||
d0206766d76f70ea1c75a618e41bf1e8e8c0429f42ee97f40daac1ea12f16658 ./home-assistant/custom_components/gree_controller/number.py
|
||||
a697d18173087621a666781137f07617d23c1fb2720d8b246637a804634d5299 ./home-assistant/custom_components/gree_controller/select.py
|
||||
047f3db03f0db54a40d63092370e5861510d611edfb0a0659e4c25b949d47854 ./home-assistant/custom_components/gree_controller/sensor.py
|
||||
@@ -32,8 +32,8 @@ a697d18173087621a666781137f07617d23c1fb2720d8b246637a804634d5299 ./home-assista
|
||||
13f30e2dcdcedbd1b6c3f99c2335e0487108fd72c8e86922368b84f2fa2038ae ./home-assistant/custom_components/gree_controller/translations/pl.json
|
||||
4513070521d3dda0efb0d974a86ba674494cfb2b66fe9e5cac5b1b0430dede97 ./home-assistant/generated/gree_controller_entities.example.json
|
||||
253a0bc912786e67ea7fc92a64e4a510ad973bec343a88ccfb1f28fca3e8cf01 ./lang/README.md
|
||||
4ff030bd4d840d9262ad1e66e3e013aa6bc49d2ed772c6273078d496285e806d ./lang/en.json
|
||||
28ad00ce447bf7ca1d6eaa4dac8bf2652f713105155f0a0110f0230536265091 ./lang/pl.json
|
||||
520288cd933e651b989b9e3f049c55bbd196d6b07860a9bdd4deba79c879c79b ./lang/en.json
|
||||
ac2b2d8d6d0334e542f91fc01304227dcf1e1cb434d81da2875f6df3a674569c ./lang/pl.json
|
||||
028e1f16e9fbaed57cadb88eff04e65b4bd67722c50b4d6b1fb525f5a2f39abf ./make_zip.py
|
||||
bb89bac237e750e9b1bf73761d7df97a6b81853091615878c03f13d7b6399aa7 ./scripts/README.md
|
||||
5bc736c7bc76ca80aaa406bb171d2aa91baf4c3aa8695dce0e09b888b6ab3146 ./scripts/common.sh
|
||||
@@ -66,6 +66,6 @@ b92a6cb158b494fe145b43c7641e65f6fafff47201d7d76edbec2cfd8b94835c ./systemd/gree
|
||||
e98bdd7204349cce1ec6f57283509697af0bbc72280622a6c3efa6fed242db4f ./web/favicon.svg
|
||||
5e39be3a379e3036c03773d5f4cc22baed79e9688b574b438fe87b6f5828089a ./web/index.html
|
||||
fd26156e9f1d6713d3def564ad000553d9a16a24376059701db2ee762c99ee6c ./web/manifest.webmanifest
|
||||
056545319a32925b7c17050e839c694cb523b3c6a85125e92c5ae12d9a1fd366 ./web/styles.css
|
||||
de6d0a8feda7f25a3fa45ccd32e41fd70a786f20f328640575c457d6e298ffd5 ./web/sw.js
|
||||
99ca6465020d6d9b4728b9c07ef2db659792bff3cda6151371f1e37d3eda5fc8 ./web/styles.css
|
||||
216883653aa64e5d566bc017ec3ad7bfb84c83a18d720eff6f02c567492b2f1d ./web/sw.js
|
||||
d505d793ce7cc9485b45b78bba1c0d51887adc7451ab59a42702946e5b991382 ./web/theme-init.js
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
Standalone local GREE air-conditioner controller written in Rust. It runs on a regular Linux host or an LXC container and provides a mobile-first web interface without depending on the vendor cloud.
|
||||
|
||||
Current version: **0.7.4**.
|
||||
Current version: **0.7.5**.
|
||||
|
||||
## Highlights
|
||||
|
||||
@@ -47,7 +47,7 @@ See [`BUILD_REPORT.md`](BUILD_REPORT.md) for package validation details and [`do
|
||||
On Debian, Ubuntu or an LXC container:
|
||||
|
||||
```bash
|
||||
unzip gree-controller-v0.7.4.zip
|
||||
unzip gree-controller-v0.7.5.zip
|
||||
cd gree-controller
|
||||
chmod +x scripts/*.sh
|
||||
./scripts/dev.sh
|
||||
@@ -447,6 +447,11 @@ Zones now use setpoint modulation, global seasonal house mode, cooling/heating C
|
||||
- Group commands use the restricted Home Assistant access token and the dedicated `/api/integrations/home-assistant/groups/*` endpoints.
|
||||
- After adding/removing/renaming groups, reload the GREE Controller integration in Home Assistant so its entity/device registry is rebuilt.
|
||||
|
||||
## 0.7.5 group power state visibility
|
||||
|
||||
- Group **ON/OFF** buttons now use the same strong active-state highlight as group mode and profile controls, so the current power gate is immediately visible.
|
||||
- Simulator summary wording now uses **Zones with demand** / **Strefy z zapotrzebowaniem** instead of the less natural comfort-request wording.
|
||||
|
||||
## 0.7.4 manual remote override
|
||||
|
||||
- Physical GREE changes detected during polling for power, HVAC mode, target temperature and meaningful fan-speed changes now enter a per-zone **Manual control / remote** takeover state.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"domain": "gree_controller",
|
||||
"name": "GREE Controller",
|
||||
"version": "0.7.4",
|
||||
"version": "0.7.5",
|
||||
"config_flow": true,
|
||||
"integration_type": "hub",
|
||||
"iot_class": "local_polling",
|
||||
|
||||
+1
-1
@@ -421,7 +421,7 @@
|
||||
"simulation.outdoor": "Outdoor",
|
||||
"simulation.generatedAt": "Generated: {time}",
|
||||
"simulation.activeZones": "Active zones",
|
||||
"simulation.requestingZones": "Requesting comfort: {count}",
|
||||
"simulation.requestingZones": "Zones with demand: {count}",
|
||||
"simulation.rulesLabel": "Active rules",
|
||||
"simulation.eventsQueued": "Queued events: {count}",
|
||||
"simulation.house": "House",
|
||||
|
||||
+1
-1
@@ -421,7 +421,7 @@
|
||||
"simulation.outdoor": "Na zewnątrz",
|
||||
"simulation.generatedAt": "Wygenerowano: {time}",
|
||||
"simulation.activeZones": "Aktywne strefy",
|
||||
"simulation.requestingZones": "Żądają komfortu: {count}",
|
||||
"simulation.requestingZones": "Strefy z zapotrzebowaniem: {count}",
|
||||
"simulation.rulesLabel": "Aktywne reguły",
|
||||
"simulation.eventsQueued": "Zdarzenia w kolejce: {count}",
|
||||
"simulation.house": "Dom",
|
||||
|
||||
@@ -656,6 +656,7 @@ html[data-theme='light'] .simulation-metrics > div, html[data-theme='light'] .si
|
||||
.group-control-block { display:grid; gap:6px; }
|
||||
.group-button-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
|
||||
.group-button-row button,.group-mode-row button,.group-preset-row button { min-height:36px; }
|
||||
.group-button-row button.active { color:var(--accent-text); background:var(--accent); font-weight:800; }
|
||||
.group-zone-choices { display:grid; gap:7px; max-height:300px; overflow:auto; }
|
||||
.group-zone-choice { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface-muted); }
|
||||
.group-zone-choice input { width:18px; min-height:18px; accent-color:var(--accent); }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const CACHE = 'gree-controller-v074-manual-override';
|
||||
const CACHE = 'gree-controller-v075-group-power-state';
|
||||
const SCOPE = new URL(self.registration.scope).pathname.replace(/\/$/, '');
|
||||
const path = value => `${SCOPE}${value.startsWith('/') ? value : `/${value}`}` || '/';
|
||||
const ASSETS = [path('/'), path('/styles.css'), path('/app.js'), path('/theme-init.js'), path('/favicon.svg'), path('/manifest.webmanifest'), path('/lang/index.json'), path('/lang/en.json')];
|
||||
|
||||
Reference in New Issue
Block a user