Many air conditioner fixes for #52
This commit is contained in:
		
							
								
								
									
										23
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								README.md
									
									
									
									
									
								
							@@ -155,6 +155,7 @@ For every device exists a hidden button which can be used to log all infos of yo
 | 
				
			|||||||
| Air Conditioner | `air-conditioner` | `climate` | `settings` |
 | 
					| Air Conditioner | `air-conditioner` | `climate` | `settings` |
 | 
				
			||||||
| Echo | `account-voice` | `switch` | `settings.echoStatus` |
 | 
					| Echo | `account-voice` | `switch` | `settings.echoStatus` |
 | 
				
			||||||
| Eco Mode |  | `switch` | `settings.ecoMode` |
 | 
					| Eco Mode |  | `switch` | `settings.ecoMode` |
 | 
				
			||||||
 | 
					| Eco Pilot | `run` | `select` | `settings.humanSensingStatus` |
 | 
				
			||||||
| Health Mode | `medication-outline` | `switch` | `settings.healthMode` |
 | 
					| Health Mode | `medication-outline` | `switch` | `settings.healthMode` |
 | 
				
			||||||
| Mute | `volume-off` | `switch` | `settings.muteStatus` |
 | 
					| Mute | `volume-off` | `switch` | `settings.muteStatus` |
 | 
				
			||||||
| Rapid Mode | `run-fast` | `switch` | `settings.rapidMode` |
 | 
					| Rapid Mode | `run-fast` | `switch` | `settings.rapidMode` |
 | 
				
			||||||
@@ -162,15 +163,21 @@ For every device exists a hidden button which can be used to log all infos of yo
 | 
				
			|||||||
| Self Cleaning | `air-filter` | `switch` | `settings.selfCleaningStatus` |
 | 
					| Self Cleaning | `air-filter` | `switch` | `settings.selfCleaningStatus` |
 | 
				
			||||||
| Self Cleaning 56 | `air-filter` | `switch` | `settings.selfCleaning56Status` |
 | 
					| Self Cleaning 56 | `air-filter` | `switch` | `settings.selfCleaning56Status` |
 | 
				
			||||||
| Silent Sleep | `bed` | `switch` | `settings.silentSleepStatus` |
 | 
					| Silent Sleep | `bed` | `switch` | `settings.silentSleepStatus` |
 | 
				
			||||||
#### Configs
 | 
					| Target Temperature | `thermometer` | `number` | `settings.tempSel` |
 | 
				
			||||||
| Name | Icon | Entity | Key |
 | 
					 | 
				
			||||||
| --- | --- | --- | --- |
 | 
					 | 
				
			||||||
| Program |  | `select` | `startProgram.program` |
 | 
					 | 
				
			||||||
#### Sensors
 | 
					#### Sensors
 | 
				
			||||||
| Name | Icon | Entity | Key |
 | 
					| Name | Icon | Entity | Key |
 | 
				
			||||||
| --- | --- | --- | --- |
 | 
					| --- | --- | --- | --- |
 | 
				
			||||||
| Eco Pilot | `run` | `select` | `settings.humanSensingStatus` |
 | 
					| Air Temperature Outdoor | `thermometer` | `sensor` | `tempAirOutdoor` |
 | 
				
			||||||
| Target Temperature | `thermometer` | `number` | `settings.tempSel` |
 | 
					| Ch2O Cleaning |  | `binary_sensor` | `ch2oCleaningStatus` |
 | 
				
			||||||
 | 
					| Coiler Temperature Indoor | `thermometer` | `sensor` | `tempCoilerIndoor` |
 | 
				
			||||||
 | 
					| Coiler Temperature Outside | `thermometer` | `sensor` | `tempCoilerOutdoor` |
 | 
				
			||||||
 | 
					| Defrost Temperature Outdoor | `thermometer` | `sensor` | `tempDefrostOutdoor` |
 | 
				
			||||||
 | 
					| Filter Replacement |  | `binary_sensor` | `filterChangeStatusLocal` |
 | 
				
			||||||
 | 
					| In Air Temperature Outdoor | `thermometer` | `sensor` | `tempInAirOutdoor` |
 | 
				
			||||||
 | 
					| Indoor Temperature | `thermometer` | `sensor` | `tempIndoor` |
 | 
				
			||||||
 | 
					| Outdoor Temperature | `thermometer` | `sensor` | `tempOutdoor` |
 | 
				
			||||||
 | 
					| Program |  | `select` | `startProgram.program` |
 | 
				
			||||||
 | 
					| Selected Temperature | `thermometer` | `sensor` | `tempSel` |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Dish washer
 | 
					### Dish washer
 | 
				
			||||||
#### Controls
 | 
					#### Controls
 | 
				
			||||||
@@ -262,6 +269,8 @@ For every device exists a hidden button which can be used to log all infos of yo
 | 
				
			|||||||
| Name | Icon | Entity | Key |
 | 
					| Name | Icon | Entity | Key |
 | 
				
			||||||
| --- | --- | --- | --- |
 | 
					| --- | --- | --- | --- |
 | 
				
			||||||
| Auto-Set Mode | `thermometer-auto` | `switch` | `settings.intelligenceMode` |
 | 
					| Auto-Set Mode | `thermometer-auto` | `switch` | `settings.intelligenceMode` |
 | 
				
			||||||
 | 
					| Freezer Temperature | `thermometer` | `number` | `settings.tempSelZ2` |
 | 
				
			||||||
 | 
					| Fridge Temperature | `thermometer` | `number` | `settings.tempSelZ1` |
 | 
				
			||||||
| Super Cool | `snowflake` | `switch` | `settings.quickModeZ2` |
 | 
					| Super Cool | `snowflake` | `switch` | `settings.quickModeZ2` |
 | 
				
			||||||
| Super Freeze | `snowflake-variant` | `switch` | `settings.quickModeZ1` |
 | 
					| Super Freeze | `snowflake-variant` | `switch` | `settings.quickModeZ1` |
 | 
				
			||||||
#### Configs
 | 
					#### Configs
 | 
				
			||||||
@@ -274,8 +283,6 @@ For every device exists a hidden button which can be used to log all infos of yo
 | 
				
			|||||||
| Auto-Set Mode | `thermometer-auto` | `binary_sensor` | `intelligenceMode` |
 | 
					| Auto-Set Mode | `thermometer-auto` | `binary_sensor` | `intelligenceMode` |
 | 
				
			||||||
| Door Status Freezer | `fridge-top` | `binary_sensor` | `doorStatusZ1` |
 | 
					| Door Status Freezer | `fridge-top` | `binary_sensor` | `doorStatusZ1` |
 | 
				
			||||||
| Door Status Fridge | `fridge-bottom` | `binary_sensor` | `door2StatusZ1` |
 | 
					| Door Status Fridge | `fridge-bottom` | `binary_sensor` | `door2StatusZ1` |
 | 
				
			||||||
| Freezer Temperature | `thermometer` | `number` | `settings.tempSelZ2` |
 | 
					 | 
				
			||||||
| Fridge Temperature | `thermometer` | `number` | `settings.tempSelZ1` |
 | 
					 | 
				
			||||||
| Holiday Mode | `palm-tree` | `binary_sensor` | `holidayMode` |
 | 
					| Holiday Mode | `palm-tree` | `binary_sensor` | `holidayMode` |
 | 
				
			||||||
| Room Humidity | `water-percent` | `sensor` | `humidityEnv` |
 | 
					| Room Humidity | `water-percent` | `sensor` | `humidityEnv` |
 | 
				
			||||||
| Room Temperature | `home-thermometer-outline` | `sensor` | `tempEnv` |
 | 
					| Room Temperature | `home-thermometer-outline` | `sensor` | `tempEnv` |
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,8 @@
 | 
				
			|||||||
import logging
 | 
					import logging
 | 
				
			||||||
from dataclasses import dataclass
 | 
					from dataclasses import dataclass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from pyhon import Hon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from homeassistant.components.binary_sensor import (
 | 
					from homeassistant.components.binary_sensor import (
 | 
				
			||||||
    BinarySensorEntityDescription,
 | 
					    BinarySensorEntityDescription,
 | 
				
			||||||
    BinarySensorDeviceClass,
 | 
					    BinarySensorDeviceClass,
 | 
				
			||||||
@@ -8,8 +10,6 @@ from homeassistant.components.binary_sensor import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
from homeassistant.config_entries import ConfigEntry
 | 
					from homeassistant.config_entries import ConfigEntry
 | 
				
			||||||
from homeassistant.core import callback
 | 
					from homeassistant.core import callback
 | 
				
			||||||
from pyhon import Hon
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from .const import DOMAIN
 | 
					from .const import DOMAIN
 | 
				
			||||||
from .hon import HonCoordinator, HonEntity, unique_entities
 | 
					from .hon import HonCoordinator, HonEntity, unique_entities
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -179,6 +179,20 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
 | 
				
			|||||||
            translation_key="door_open",
 | 
					            translation_key="door_open",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ),
 | 
					    ),
 | 
				
			||||||
 | 
					    "AC": (
 | 
				
			||||||
 | 
					        HonBinarySensorEntityDescription(
 | 
				
			||||||
 | 
					            key="filterChangeStatusLocal",
 | 
				
			||||||
 | 
					            name="Filter Replacement",
 | 
				
			||||||
 | 
					            device_class=BinarySensorDeviceClass.PROBLEM,
 | 
				
			||||||
 | 
					            on_value="1",
 | 
				
			||||||
 | 
					            translation_key="filter_replacement",
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        HonBinarySensorEntityDescription(
 | 
				
			||||||
 | 
					            key="ch2oCleaningStatus",
 | 
				
			||||||
 | 
					            name="Ch2O Cleaning",
 | 
				
			||||||
 | 
					            on_value="1",
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
    "REF": (
 | 
					    "REF": (
 | 
				
			||||||
        HonBinarySensorEntityDescription(
 | 
					        HonBinarySensorEntityDescription(
 | 
				
			||||||
            key="quickModeZ2",
 | 
					            key="quickModeZ2",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,8 @@
 | 
				
			|||||||
import logging
 | 
					import logging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from pyhon import Hon
 | 
				
			||||||
 | 
					from pyhon.appliance import HonAppliance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from homeassistant.components.climate import (
 | 
					from homeassistant.components.climate import (
 | 
				
			||||||
    ClimateEntity,
 | 
					    ClimateEntity,
 | 
				
			||||||
    ClimateEntityDescription,
 | 
					    ClimateEntityDescription,
 | 
				
			||||||
@@ -20,9 +23,6 @@ from homeassistant.const import (
 | 
				
			|||||||
    TEMP_CELSIUS,
 | 
					    TEMP_CELSIUS,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from homeassistant.core import callback
 | 
					from homeassistant.core import callback
 | 
				
			||||||
from pyhon import Hon
 | 
					 | 
				
			||||||
from pyhon.appliance import HonAppliance
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from .const import HON_HVAC_MODE, HON_FAN, HON_HVAC_PROGRAM, DOMAIN
 | 
					from .const import HON_HVAC_MODE, HON_FAN, HON_HVAC_PROGRAM, DOMAIN
 | 
				
			||||||
from .hon import HonEntity, HonCoordinator
 | 
					from .hon import HonEntity, HonCoordinator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -107,6 +107,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
 | 
				
			|||||||
            ]
 | 
					            ]
 | 
				
			||||||
            await self._device.commands["startProgram"].send()
 | 
					            await self._device.commands["startProgram"].send()
 | 
				
			||||||
        self._attr_hvac_mode = hvac_mode
 | 
					        self._attr_hvac_mode = hvac_mode
 | 
				
			||||||
 | 
					        self.async_write_ha_state()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async def async_set_fan_mode(self, fan_mode):
 | 
					    async def async_set_fan_mode(self, fan_mode):
 | 
				
			||||||
        mode_number = list(HON_FAN.values()).index(fan_mode)
 | 
					        mode_number = list(HON_FAN.values()).index(fan_mode)
 | 
				
			||||||
@@ -114,6 +115,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
 | 
				
			|||||||
            mode_number
 | 
					            mode_number
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
        await self._device.commands["settings"].send()
 | 
					        await self._device.commands["settings"].send()
 | 
				
			||||||
 | 
					        self.async_write_ha_state()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async def async_set_swing_mode(self, swing_mode):
 | 
					    async def async_set_swing_mode(self, swing_mode):
 | 
				
			||||||
        horizontal = self._device.settings["settings.windDirectionHorizontal"]
 | 
					        horizontal = self._device.settings["settings.windDirectionHorizontal"]
 | 
				
			||||||
@@ -128,29 +130,29 @@ class HonClimateEntity(HonEntity, ClimateEntity):
 | 
				
			|||||||
            horizontal.value = "0"
 | 
					            horizontal.value = "0"
 | 
				
			||||||
        self._attr_swing_mode = swing_mode
 | 
					        self._attr_swing_mode = swing_mode
 | 
				
			||||||
        await self._device.commands["settings"].send()
 | 
					        await self._device.commands["settings"].send()
 | 
				
			||||||
 | 
					        self.async_write_ha_state()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async def async_set_temperature(self, **kwargs):
 | 
					    async def async_set_temperature(self, **kwargs):
 | 
				
			||||||
        if (temperature := kwargs.get(ATTR_TEMPERATURE)) is None:
 | 
					        if (temperature := kwargs.get(ATTR_TEMPERATURE)) is None:
 | 
				
			||||||
            return False
 | 
					            return False
 | 
				
			||||||
        self._device.settings["settings.tempSel"].value = int(temperature)
 | 
					        self._device.settings["settings.tempSel"].value = str(int(temperature))
 | 
				
			||||||
        await self._device.commands["settings"].send()
 | 
					        await self._device.commands["settings"].send()
 | 
				
			||||||
 | 
					        self.async_write_ha_state()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @callback
 | 
					    @callback
 | 
				
			||||||
    def _handle_coordinator_update(self, update=True) -> None:
 | 
					    def _handle_coordinator_update(self, update=True) -> None:
 | 
				
			||||||
        self._attr_target_temperature = int(float(self._device.get("tempSel")))
 | 
					        self._attr_target_temperature = int(float(self._device.get("tempSel")))
 | 
				
			||||||
        self._attr_current_temperature = float(self._device.get("tempIndoor"))
 | 
					        self._attr_current_temperature = float(self._device.get("tempIndoor"))
 | 
				
			||||||
        self._attr_max_temp = self._device.settings["settings.tempSel"].max
 | 
					 | 
				
			||||||
        self._attr_min_temp = self._device.settings["settings.tempSel"].min
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if self._device.get("onOffStatus") == "0":
 | 
					        if self._device.get("onOffStatus") == "0":
 | 
				
			||||||
            self._attr_hvac_mode = HVACMode.OFF
 | 
					            self._attr_hvac_mode = HVACMode.OFF
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self._attr_hvac_mode = HON_HVAC_MODE[self._device.get("machMode") or "0"]
 | 
					            self._attr_hvac_mode = HON_HVAC_MODE[self._device.get("machMode") or "0"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self._attr_fan_mode = HON_FAN[self._device.settings["settings.windSpeed"].value]
 | 
					        self._attr_fan_mode = HON_FAN[self._device.get("windSpeed")]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        horizontal = self._device.settings["settings.windDirectionHorizontal"]
 | 
					        horizontal = self._device.get("windDirectionHorizontal")
 | 
				
			||||||
        vertical = self._device.settings["settings.windDirectionVertical"]
 | 
					        vertical = self._device.get("windDirectionVertical")
 | 
				
			||||||
        if horizontal == "7" and vertical == "8":
 | 
					        if horizontal == "7" and vertical == "8":
 | 
				
			||||||
            self._attr_swing_mode = SWING_BOTH
 | 
					            self._attr_swing_mode = SWING_BOTH
 | 
				
			||||||
        elif horizontal == "7":
 | 
					        elif horizontal == "7":
 | 
				
			||||||
@@ -159,3 +161,4 @@ class HonClimateEntity(HonEntity, ClimateEntity):
 | 
				
			|||||||
            self._attr_swing_mode = SWING_VERTICAL
 | 
					            self._attr_swing_mode = SWING_VERTICAL
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self._attr_swing_mode = SWING_OFF
 | 
					            self._attr_swing_mode = SWING_OFF
 | 
				
			||||||
 | 
					        self.async_write_ha_state()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
import logging
 | 
					import logging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import voluptuous as vol
 | 
					import voluptuous as vol
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from homeassistant import config_entries
 | 
					from homeassistant import config_entries
 | 
				
			||||||
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD
 | 
					from homeassistant.const import CONF_EMAIL, CONF_PASSWORD
 | 
				
			||||||
 | 
					 | 
				
			||||||
from .const import DOMAIN
 | 
					from .const import DOMAIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_LOGGER = logging.getLogger(__name__)
 | 
					_LOGGER = logging.getLogger(__name__)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,7 +21,7 @@ PLATFORMS = [
 | 
				
			|||||||
HON_HVAC_MODE = {
 | 
					HON_HVAC_MODE = {
 | 
				
			||||||
    "0": HVACMode.AUTO,
 | 
					    "0": HVACMode.AUTO,
 | 
				
			||||||
    "1": HVACMode.COOL,
 | 
					    "1": HVACMode.COOL,
 | 
				
			||||||
    "2": HVACMode.COOL,
 | 
					    "2": HVACMode.DRY,
 | 
				
			||||||
    "3": HVACMode.DRY,
 | 
					    "3": HVACMode.DRY,
 | 
				
			||||||
    "4": HVACMode.HEAT,
 | 
					    "4": HVACMode.HEAT,
 | 
				
			||||||
    "5": HVACMode.FAN_ONLY,
 | 
					    "5": HVACMode.FAN_ONLY,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,11 @@
 | 
				
			|||||||
import logging
 | 
					import logging
 | 
				
			||||||
from datetime import timedelta
 | 
					from datetime import timedelta
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from pyhon.appliance import HonAppliance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from homeassistant.helpers.entity import DeviceInfo
 | 
					from homeassistant.helpers.entity import DeviceInfo
 | 
				
			||||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
 | 
					from homeassistant.helpers.update_coordinator import CoordinatorEntity
 | 
				
			||||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
 | 
					from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
 | 
				
			||||||
from pyhon.appliance import HonAppliance
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from .const import DOMAIN
 | 
					from .const import DOMAIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_LOGGER = logging.getLogger(__name__)
 | 
					_LOGGER = logging.getLogger(__name__)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -108,7 +108,6 @@ SELECTS = {
 | 
				
			|||||||
        SelectEntityDescription(
 | 
					        SelectEntityDescription(
 | 
				
			||||||
            key="startProgram.program",
 | 
					            key="startProgram.program",
 | 
				
			||||||
            name="Program",
 | 
					            name="Program",
 | 
				
			||||||
            entity_category=EntityCategory.CONFIG,
 | 
					 | 
				
			||||||
            translation_key="programs_ac",
 | 
					            translation_key="programs_ac",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
        SelectEntityDescription(
 | 
					        SelectEntityDescription(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,7 @@
 | 
				
			|||||||
import logging
 | 
					import logging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from pyhon import Hon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from homeassistant.components.sensor import (
 | 
					from homeassistant.components.sensor import (
 | 
				
			||||||
    SensorEntity,
 | 
					    SensorEntity,
 | 
				
			||||||
    SensorDeviceClass,
 | 
					    SensorDeviceClass,
 | 
				
			||||||
@@ -20,8 +22,6 @@ from homeassistant.const import (
 | 
				
			|||||||
from homeassistant.core import callback
 | 
					from homeassistant.core import callback
 | 
				
			||||||
from homeassistant.helpers.entity import EntityCategory
 | 
					from homeassistant.helpers.entity import EntityCategory
 | 
				
			||||||
from homeassistant.helpers.typing import StateType
 | 
					from homeassistant.helpers.typing import StateType
 | 
				
			||||||
from pyhon import Hon
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from . import const
 | 
					from . import const
 | 
				
			||||||
from .const import DOMAIN
 | 
					from .const import DOMAIN
 | 
				
			||||||
from .hon import HonCoordinator, HonEntity, unique_entities
 | 
					from .hon import HonCoordinator, HonEntity, unique_entities
 | 
				
			||||||
@@ -399,6 +399,72 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
 | 
				
			|||||||
            options=list(const.DISHWASHER_PR_PHASE),
 | 
					            options=list(const.DISHWASHER_PR_PHASE),
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ),
 | 
					    ),
 | 
				
			||||||
 | 
					    "AC": (
 | 
				
			||||||
 | 
					        SensorEntityDescription(
 | 
				
			||||||
 | 
					            key="tempAirOutdoor",
 | 
				
			||||||
 | 
					            name="Air Temperature Outdoor",
 | 
				
			||||||
 | 
					            icon="mdi:thermometer",
 | 
				
			||||||
 | 
					            state_class=SensorStateClass.MEASUREMENT,
 | 
				
			||||||
 | 
					            device_class=SensorDeviceClass.TEMPERATURE,
 | 
				
			||||||
 | 
					            native_unit_of_measurement=UnitOfTemperature.CELSIUS,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        SensorEntityDescription(
 | 
				
			||||||
 | 
					            key="tempCoilerIndoor",
 | 
				
			||||||
 | 
					            name="Coiler Temperature Indoor",
 | 
				
			||||||
 | 
					            icon="mdi:thermometer",
 | 
				
			||||||
 | 
					            state_class=SensorStateClass.MEASUREMENT,
 | 
				
			||||||
 | 
					            device_class=SensorDeviceClass.TEMPERATURE,
 | 
				
			||||||
 | 
					            native_unit_of_measurement=UnitOfTemperature.CELSIUS,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        SensorEntityDescription(
 | 
				
			||||||
 | 
					            key="tempCoilerOutdoor",
 | 
				
			||||||
 | 
					            name="Coiler Temperature Outside",
 | 
				
			||||||
 | 
					            icon="mdi:thermometer",
 | 
				
			||||||
 | 
					            state_class=SensorStateClass.MEASUREMENT,
 | 
				
			||||||
 | 
					            device_class=SensorDeviceClass.TEMPERATURE,
 | 
				
			||||||
 | 
					            native_unit_of_measurement=UnitOfTemperature.CELSIUS,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        SensorEntityDescription(
 | 
				
			||||||
 | 
					            key="tempDefrostOutdoor",
 | 
				
			||||||
 | 
					            name="Defrost Temperature Outdoor",
 | 
				
			||||||
 | 
					            icon="mdi:thermometer",
 | 
				
			||||||
 | 
					            state_class=SensorStateClass.MEASUREMENT,
 | 
				
			||||||
 | 
					            device_class=SensorDeviceClass.TEMPERATURE,
 | 
				
			||||||
 | 
					            native_unit_of_measurement=UnitOfTemperature.CELSIUS,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        SensorEntityDescription(
 | 
				
			||||||
 | 
					            key="tempInAirOutdoor",
 | 
				
			||||||
 | 
					            name="In Air Temperature Outdoor",
 | 
				
			||||||
 | 
					            icon="mdi:thermometer",
 | 
				
			||||||
 | 
					            state_class=SensorStateClass.MEASUREMENT,
 | 
				
			||||||
 | 
					            device_class=SensorDeviceClass.TEMPERATURE,
 | 
				
			||||||
 | 
					            native_unit_of_measurement=UnitOfTemperature.CELSIUS,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        SensorEntityDescription(
 | 
				
			||||||
 | 
					            key="tempIndoor",
 | 
				
			||||||
 | 
					            name="Indoor Temperature",
 | 
				
			||||||
 | 
					            icon="mdi:thermometer",
 | 
				
			||||||
 | 
					            state_class=SensorStateClass.MEASUREMENT,
 | 
				
			||||||
 | 
					            device_class=SensorDeviceClass.TEMPERATURE,
 | 
				
			||||||
 | 
					            native_unit_of_measurement=UnitOfTemperature.CELSIUS,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        SensorEntityDescription(
 | 
				
			||||||
 | 
					            key="tempOutdoor",
 | 
				
			||||||
 | 
					            name="Outdoor Temperature",
 | 
				
			||||||
 | 
					            icon="mdi:thermometer",
 | 
				
			||||||
 | 
					            state_class=SensorStateClass.MEASUREMENT,
 | 
				
			||||||
 | 
					            device_class=SensorDeviceClass.TEMPERATURE,
 | 
				
			||||||
 | 
					            native_unit_of_measurement=UnitOfTemperature.CELSIUS,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        SensorEntityDescription(
 | 
				
			||||||
 | 
					            key="tempSel",
 | 
				
			||||||
 | 
					            name="Selected Temperature",
 | 
				
			||||||
 | 
					            icon="mdi:thermometer",
 | 
				
			||||||
 | 
					            state_class=SensorStateClass.MEASUREMENT,
 | 
				
			||||||
 | 
					            device_class=SensorDeviceClass.TEMPERATURE,
 | 
				
			||||||
 | 
					            native_unit_of_measurement=UnitOfTemperature.CELSIUS,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
    "REF": (
 | 
					    "REF": (
 | 
				
			||||||
        SensorEntityDescription(
 | 
					        SensorEntityDescription(
 | 
				
			||||||
            key="humidityEnv",
 | 
					            key="humidityEnv",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,13 +2,14 @@ import logging
 | 
				
			|||||||
from dataclasses import dataclass
 | 
					from dataclasses import dataclass
 | 
				
			||||||
from typing import Any
 | 
					from typing import Any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from homeassistant.components.switch import SwitchEntityDescription, SwitchEntity
 | 
					 | 
				
			||||||
from homeassistant.config_entries import ConfigEntry
 | 
					 | 
				
			||||||
from homeassistant.const import EntityCategory
 | 
					 | 
				
			||||||
from pyhon import Hon
 | 
					from pyhon import Hon
 | 
				
			||||||
from pyhon.appliance import HonAppliance
 | 
					from pyhon.appliance import HonAppliance
 | 
				
			||||||
from pyhon.parameter.range import HonParameterRange
 | 
					from pyhon.parameter.range import HonParameterRange
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from homeassistant.components.switch import SwitchEntityDescription, SwitchEntity
 | 
				
			||||||
 | 
					from homeassistant.config_entries import ConfigEntry
 | 
				
			||||||
 | 
					from homeassistant.const import EntityCategory
 | 
				
			||||||
 | 
					from homeassistant.core import callback
 | 
				
			||||||
from .const import DOMAIN
 | 
					from .const import DOMAIN
 | 
				
			||||||
from .hon import HonCoordinator, HonEntity, unique_entities
 | 
					from .hon import HonCoordinator, HonEntity, unique_entities
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -19,6 +20,7 @@ _LOGGER = logging.getLogger(__name__)
 | 
				
			|||||||
class HonSwitchEntityDescriptionMixin:
 | 
					class HonSwitchEntityDescriptionMixin:
 | 
				
			||||||
    turn_on_key: str = ""
 | 
					    turn_on_key: str = ""
 | 
				
			||||||
    turn_off_key: str = ""
 | 
					    turn_off_key: str = ""
 | 
				
			||||||
 | 
					    status_key: str = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@dataclass
 | 
					@dataclass
 | 
				
			||||||
@@ -251,12 +253,14 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
 | 
				
			|||||||
    "AC": (
 | 
					    "AC": (
 | 
				
			||||||
        HonSwitchEntityDescription(
 | 
					        HonSwitchEntityDescription(
 | 
				
			||||||
            key="settings.10degreeHeatingStatus",
 | 
					            key="settings.10degreeHeatingStatus",
 | 
				
			||||||
 | 
					            status_key="10degreeHeatingStatus",
 | 
				
			||||||
            name="10° Heating",
 | 
					            name="10° Heating",
 | 
				
			||||||
            icon="mdi:heat-wave",
 | 
					            icon="mdi:heat-wave",
 | 
				
			||||||
            translation_key="10_degree_heating",
 | 
					            translation_key="10_degree_heating",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
        HonSwitchEntityDescription(
 | 
					        HonSwitchEntityDescription(
 | 
				
			||||||
            key="settings.echoStatus",
 | 
					            key="settings.echoStatus",
 | 
				
			||||||
 | 
					            status_key="echoStatus",
 | 
				
			||||||
            name="Echo",
 | 
					            name="Echo",
 | 
				
			||||||
            icon="mdi:account-voice",
 | 
					            icon="mdi:account-voice",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
@@ -267,23 +271,27 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
 | 
				
			|||||||
        ),
 | 
					        ),
 | 
				
			||||||
        HonSwitchEntityDescription(
 | 
					        HonSwitchEntityDescription(
 | 
				
			||||||
            key="settings.healthMode",
 | 
					            key="settings.healthMode",
 | 
				
			||||||
 | 
					            status_key="healthMode",
 | 
				
			||||||
            name="Health Mode",
 | 
					            name="Health Mode",
 | 
				
			||||||
            icon="mdi:medication-outline",
 | 
					            icon="mdi:medication-outline",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
        HonSwitchEntityDescription(
 | 
					        HonSwitchEntityDescription(
 | 
				
			||||||
            key="settings.muteStatus",
 | 
					            key="settings.muteStatus",
 | 
				
			||||||
 | 
					            status_key="muteStatus",
 | 
				
			||||||
            name="Mute",
 | 
					            name="Mute",
 | 
				
			||||||
            icon="mdi:volume-off",
 | 
					            icon="mdi:volume-off",
 | 
				
			||||||
            translation_key="mute_mode",
 | 
					            translation_key="mute_mode",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
        HonSwitchEntityDescription(
 | 
					        HonSwitchEntityDescription(
 | 
				
			||||||
            key="settings.rapidMode",
 | 
					            key="settings.rapidMode",
 | 
				
			||||||
 | 
					            status_key="rapidMode",
 | 
				
			||||||
            name="Rapid Mode",
 | 
					            name="Rapid Mode",
 | 
				
			||||||
            icon="mdi:run-fast",
 | 
					            icon="mdi:run-fast",
 | 
				
			||||||
            translation_key="rapid_mode",
 | 
					            translation_key="rapid_mode",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
        HonSwitchEntityDescription(
 | 
					        HonSwitchEntityDescription(
 | 
				
			||||||
            key="settings.screenDisplayStatus",
 | 
					            key="settings.screenDisplayStatus",
 | 
				
			||||||
 | 
					            status_key="screenDisplayStatus",
 | 
				
			||||||
            name="Screen Display",
 | 
					            name="Screen Display",
 | 
				
			||||||
            icon="mdi:monitor-small",
 | 
					            icon="mdi:monitor-small",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
@@ -295,12 +303,14 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
 | 
				
			|||||||
        ),
 | 
					        ),
 | 
				
			||||||
        HonSwitchEntityDescription(
 | 
					        HonSwitchEntityDescription(
 | 
				
			||||||
            key="settings.selfCleaningStatus",
 | 
					            key="settings.selfCleaningStatus",
 | 
				
			||||||
 | 
					            status_key="selfCleaningStatus",
 | 
				
			||||||
            name="Self Cleaning",
 | 
					            name="Self Cleaning",
 | 
				
			||||||
            icon="mdi:air-filter",
 | 
					            icon="mdi:air-filter",
 | 
				
			||||||
            translation_key="self_clean",
 | 
					            translation_key="self_clean",
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
        HonSwitchEntityDescription(
 | 
					        HonSwitchEntityDescription(
 | 
				
			||||||
            key="settings.silentSleepStatus",
 | 
					            key="settings.silentSleepStatus",
 | 
				
			||||||
 | 
					            status_key="silentSleepStatus",
 | 
				
			||||||
            name="Silent Sleep",
 | 
					            name="Silent Sleep",
 | 
				
			||||||
            icon="mdi:bed",
 | 
					            icon="mdi:bed",
 | 
				
			||||||
            translation_key="silent_mode",
 | 
					            translation_key="silent_mode",
 | 
				
			||||||
@@ -392,6 +402,8 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
 | 
				
			|||||||
                or hasattr(setting, "min")
 | 
					                or hasattr(setting, "min")
 | 
				
			||||||
                and setting.value != setting.min
 | 
					                and setting.value != setting.min
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					        elif self.entity_description.status_key:
 | 
				
			||||||
 | 
					            return self._device.get(self.entity_description.status_key, "0") == "1"
 | 
				
			||||||
        return self._device.get(self.entity_description.key, False)
 | 
					        return self._device.get(self.entity_description.key, False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async def async_turn_on(self, **kwargs: Any) -> None:
 | 
					    async def async_turn_on(self, **kwargs: Any) -> None:
 | 
				
			||||||
@@ -438,3 +450,11 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
 | 
				
			|||||||
                and self._device.get("attributes.lastConnEvent.category")
 | 
					                and self._device.get("attributes.lastConnEvent.category")
 | 
				
			||||||
                != "DISCONNECTED"
 | 
					                != "DISCONNECTED"
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @callback
 | 
				
			||||||
 | 
					    def _handle_coordinator_update(self):
 | 
				
			||||||
 | 
					        if not self.entity_description.status_key:
 | 
				
			||||||
 | 
					            return
 | 
				
			||||||
 | 
					        value = self._device.get(self.entity_description.status_key, "0")
 | 
				
			||||||
 | 
					        self._attr_state = value == "1"
 | 
				
			||||||
 | 
					        self.async_write_ha_state()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Otevřená dvířka Chladnička"
 | 
					                "name": "Otevřená dvířka Chladnička"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Výměna filtru"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Tür offen Kühlschrank"
 | 
					                "name": "Tür offen Kühlschrank"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Filteraustausch"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Πόρτα ανοιχτή Ψυγείο"
 | 
					                "name": "Πόρτα ανοιχτή Ψυγείο"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Αντικατάσταση φίλτρου"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1323,6 +1323,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Door open Fridge"
 | 
					                "name": "Door open Fridge"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Filter replacement"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Puerta abierta Frigorífico"
 | 
					                "name": "Puerta abierta Frigorífico"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Sustitución del filtro"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Porte ouverte Réfrigérateur"
 | 
					                "name": "Porte ouverte Réfrigérateur"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Remplacement du filtre"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -708,6 +708,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Door open Fridge"
 | 
					                "name": "Door open Fridge"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Filter replacement"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Otvorena vrata Hladnjak"
 | 
					                "name": "Otvorena vrata Hladnjak"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Zamjena filtra"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1307,6 +1307,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Porta aperta Frigorifero"
 | 
					                "name": "Porta aperta Frigorifero"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Sostituzione filtro"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Deur open Koelkast"
 | 
					                "name": "Deur open Koelkast"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Filter vervangen"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Drzwi otwarte Lodówka"
 | 
					                "name": "Drzwi otwarte Lodówka"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Wymiana filtra"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Porta aberta Frigorífico"
 | 
					                "name": "Porta aberta Frigorífico"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Substituição do filtro"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Ușă deschisă Frigider"
 | 
					                "name": "Ușă deschisă Frigider"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Înlocuirea filtrului"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Дверца открыта Холодильник"
 | 
					                "name": "Дверца открыта Холодильник"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Замена фильтра"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Otvorené dvere Chladnička"
 | 
					                "name": "Otvorené dvere Chladnička"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Výmena filtra"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Door open Hladilnik"
 | 
					                "name": "Door open Hladilnik"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Menjava filtra"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Vrata su otvorena Frižider"
 | 
					                "name": "Vrata su otvorena Frižider"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Zamena filtera"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "Kapı açık Buzdolabı"
 | 
					                "name": "Kapı açık Buzdolabı"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "Filtre değişimi"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1255,6 +1255,9 @@
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            "fridge_door": {
 | 
					            "fridge_door": {
 | 
				
			||||||
                "name": "门打开 冰箱"
 | 
					                "name": "门打开 冰箱"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "filter_replacement": {
 | 
				
			||||||
 | 
					                "name": "更换过滤器"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "number": {
 | 
					        "number": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -112,6 +112,7 @@ NAMES = {
 | 
				
			|||||||
        "super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE",
 | 
					        "super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE",
 | 
				
			||||||
        "freezer_door": ["GLOBALS.APPLIANCE_STATUS.DOOR_OPEN", "REF.ZONES.FREEZER"],
 | 
					        "freezer_door": ["GLOBALS.APPLIANCE_STATUS.DOOR_OPEN", "REF.ZONES.FREEZER"],
 | 
				
			||||||
        "fridge_door": ["GLOBALS.APPLIANCE_STATUS.DOOR_OPEN", "REF.ZONES.FRIDGE"],
 | 
					        "fridge_door": ["GLOBALS.APPLIANCE_STATUS.DOOR_OPEN", "REF.ZONES.FRIDGE"],
 | 
				
			||||||
 | 
					        "filter_replacement": "AP.MAINTENANCE.FILTER_REPLACEMENT",
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "button": {
 | 
					    "button": {
 | 
				
			||||||
        "induction_hob": "GLOBALS.APPLIANCES_NAME.IH",
 | 
					        "induction_hob": "GLOBALS.APPLIANCES_NAME.IH",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -61,7 +61,9 @@ for entity_type, appliances in entities.items():
 | 
				
			|||||||
            attributes = (key, entity.name, entity.icon, entity_type)
 | 
					            attributes = (key, entity.name, entity.icon, entity_type)
 | 
				
			||||||
            category = (
 | 
					            category = (
 | 
				
			||||||
                "control"
 | 
					                "control"
 | 
				
			||||||
                if entity_type in ["switch", "button", "climate"]
 | 
					                if entity.key.startswith("settings")
 | 
				
			||||||
 | 
					                or hasattr(entity, "turn_on_key")
 | 
				
			||||||
 | 
					                or entity_type in ["button", "climate"]
 | 
				
			||||||
                else "sensor"
 | 
					                else "sensor"
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            result.setdefault(appliance, {}).setdefault(
 | 
					            result.setdefault(appliance, {}).setdefault(
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user