Add entites for air purifier #72
This commit is contained in:
parent
a181359faa
commit
78727e89cd
9 changed files with 225 additions and 50 deletions
73
README.md
73
README.md
|
@ -14,9 +14,10 @@ Home Assistant integration for [Haier's mobile app hOn](https://hon-smarthome.co
|
||||||
- [Dish Washer](https://github.com/Andre0512/hon#dish-washer)
|
- [Dish Washer](https://github.com/Andre0512/hon#dish-washer)
|
||||||
- [Air conditioner](https://github.com/Andre0512/hon#air-conditioner)
|
- [Air conditioner](https://github.com/Andre0512/hon#air-conditioner)
|
||||||
- [Fridge](https://github.com/Andre0512/hon#fridge)
|
- [Fridge](https://github.com/Andre0512/hon#fridge)
|
||||||
- [Hob](https://github.com/Andre0512/hon#hob) [BETA]
|
- [Induction Hob](https://github.com/Andre0512/hon#induction-hob) [BETA]
|
||||||
- [Hood](https://github.com/Andre0512/hon#hood) [BETA]
|
- [Hood](https://github.com/Andre0512/hon#hood) [BETA]
|
||||||
- [Wine Cellar](https://github.com/Andre0512/hon#wine-cellar) [BETA]
|
- [Wine Cellar](https://github.com/Andre0512/hon#wine-cellar) [BETA]
|
||||||
|
- [Air Purifier](https://github.com/Andre0512/hon#air-purifier) [BETA]
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
**Method 1:** [![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=Andre0512&repository=hon&category=integration)
|
**Method 1:** [![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=Andre0512&repository=hon&category=integration)
|
||||||
|
@ -37,18 +38,18 @@ _If the integration is not in the list, you need to clear the browser cache._
|
||||||
## Supported Models
|
## Supported Models
|
||||||
Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8).
|
Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8).
|
||||||
|
|
||||||
| | **Haier** | **Hoover** | **Candy** |
|
| | **Haier** | **Hoover** | **Candy** |
|
||||||
|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
|
|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
|
||||||
| **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1 | H-WASH 500 <br/> H7W4 48MBC-S | CO4 107T1/2-07 <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S |
|
| **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1 | H-WASH 500 <br/> H7W4 48MBC-S | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S |
|
||||||
| **Tumble Dryer** | HD80-A3959 | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S |
|
| **Tumble Dryer** | HD80-A3959 | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S |
|
||||||
| **Washer Dryer** | HWD100-B14979 | HWPS4954DAMR-11 | RPW41066BWMR/1-S |
|
| **Washer Dryer** | HWD100-B14979 | HWPS4954DAMR-11 | RPW41066BWMR/1-S |
|
||||||
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
||||||
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
|
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
|
||||||
| **Air conditioner** | AD105S2SM3FA <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | |
|
| **Air Conditioner** | AD105S2SM3FA <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | |
|
||||||
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
|
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
|
||||||
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
||||||
| **Hood** | HADG6DS46BWIFI | | |
|
| **Hood** | HADG6DS46BWIFI | | |
|
||||||
| **Wine Cellar** | HWS247FDU1 | | |
|
| **Wine Cellar** | HWS247FDU1 | | |
|
||||||
|
|
||||||
## Supported Languages
|
## Supported Languages
|
||||||
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
|
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
|
||||||
|
@ -137,7 +138,7 @@ For every device exists a hidden button which can be used to log all infos of yo
|
||||||
|
|
||||||
## Appliance Features
|
## Appliance Features
|
||||||
|
|
||||||
### Air conditioner
|
### Air Conditioner
|
||||||
#### Controls
|
#### Controls
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
@ -171,7 +172,36 @@ For every device exists a hidden button which can be used to log all infos of yo
|
||||||
| Program | `play` | `sensor` | `programName` |
|
| Program | `play` | `sensor` | `programName` |
|
||||||
| Selected Temperature | `thermometer` | `sensor` | `tempSel` |
|
| Selected Temperature | `thermometer` | `sensor` | `tempSel` |
|
||||||
|
|
||||||
### Dish washer
|
### Air Purifier
|
||||||
|
#### Controls
|
||||||
|
| Name | Icon | Entity | Key |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| Aroma Time Off | `thermometer` | `number` | `settings.aromaTimeOff` |
|
||||||
|
| Aroma Time On | `thermometer` | `number` | `settings.aromaTimeOn` |
|
||||||
|
| Diffuser Level | | `select` | `settings.aromaStatus` |
|
||||||
|
| Light status | `lightbulb` | `number` | `settings.lightStatus` |
|
||||||
|
| Lock Status | | `switch` | `lockStatus` |
|
||||||
|
| Mode | `run` | `select` | `settings.machMode` |
|
||||||
|
| Pollen Level | | `number` | `settings.pollenLevel` |
|
||||||
|
| Touch Tone | | `switch` | `touchToneStatus` |
|
||||||
|
#### Sensors
|
||||||
|
| Name | Icon | Entity | Key |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| Air Quality | | `sensor` | `airQuality` |
|
||||||
|
| CO Level | | `sensor` | `coLevel` |
|
||||||
|
| Error | `math-log` | `sensor` | `errors` |
|
||||||
|
| Humidity | | `sensor` | `humidityIndoor` |
|
||||||
|
| Main Filter Status | | `sensor` | `mainFilterStatus` |
|
||||||
|
| On | `power-cycle` | `binary_sensor` | `attributes.parameters.onOffStatus` |
|
||||||
|
| Pre Filter Status | | `sensor` | `preFilterStatus` |
|
||||||
|
| Temperature | | `sensor` | `temp` |
|
||||||
|
| Total Work Time | | `sensor` | `totalWorkTime` |
|
||||||
|
| VOC | | `sensor` | `vocValueIndoor` |
|
||||||
|
| Wind Speed | | `sensor` | `windSpeed` |
|
||||||
|
| pm10 | | `sensor` | `pm10ValueIndoor` |
|
||||||
|
| pm2p5 | | `sensor` | `pm2p5ValueIndoor` |
|
||||||
|
|
||||||
|
### Dish Washer
|
||||||
#### Controls
|
#### Controls
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
@ -217,10 +247,6 @@ For every device exists a hidden button which can be used to log all infos of yo
|
||||||
| Start Program | `hvac` | `button` | `startProgram` |
|
| Start Program | `hvac` | `button` | `startProgram` |
|
||||||
| Stop Program | `hvac-off` | `button` | `stopProgram` |
|
| Stop Program | `hvac-off` | `button` | `stopProgram` |
|
||||||
| Wind Speed | | `fan` | `settings.windSpeed` |
|
| Wind Speed | | `fan` | `settings.windSpeed` |
|
||||||
#### Configs
|
|
||||||
| Name | Icon | Entity | Key |
|
|
||||||
| --- | --- | --- | --- |
|
|
||||||
| Light status | `lightbulb` | `number` | `startProgram.lightStatus` |
|
|
||||||
#### Sensors
|
#### Sensors
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
@ -231,13 +257,14 @@ For every device exists a hidden button which can be used to log all infos of yo
|
||||||
| Filter Cleaning Status | | `sensor` | `filterCleaningStatus` |
|
| Filter Cleaning Status | | `sensor` | `filterCleaningStatus` |
|
||||||
| Last Work Time | `clock-start` | `sensor` | `lastWorkTime` |
|
| Last Work Time | `clock-start` | `sensor` | `lastWorkTime` |
|
||||||
| Light Status | `lightbulb` | `sensor` | `lightStatus` |
|
| Light Status | `lightbulb` | `sensor` | `lightStatus` |
|
||||||
|
| Light status | `lightbulb` | `number` | `startProgram.lightStatus` |
|
||||||
| Mach Mode | | `sensor` | `machMode` |
|
| Mach Mode | | `sensor` | `machMode` |
|
||||||
| On / Off Status | `lightbulb` | `sensor` | `onOffStatus` |
|
| On / Off Status | `lightbulb` | `sensor` | `onOffStatus` |
|
||||||
| Quick Delay Time Status | | `sensor` | `quickDelayTimeStatus` |
|
| Quick Delay Time Status | | `sensor` | `quickDelayTimeStatus` |
|
||||||
| RGB Light Color | `lightbulb` | `sensor` | `rgbLightColors` |
|
| RGB Light Color | `lightbulb` | `sensor` | `rgbLightColors` |
|
||||||
| RGB Light Status | `lightbulb` | `sensor` | `rgbLightStatus` |
|
| RGB Light Status | `lightbulb` | `sensor` | `rgbLightStatus` |
|
||||||
|
|
||||||
### Hob
|
### Induction Hob
|
||||||
#### Controls
|
#### Controls
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
@ -321,7 +348,7 @@ For every device exists a hidden button which can be used to log all infos of yo
|
||||||
| Temperature Freezer | `snowflake-thermometer` | `sensor` | `tempZ2` |
|
| Temperature Freezer | `snowflake-thermometer` | `sensor` | `tempZ2` |
|
||||||
| Temperature Fridge | `thermometer` | `sensor` | `tempZ1` |
|
| Temperature Fridge | `thermometer` | `sensor` | `tempZ1` |
|
||||||
|
|
||||||
### Tumble dryer
|
### Tumble Dryer
|
||||||
#### Controls
|
#### Controls
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
@ -380,7 +407,7 @@ For every device exists a hidden button which can be used to log all infos of yo
|
||||||
| Temperature | `thermometer` | `sensor` | `temp` |
|
| Temperature | `thermometer` | `sensor` | `temp` |
|
||||||
| Temperature 2 | `thermometer` | `sensor` | `tempZ2` |
|
| Temperature 2 | `thermometer` | `sensor` | `tempZ2` |
|
||||||
|
|
||||||
### Washer dryer
|
### Washer Dryer
|
||||||
#### Controls
|
#### Controls
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
@ -455,7 +482,7 @@ For every device exists a hidden button which can be used to log all infos of yo
|
||||||
| Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` |
|
| Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` |
|
||||||
| Total Water | | `sensor` | `totalWaterUsed` |
|
| Total Water | | `sensor` | `totalWaterUsed` |
|
||||||
|
|
||||||
### Washing machine
|
### Washing Machine
|
||||||
#### Controls
|
#### Controls
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
|
|
@ -242,6 +242,16 @@ BINARY_SENSORS: dict[str, tuple[HonBinarySensorEntityDescription, ...]] = {
|
||||||
translation_key="holiday_mode",
|
translation_key="holiday_mode",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
"AP": (
|
||||||
|
HonBinarySensorEntityDescription(
|
||||||
|
key="attributes.parameters.onOffStatus",
|
||||||
|
name="On",
|
||||||
|
device_class=BinarySensorDeviceClass.RUNNING,
|
||||||
|
on_value="1",
|
||||||
|
icon="mdi:power-cycle",
|
||||||
|
translation_key="on",
|
||||||
|
),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -188,3 +188,18 @@ AC_HUMAN_SENSE = {
|
||||||
"2": "follow_touch",
|
"2": "follow_touch",
|
||||||
"3": "unknown",
|
"3": "unknown",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AP_MACH_MODE = {
|
||||||
|
"0": "standby",
|
||||||
|
"1": "sleep",
|
||||||
|
"2": "auto",
|
||||||
|
"3": "allergens",
|
||||||
|
"4": "max",
|
||||||
|
}
|
||||||
|
|
||||||
|
AP_DIFFUSER_LEVEL = {
|
||||||
|
"1": "soft",
|
||||||
|
"2": "mid",
|
||||||
|
"3": "h_biotics",
|
||||||
|
"4": "custom",
|
||||||
|
}
|
||||||
|
|
|
@ -167,7 +167,29 @@ NUMBERS: dict[str, tuple[NumberEntityDescription, ...]] = {
|
||||||
key="startProgram.lightStatus",
|
key="startProgram.lightStatus",
|
||||||
name="Light status",
|
name="Light status",
|
||||||
icon="mdi:lightbulb",
|
icon="mdi:lightbulb",
|
||||||
entity_category=EntityCategory.CONFIG,
|
),
|
||||||
|
),
|
||||||
|
"AP": (
|
||||||
|
HonNumberEntityDescription(
|
||||||
|
key="settings.aromaTimeOn",
|
||||||
|
name="Aroma Time On",
|
||||||
|
icon="mdi:thermometer",
|
||||||
|
native_unit_of_measurement=UnitOfTime.SECONDS,
|
||||||
|
),
|
||||||
|
HonNumberEntityDescription(
|
||||||
|
key="settings.aromaTimeOff",
|
||||||
|
name="Aroma Time Off",
|
||||||
|
icon="mdi:thermometer",
|
||||||
|
native_unit_of_measurement=UnitOfTime.SECONDS,
|
||||||
|
),
|
||||||
|
HonNumberEntityDescription(
|
||||||
|
key="settings.lightStatus",
|
||||||
|
name="Light status",
|
||||||
|
icon="mdi:lightbulb",
|
||||||
|
),
|
||||||
|
HonNumberEntityDescription(
|
||||||
|
key="settings.pollenLevel",
|
||||||
|
name="Pollen Level",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
@ -206,7 +228,7 @@ class HonNumberEntity(HonEntity, NumberEntity):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def native_value(self) -> float | None:
|
def native_value(self) -> float | None:
|
||||||
return self._device.get(self.entity_description.key)
|
return self._device.get(self.entity_description.key.split(".")[-1])
|
||||||
|
|
||||||
async def async_set_native_value(self, value: float) -> None:
|
async def async_set_native_value(self, value: float) -> None:
|
||||||
setting = self._device.settings[self.entity_description.key]
|
setting = self._device.settings[self.entity_description.key]
|
||||||
|
@ -223,7 +245,7 @@ class HonNumberEntity(HonEntity, NumberEntity):
|
||||||
self._attr_native_max_value = setting.max
|
self._attr_native_max_value = setting.max
|
||||||
self._attr_native_min_value = setting.min
|
self._attr_native_min_value = setting.min
|
||||||
self._attr_native_step = setting.step
|
self._attr_native_step = setting.step
|
||||||
self._attr_native_value = setting.value
|
self._attr_native_value = self.native_value
|
||||||
if update:
|
if update:
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
|
|
||||||
|
|
|
@ -133,6 +133,19 @@ SELECTS = {
|
||||||
translation_key="ref_zones",
|
translation_key="ref_zones",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
"AP": (
|
||||||
|
HonSelectEntityDescription(
|
||||||
|
key="settings.aromaStatus",
|
||||||
|
name="Diffuser Level",
|
||||||
|
option_list=const.AP_DIFFUSER_LEVEL,
|
||||||
|
),
|
||||||
|
HonSelectEntityDescription(
|
||||||
|
key="settings.machMode",
|
||||||
|
name="Mode",
|
||||||
|
icon="mdi:run",
|
||||||
|
option_list=const.AP_MACH_MODE,
|
||||||
|
),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
SELECTS["WD"] = unique_entities(SELECTS["WM"], SELECTS["TD"])
|
SELECTS["WD"] = unique_entities(SELECTS["WM"], SELECTS["TD"])
|
||||||
|
|
|
@ -9,7 +9,12 @@ from homeassistant.components.sensor import (
|
||||||
SensorEntityDescription,
|
SensorEntityDescription,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import PERCENTAGE
|
from homeassistant.const import (
|
||||||
|
PERCENTAGE,
|
||||||
|
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||||
|
CONCENTRATION_PARTS_PER_BILLION,
|
||||||
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
REVOLUTIONS_PER_MINUTE,
|
REVOLUTIONS_PER_MINUTE,
|
||||||
UnitOfEnergy,
|
UnitOfEnergy,
|
||||||
|
@ -637,6 +642,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
||||||
name="Temperature",
|
name="Temperature",
|
||||||
icon="mdi:thermometer",
|
icon="mdi:thermometer",
|
||||||
state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
translation_key="temperature",
|
translation_key="temperature",
|
||||||
),
|
),
|
||||||
|
@ -673,6 +679,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
||||||
icon="mdi:thermometer",
|
icon="mdi:thermometer",
|
||||||
state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
translation_key="temperature",
|
translation_key="temperature",
|
||||||
),
|
),
|
||||||
HonSensorEntityDescription(
|
HonSensorEntityDescription(
|
||||||
|
@ -683,6 +690,76 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
||||||
translation_key="programs_wc",
|
translation_key="programs_wc",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
"AP": (
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="mainFilterStatus",
|
||||||
|
name="Main Filter Status",
|
||||||
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="preFilterStatus",
|
||||||
|
name="Pre Filter Status",
|
||||||
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="totalWorkTime",
|
||||||
|
name="Total Work Time",
|
||||||
|
native_unit_of_measurement=UnitOfTime.MINUTES,
|
||||||
|
device_class=SensorDeviceClass.DURATION,
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="coLevel",
|
||||||
|
name="CO Level",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.CO,
|
||||||
|
native_unit_of_measurement=CONCENTRATION_PARTS_PER_MILLION,
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="pm10ValueIndoor",
|
||||||
|
name="pm10",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.PM10,
|
||||||
|
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="pm2p5ValueIndoor",
|
||||||
|
name="pm2p5",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.PM25,
|
||||||
|
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="vocValueIndoor",
|
||||||
|
name="VOC",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
|
||||||
|
native_unit_of_measurement=CONCENTRATION_PARTS_PER_BILLION,
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="humidityIndoor",
|
||||||
|
name="Humidity",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.HUMIDITY,
|
||||||
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
|
translation_key="humidity",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="temp",
|
||||||
|
name="Temperature",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
translation_key="temperature",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(key="windSpeed", name="Wind Speed"),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="airQuality",
|
||||||
|
name="Air Quality",
|
||||||
|
),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"])
|
SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"])
|
||||||
|
|
||||||
|
|
|
@ -333,6 +333,16 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
|
||||||
key="lightStatus", name="Light", icon="mdi:lightbulb"
|
key="lightStatus", name="Light", icon="mdi:lightbulb"
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
"AP": (
|
||||||
|
HonSwitchEntityDescription(
|
||||||
|
key="touchToneStatus",
|
||||||
|
name="Touch Tone",
|
||||||
|
),
|
||||||
|
HonSwitchEntityDescription(
|
||||||
|
key="lockStatus",
|
||||||
|
name="Lock Status",
|
||||||
|
),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"])
|
SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"])
|
||||||
|
|
29
info.md
29
info.md
|
@ -10,11 +10,12 @@ Support for home appliances of [Haier's mobile app hOn](https://hon-smarthome.co
|
||||||
- [Washer Dryer](https://github.com/Andre0512/hon#washer-dryer)
|
- [Washer Dryer](https://github.com/Andre0512/hon#washer-dryer)
|
||||||
- [Oven](https://github.com/Andre0512/hon#oven)
|
- [Oven](https://github.com/Andre0512/hon#oven)
|
||||||
- [Dish Washer](https://github.com/Andre0512/hon#dish-washer)
|
- [Dish Washer](https://github.com/Andre0512/hon#dish-washer)
|
||||||
- [Air conditioner](https://github.com/Andre0512/hon#air-conditioner)
|
- [Air Conditioner](https://github.com/Andre0512/hon#air-conditioner)
|
||||||
- [Fridge](https://github.com/Andre0512/hon#fridge)
|
- [Fridge](https://github.com/Andre0512/hon#fridge)
|
||||||
- [Hob](https://github.com/Andre0512/hon#hob) [BETA]
|
- [Induction Hob](https://github.com/Andre0512/hon#induction-hob) [BETA]
|
||||||
- [Hood](https://github.com/Andre0512/hon#hood) [BETA]
|
- [Hood](https://github.com/Andre0512/hon#hood) [BETA]
|
||||||
- [Wine Cellar](https://github.com/Andre0512/hon#wine-cellar) [BETA]
|
- [Wine Cellar](https://github.com/Andre0512/hon#wine-cellar) [BETA]
|
||||||
|
- [Air Purifier](https://github.com/Andre0512/hon#air-purifier) [BETA]
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
@ -26,18 +27,18 @@ _If the integration is not in the list, you need to clear the browser cache._
|
||||||
## Supported Models
|
## Supported Models
|
||||||
Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8).
|
Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8).
|
||||||
|
|
||||||
| | **Haier** | **Hoover** | **Candy** |
|
| | **Haier** | **Hoover** | **Candy** |
|
||||||
|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
|
|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
|
||||||
| **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1 | H-WASH 500 <br/> H7W4 48MBC-S | CO4 107T1/2-07 <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S |
|
| **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1 | H-WASH 500 <br/> H7W4 48MBC-S | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S |
|
||||||
| **Tumble Dryer** | HD80-A3959 | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S |
|
| **Tumble Dryer** | HD80-A3959 | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S |
|
||||||
| **Washer Dryer** | HWD100-B14979 | HWPS4954DAMR-11 | RPW41066BWMR/1-S |
|
| **Washer Dryer** | HWD100-B14979 | HWPS4954DAMR-11 | RPW41066BWMR/1-S |
|
||||||
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
| **Oven** | HWO60SM2F3XH | HSOT3161WG | |
|
||||||
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
|
| **Dish Washer** | XIB 3B2SFS-80 <br/> XIB 6B2D3FB | HFB 6B2S3FX | |
|
||||||
| **Air conditioner** | AD105S2SM3FA <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | |
|
| **Air Conditioner** | AD105S2SM3FA <br/> AS20HPL1HRA <br/> AS25PBAHRA <br/> AS25S2SF1FA-WH <br/> AS25TADHRA-2 <br/> AS35S2SF2FA-3 <br/> AS35TADHRA-2 <br/> AS35TAMHRA-C | | |
|
||||||
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
|
| **Fridge** | HFW7720ENMB | | CCE4T620EWU |
|
||||||
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
| **Hob** | HA2MTSJ68MC | | CIS633SCTTWIFI |
|
||||||
| **Hood** | HADG6DS46BWIFI | | |
|
| **Hood** | HADG6DS46BWIFI | | |
|
||||||
| **Wine Cellar** | HWS247FDU1 | | |
|
| **Wine Cellar** | HWS247FDU1 | | |
|
||||||
|
|
||||||
## Supported Languages
|
## Supported Languages
|
||||||
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
|
Translation of internal names like programs are available for all languages which are official supported by the hOn app:
|
||||||
|
|
|
@ -22,21 +22,21 @@ from custom_components.hon.switch import (
|
||||||
)
|
)
|
||||||
|
|
||||||
APPLIANCES = {
|
APPLIANCES = {
|
||||||
"AC": "Air conditioner",
|
"AC": "Air Conditioner",
|
||||||
"AP": "Air purifier",
|
"AP": "Air Purifier",
|
||||||
"AS": "Air scanner",
|
"AS": "Air Scanner",
|
||||||
"DW": "Dish washer",
|
"DW": "Dish Washer",
|
||||||
"HO": "Hood",
|
"HO": "Hood",
|
||||||
"IH": "Hob",
|
"IH": "Induction Hob",
|
||||||
"MW": "Microwave",
|
"MW": "Microwave",
|
||||||
"OV": "Oven",
|
"OV": "Oven",
|
||||||
"REF": "Fridge",
|
"REF": "Fridge",
|
||||||
"RVC": "Robot vacuum cleaner",
|
"RVC": "Robot Vacuum Cleaner",
|
||||||
"TD": "Tumble dryer",
|
"TD": "Tumble Dryer",
|
||||||
"WC": "Wine Cellar",
|
"WC": "Wine Cellar",
|
||||||
"WD": "Washer dryer",
|
"WD": "Washer Dryer",
|
||||||
"WH": "Water Heater",
|
"WH": "Water Heater",
|
||||||
"WM": "Washing machine",
|
"WM": "Washing Machine",
|
||||||
}
|
}
|
||||||
|
|
||||||
ENTITY_CATEGORY_SORT = ["control", "config", "sensor"]
|
ENTITY_CATEGORY_SORT = ["control", "config", "sensor"]
|
||||||
|
|
Loading…
Reference in a new issue