v0.15.0
This commit is contained in:
@@ -8,7 +8,7 @@ ha-addon/home-assistant/custom_components/gree_controller/
|
||||
|
||||
It creates HA entities for physical units, thermostat zones, whole-house controls and climate groups, while sending every command to the standalone Rust controller. Home Assistant therefore remains a client and UDP/AES GREE communication stays outside HA.
|
||||
|
||||
The climate proxy supports power/turn on/off, HVAC modes, target temperature, fan mode, granular vertical louver positions and granular horizontal louver positions. `off`/`on` remain the first two swing modes for compatibility, followed by fixed positions and the supported vertical partial-swing ranges.
|
||||
The climate proxy supports power/turn on/off, HVAC modes, target temperature, fan mode, granular vertical louver positions and granular horizontal louver positions. `off`/`on` remain the first two swing modes for compatibility, followed by fixed positions and the supported vertical partial-swing ranges. The card UI translates those modes using the Home Assistant language while the underlying mode IDs (for example `fixed_upper`) remain unchanged for services, scripts and automations.
|
||||
|
||||
Automation plan:
|
||||
|
||||
|
||||
@@ -160,6 +160,7 @@ class GreeControllerClimate(CoordinatorEntity[GreeControllerCoordinator], Climat
|
||||
"""Home Assistant climate entity controlled through the Rust service."""
|
||||
|
||||
_attr_has_entity_name = True
|
||||
_attr_translation_key = "direct_control"
|
||||
_attr_temperature_unit = UnitOfTemperature.CELSIUS
|
||||
_attr_min_temp = 8.0
|
||||
_attr_max_temp = 30.0
|
||||
@@ -299,6 +300,7 @@ class GreeControllerZoneClimate(CoordinatorEntity[GreeControllerCoordinator], Cl
|
||||
"""Full climate entity for a controller thermostat zone."""
|
||||
|
||||
_attr_has_entity_name = True
|
||||
_attr_translation_key = "zone_thermostat"
|
||||
_attr_name = "Thermostat"
|
||||
_attr_temperature_unit = UnitOfTemperature.CELSIUS
|
||||
_attr_min_temp = 8.0
|
||||
|
||||
@@ -18,5 +18,91 @@
|
||||
"abort": {
|
||||
"already_configured": "GREE Controller is already configured"
|
||||
}
|
||||
},
|
||||
"entity": {
|
||||
"climate": {
|
||||
"direct_control": {
|
||||
"name": "Direct control",
|
||||
"state_attributes": {
|
||||
"fan_mode": {
|
||||
"state": {
|
||||
"auto": "Auto",
|
||||
"low": "Low",
|
||||
"medium_low": "Medium-low",
|
||||
"medium": "Medium",
|
||||
"medium_high": "Medium-high",
|
||||
"high": "High"
|
||||
}
|
||||
},
|
||||
"swing_mode": {
|
||||
"state": {
|
||||
"off": "Off",
|
||||
"on": "Full range (Auto)",
|
||||
"fixed_upper": "Fixed: Top",
|
||||
"fixed_upper_middle": "Fixed: Upper-middle",
|
||||
"fixed_middle": "Fixed: Middle",
|
||||
"fixed_lower_middle": "Fixed: Lower-middle",
|
||||
"fixed_lower": "Fixed: Bottom",
|
||||
"swing_upper": "Swing: Top",
|
||||
"swing_upper_middle": "Swing: Upper-middle",
|
||||
"swing_middle": "Swing: Middle",
|
||||
"swing_lower_middle": "Swing: Lower-middle",
|
||||
"swing_lower": "Swing: Bottom"
|
||||
}
|
||||
},
|
||||
"swing_horizontal_mode": {
|
||||
"state": {
|
||||
"off": "Off",
|
||||
"on": "Full range (Auto)",
|
||||
"fixed_left": "Fixed: Left",
|
||||
"fixed_left_middle": "Fixed: Left-middle",
|
||||
"fixed_middle": "Fixed: Middle",
|
||||
"fixed_right_middle": "Fixed: Middle-right",
|
||||
"fixed_right": "Fixed: Right"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"zone_thermostat": {
|
||||
"name": "Thermostat",
|
||||
"state_attributes": {
|
||||
"preset_mode": {
|
||||
"state": {
|
||||
"auto": "Auto schedule",
|
||||
"comfort": "Comfort",
|
||||
"sleep": "Sleep",
|
||||
"away": "Away"
|
||||
}
|
||||
},
|
||||
"swing_mode": {
|
||||
"state": {
|
||||
"off": "Off",
|
||||
"on": "Full range (Auto)",
|
||||
"fixed_upper": "Fixed: Top",
|
||||
"fixed_upper_middle": "Fixed: Upper-middle",
|
||||
"fixed_middle": "Fixed: Middle",
|
||||
"fixed_lower_middle": "Fixed: Lower-middle",
|
||||
"fixed_lower": "Fixed: Bottom",
|
||||
"swing_upper": "Swing: Top",
|
||||
"swing_upper_middle": "Swing: Upper-middle",
|
||||
"swing_middle": "Swing: Middle",
|
||||
"swing_lower_middle": "Swing: Lower-middle",
|
||||
"swing_lower": "Swing: Bottom"
|
||||
}
|
||||
},
|
||||
"swing_horizontal_mode": {
|
||||
"state": {
|
||||
"off": "Off",
|
||||
"on": "Full range (Auto)",
|
||||
"fixed_left": "Fixed: Left",
|
||||
"fixed_left_middle": "Fixed: Left-middle",
|
||||
"fixed_middle": "Fixed: Middle",
|
||||
"fixed_right_middle": "Fixed: Middle-right",
|
||||
"fixed_right": "Fixed: Right"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,5 +18,91 @@
|
||||
"abort": {
|
||||
"already_configured": "GREE Controller jest już skonfigurowany"
|
||||
}
|
||||
},
|
||||
"entity": {
|
||||
"climate": {
|
||||
"direct_control": {
|
||||
"name": "Sterowanie bezpośrednie",
|
||||
"state_attributes": {
|
||||
"fan_mode": {
|
||||
"state": {
|
||||
"auto": "Automatyczny",
|
||||
"low": "Niski",
|
||||
"medium_low": "Średnio-niski",
|
||||
"medium": "Średni",
|
||||
"medium_high": "Średnio-wysoki",
|
||||
"high": "Wysoki"
|
||||
}
|
||||
},
|
||||
"swing_mode": {
|
||||
"state": {
|
||||
"off": "Wyłączony",
|
||||
"on": "Pełny zakres (Auto)",
|
||||
"fixed_upper": "Stała: Góra",
|
||||
"fixed_upper_middle": "Stała: Środek-góra",
|
||||
"fixed_middle": "Stała: Środek",
|
||||
"fixed_lower_middle": "Stała: Środek-dół",
|
||||
"fixed_lower": "Stała: Dół",
|
||||
"swing_upper": "Ruch: Góra",
|
||||
"swing_upper_middle": "Ruch: Środek-góra",
|
||||
"swing_middle": "Ruch: Środek",
|
||||
"swing_lower_middle": "Ruch: Środek-dół",
|
||||
"swing_lower": "Ruch: Dół"
|
||||
}
|
||||
},
|
||||
"swing_horizontal_mode": {
|
||||
"state": {
|
||||
"off": "Wyłączony",
|
||||
"on": "Pełny zakres (Auto)",
|
||||
"fixed_left": "Stała: Lewo",
|
||||
"fixed_left_middle": "Stała: Lewo-środek",
|
||||
"fixed_middle": "Stała: Środek",
|
||||
"fixed_right_middle": "Stała: Środek-prawo",
|
||||
"fixed_right": "Stała: Prawo"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"zone_thermostat": {
|
||||
"name": "Termostat",
|
||||
"state_attributes": {
|
||||
"preset_mode": {
|
||||
"state": {
|
||||
"auto": "Harmonogram (Auto)",
|
||||
"comfort": "Komfort",
|
||||
"sleep": "Sen",
|
||||
"away": "Poza domem"
|
||||
}
|
||||
},
|
||||
"swing_mode": {
|
||||
"state": {
|
||||
"off": "Wyłączony",
|
||||
"on": "Pełny zakres (Auto)",
|
||||
"fixed_upper": "Stała: Góra",
|
||||
"fixed_upper_middle": "Stała: Środek-góra",
|
||||
"fixed_middle": "Stała: Środek",
|
||||
"fixed_lower_middle": "Stała: Środek-dół",
|
||||
"fixed_lower": "Stała: Dół",
|
||||
"swing_upper": "Ruch: Góra",
|
||||
"swing_upper_middle": "Ruch: Środek-góra",
|
||||
"swing_middle": "Ruch: Środek",
|
||||
"swing_lower_middle": "Ruch: Środek-dół",
|
||||
"swing_lower": "Ruch: Dół"
|
||||
}
|
||||
},
|
||||
"swing_horizontal_mode": {
|
||||
"state": {
|
||||
"off": "Wyłączony",
|
||||
"on": "Pełny zakres (Auto)",
|
||||
"fixed_left": "Stała: Lewo",
|
||||
"fixed_left_middle": "Stała: Lewo-środek",
|
||||
"fixed_middle": "Stała: Środek",
|
||||
"fixed_right_middle": "Stała: Środek-prawo",
|
||||
"fixed_right": "Stała: Prawo"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
- Adds full vertical and horizontal louver positions to manual unit control and thermostat cards, with compact dropdowns that preserve the existing view layout.
|
||||
- Extends legacy automations, Visual Flow and the bundled Home Assistant climate entities with granular louver positions; legacy boolean swing API payloads remain accepted.
|
||||
- Direct add-on access no longer shows `Invalid access token` on initial page load; that validation message appears only after a token is submitted.
|
||||
- Home Assistant climate cards localize direct-control names, fan modes, thermostat presets and all vertical/horizontal louver positions while keeping stable technical mode IDs for services and automations.
|
||||
|
||||
## 0.14.24
|
||||
|
||||
|
||||
Reference in New Issue
Block a user