v0.7.7
This commit is contained in:
@@ -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.5**.
|
||||
Current version: **0.7.7**.
|
||||
|
||||
## 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.5.zip
|
||||
unzip gree-controller-v0.7.7.zip
|
||||
cd gree-controller
|
||||
chmod +x scripts/*.sh
|
||||
./scripts/dev.sh
|
||||
@@ -218,7 +218,7 @@ For combined control, `max_sensor_difference` protects against an obviously inco
|
||||
|
||||
The zone API exposes `device_temperature`, `external_temperature`, `current_temperature` (the actual control temperature) and `control_temperature_source` for diagnostics. Existing SQLite zone records remain compatible because the new fields have defaults and are stored in the existing JSON payload.
|
||||
|
||||
Zone cards are fast thermostats: `- / +`, **Auto schedule / Comfort / Sleep / Away**, and **Global / Heat / Cool** are available without opening the edit dialog. Temporary overrides automatically end at the next schedule boundary; if a zone has no future schedule transition, the override stays active until it is cleared. The zone engine, not the browser, owns device commands so schedules, sensors and manual overrides cannot fight each other.
|
||||
Zone cards are fast thermostats: `- / +`, **Auto schedule / Comfort / Sleep / Away**, **Global / Heat / Cool**, and per-unit **ON/OFF** are available without opening the edit dialog. The per-unit power buttons intentionally behave like the physical remote: they affect only that unit, can bypass a disabled group without enabling the whole group, and create the normal manual-device takeover. Temporary thermostat overrides automatically end at the next schedule boundary; if a zone has no future schedule transition, the override stays active until it is cleared. The zone engine, not the browser, owns device commands so schedules, sensors and manual overrides cannot fight each other.
|
||||
|
||||
## Smart thermostat and schedules
|
||||
|
||||
@@ -228,7 +228,9 @@ Choose one seasonal **global mode** — Cooling in summer, Heating in winter, or
|
||||
|
||||
Schedules store profiles rather than duplicating temperatures. Ready-made **Family**, **Child room**, **Bedroom**, **Workday** and **Always comfort** templates generate ordinary editable schedule entries. For example, a child room template can enter Sleep earlier; if the child goes to bed even earlier, press **Sleep** and that zone remains in Sleep until its next schedule boundary (or until manually cleared when no future boundary exists). Whole-house **Comfort all / Sleep all / Away all / Auto schedule** actions are also available.
|
||||
|
||||
The optional HA outdoor sensor is an assist signal only. It never replaces the room-control temperature. In extreme weather it can make the active device setpoint slightly more assertive and let Smart Fan increase airflow.
|
||||
The optional HA outdoor sensor is an assist signal only. It never replaces the room-control temperature. In extreme weather it can make the active device setpoint slightly more assertive and let Smart Fan increase airflow. When cooling is actually controlled from a valid external/combined room sensor, demand also forces the next lower whole-degree unit target (typically 0.5–1.0°C below the room target); the correction is disabled on GREE fallback and is not stacked above the outdoor-assist maximum.
|
||||
|
||||
At startup, thermostat, schedule and automation commands are held until one complete live device poll has finished. This prevents a restart from issuing commands based only on stale persisted device state while still preserving all saved zone, group, schedule, override and device configuration.
|
||||
|
||||
## Home Assistant
|
||||
|
||||
@@ -447,6 +449,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.6 Home Assistant command-state stability
|
||||
|
||||
- Physical-unit commands now tolerate the short GREE firmware settling window after a successful command ACK before publishing a contradictory status. This prevents stale immediate polls from producing visible `ON -> OFF -> ON` state bounce.
|
||||
- The Home Assistant coordinator keeps a just-accepted device command as a short-lived pending value while refreshing controller metadata. An overlapping stale read cannot temporarily roll back the HA climate/feature state; normal factual polling resumes automatically after the bounded guard window.
|
||||
|
||||
## 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.
|
||||
@@ -456,8 +463,15 @@ Zones now use setpoint modulation, global seasonal house mode, cooling/heating C
|
||||
|
||||
- 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.
|
||||
- While takeover is active, thermostat modulation, schedules, groups and direct-device automations observe the zone but do not overwrite the unit.
|
||||
- Takeover expires at the next schedule transition when available; otherwise it remains until **Resume automation** or another explicit quick-thermostat action.
|
||||
- The pre-takeover climate state is remembered. If the user returns the unit to that operational state, takeover clears automatically and **Resume automation** is no longer shown. If the unit was OFF before takeover, returning it to OFF is enough even when the remote retained a different dormant setpoint. Otherwise takeover expires at the next schedule transition when available; without one it remains until **Resume automation** or another explicit quick-thermostat action.
|
||||
- Technical climate control from the Devices view uses the same takeover semantics, while unrelated controls such as panel light do not pause the thermostat.
|
||||
- Disabled zones remain outside normal group/automation ownership; their unit can be operated manually.
|
||||
- **Turn all off** remains authoritative: it clears all takeovers, disables groups and powers off enabled units. Whole-house/group ON paths do not wake zones currently protected by manual takeover.
|
||||
- The UI and control-plan API expose the takeover state and its optional expiry.
|
||||
|
||||
|
||||
## 0.7.7 Quick-control label fit
|
||||
|
||||
- Adjusted the five-column quick-device mode row so longer Polish labels such as **Chłodzenie** and **Osuszanie** receive more width without reducing the whole row font size.
|
||||
- The change is limited to the dashboard quick-device mode row; thermostat/group layouts are unchanged.
|
||||
- Rotated the PWA cache key so browsers fetch the corrected stylesheet after upgrade.
|
||||
|
||||
Reference in New Issue
Block a user