ha(H3): ниты повторного ревью — пустой диапазон, merge значений, чистка

- R1: config flow отклоняет пустое пересечение override и таблицы
  (достижимый диапазон), + тест
- R2: async_sync_now перечитывает снимок без await (события не затираются)
- R3: translation_key климата убран (FglairEntity принимает None)
- R4: caps==0 «не сообщено» покрыт тестом
- R5: SWING_HORIZONTAL_MODES удалён (общий SWING_MODES)
This commit is contained in:
2026-09-29 13:54:55 +03:00
parent d86ed60b51
commit dee5819743
7 changed files with 81 additions and 23 deletions
+3 -7
View File
@@ -30,7 +30,6 @@ from .const import (
PRESET_CAP,
PRESET_ECO,
PRESET_PROP,
SWING_HORIZONTAL_MODES,
SWING_MODES,
)
from .coordinator import FglairCoordinator, FglairRuntime
@@ -47,7 +46,8 @@ class FglairClimate(FglairEntity, ClimateEntity):
_attr_temperature_unit = UnitOfTemperature.CELSIUS
def __init__(self, coordinator: FglairCoordinator) -> None:
super().__init__(coordinator, "climate", "climate")
# translation_key не нужен: имя = имя устройства (has_entity_name).
super().__init__(coordinator, "climate", None)
self._last_hvac_mode: Optional[HVACMode] = None
# -- свойства шаблона --------------------------------------------------
@@ -186,11 +186,7 @@ class FglairClimate(FglairEntity, ClimateEntity):
@property
def swing_horizontal_modes(self) -> Optional[list[str]]:
return (
SWING_HORIZONTAL_MODES
if self._horizontal_swing_supported()
else None
)
return SWING_MODES if self._horizontal_swing_supported() else None
# -- команды ----------------------------------------------------------
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: