Add wine cellar
This commit is contained in:
parent
efcac321b8
commit
eb5ba43707
22
README.md
22
README.md
@ -16,6 +16,7 @@ Home Assistant integration for [Haier's mobile app hOn](https://hon-smarthome.co
|
|||||||
- [Fridge](https://github.com/Andre0512/hon#fridge)
|
- [Fridge](https://github.com/Andre0512/hon#fridge)
|
||||||
- [Hob](https://github.com/Andre0512/hon#hob) [BETA]
|
- [Hob](https://github.com/Andre0512/hon#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]
|
||||||
|
|
||||||
## 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)
|
||||||
@ -356,6 +357,27 @@ For every device exists a hidden button which can be used to log all infos of yo
|
|||||||
| Steam level | `smoke` | `sensor` | `steamLevel` |
|
| Steam level | `smoke` | `sensor` | `steamLevel` |
|
||||||
| Temperature level | `thermometer` | `sensor` | `tempLevel` |
|
| Temperature level | `thermometer` | `sensor` | `tempLevel` |
|
||||||
|
|
||||||
|
### Wine Cellar
|
||||||
|
#### Controls
|
||||||
|
| Name | Icon | Entity | Key |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| Light | `lightbulb` | `switch` | `lightStatus` |
|
||||||
|
| Sabbath Mode | `palm-tree` | `switch` | `sabbathStatus` |
|
||||||
|
| Wine Cellar | `thermometer` | `climate` | `settings.tempSel` |
|
||||||
|
| Wine Cellar | `thermometer` | `climate` | `settings.tempSelZ2` |
|
||||||
|
#### Sensors
|
||||||
|
| Name | Icon | Entity | Key |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| Error | `math-log` | `sensor` | `errors` |
|
||||||
|
| Humidity | `water-percent` | `sensor` | `humidityZ1` |
|
||||||
|
| Humidity 2 | `water-percent` | `sensor` | `humidityZ2` |
|
||||||
|
| Program | `play` | `sensor` | `programName` |
|
||||||
|
| Room Temperature | `home-thermometer-outline` | `sensor` | `tempEnv` |
|
||||||
|
| Selected Temperature | `thermometer` | `sensor` | `tempSel` |
|
||||||
|
| Selected Temperature 2 | `thermometer` | `sensor` | `tempSelZ2` |
|
||||||
|
| Temperature | `thermometer` | `sensor` | `temp` |
|
||||||
|
| Temperature 2 | `thermometer` | `sensor` | `tempZ2` |
|
||||||
|
|
||||||
### Washer dryer
|
### Washer dryer
|
||||||
#### Controls
|
#### Controls
|
||||||
| Name | Icon | Entity | Key |
|
| Name | Icon | Entity | Key |
|
||||||
|
@ -72,6 +72,22 @@ CLIMATES = {
|
|||||||
translation_key="oven",
|
translation_key="oven",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
"WC": (
|
||||||
|
HonClimateEntityDescription(
|
||||||
|
key="settings.tempSel",
|
||||||
|
mode=HVACMode.COOL,
|
||||||
|
name="Wine Cellar",
|
||||||
|
icon="mdi:thermometer",
|
||||||
|
translation_key="wine",
|
||||||
|
),
|
||||||
|
HonClimateEntityDescription(
|
||||||
|
key="settings.tempSelZ2",
|
||||||
|
mode=HVACMode.COOL,
|
||||||
|
name="Wine Cellar",
|
||||||
|
icon="mdi:thermometer",
|
||||||
|
translation_key="wine",
|
||||||
|
),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -226,7 +242,7 @@ class HonClimateEntity(HonEntity, ClimateEntity):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self._attr_hvac_modes = [description.mode]
|
self._attr_hvac_modes = [description.mode]
|
||||||
if device.get("onOffStatus"):
|
if "stopProgram" in device.commands:
|
||||||
self._attr_hvac_modes += [HVACMode.OFF]
|
self._attr_hvac_modes += [HVACMode.OFF]
|
||||||
modes = []
|
modes = []
|
||||||
else:
|
else:
|
||||||
@ -245,15 +261,15 @@ class HonClimateEntity(HonEntity, ClimateEntity):
|
|||||||
self._handle_coordinator_update(update=False)
|
self._handle_coordinator_update(update=False)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def target_temperature(self) -> int | None:
|
def target_temperature(self) -> float | None:
|
||||||
"""Return the temperature we try to reach."""
|
"""Return the temperature we try to reach."""
|
||||||
return int(self._device.get(self.entity_description.key))
|
return float(self._device.get(self.entity_description.key))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def current_temperature(self) -> int | None:
|
def current_temperature(self) -> float | None:
|
||||||
"""Return the current temperature."""
|
"""Return the current temperature."""
|
||||||
temp_key = self.entity_description.key.split(".")[-1].replace("Sel", "")
|
temp_key = self.entity_description.key.split(".")[-1].replace("Sel", "")
|
||||||
return int(self._device.get(temp_key))
|
return float(self._device.get(temp_key))
|
||||||
|
|
||||||
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:
|
||||||
|
@ -484,6 +484,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
|||||||
state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
device_class=SensorDeviceClass.TEMPERATURE,
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
translation_key="target_temperature",
|
||||||
),
|
),
|
||||||
HonSensorEntityDescription(
|
HonSensorEntityDescription(
|
||||||
key="programName",
|
key="programName",
|
||||||
@ -594,6 +595,79 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
|
|||||||
icon="mdi:lightbulb",
|
icon="mdi:lightbulb",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
"WC": (
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="errors", name="Error", icon="mdi:math-log", translation_key="errors"
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="humidityZ1",
|
||||||
|
name="Humidity",
|
||||||
|
icon="mdi:water-percent",
|
||||||
|
device_class=SensorDeviceClass.HUMIDITY,
|
||||||
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
translation_key="humidity",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="humidityZ2",
|
||||||
|
name="Humidity 2",
|
||||||
|
icon="mdi:water-percent",
|
||||||
|
device_class=SensorDeviceClass.HUMIDITY,
|
||||||
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
translation_key="humidity",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="temp",
|
||||||
|
name="Temperature",
|
||||||
|
icon="mdi:thermometer",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
translation_key="temperature",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="tempEnv",
|
||||||
|
name="Room Temperature",
|
||||||
|
icon="mdi:home-thermometer-outline",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
translation_key="room_temperature",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="tempSel",
|
||||||
|
name="Selected Temperature",
|
||||||
|
icon="mdi:thermometer",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
translation_key="target_temperature",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="tempSelZ2",
|
||||||
|
name="Selected Temperature 2",
|
||||||
|
icon="mdi:thermometer",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
translation_key="target_temperature",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="tempZ2",
|
||||||
|
name="Temperature 2",
|
||||||
|
icon="mdi:thermometer",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
translation_key="temperature",
|
||||||
|
),
|
||||||
|
HonSensorEntityDescription(
|
||||||
|
key="programName",
|
||||||
|
name="Program",
|
||||||
|
icon="mdi:play",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
translation_key="programs_wc",
|
||||||
|
),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"])
|
SENSORS["WD"] = unique_entities(SENSORS["WM"], SENSORS["TD"])
|
||||||
|
|
||||||
|
@ -322,6 +322,17 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
|
|||||||
translation_key="holiday_mode",
|
translation_key="holiday_mode",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
"WC": (
|
||||||
|
HonSwitchEntityDescription(
|
||||||
|
key="sabbathStatus",
|
||||||
|
name="Sabbath Mode",
|
||||||
|
icon="mdi:palm-tree",
|
||||||
|
translation_key="holiday_mode",
|
||||||
|
),
|
||||||
|
HonSwitchEntityDescription(
|
||||||
|
key="lightStatus", name="Light", icon="mdi:lightbulb"
|
||||||
|
),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"])
|
SWITCHES["WD"] = unique_entities(SWITCHES["WD"], SWITCHES["WM"])
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampaňské",
|
||||||
|
"iot_dessert": "Dezertní",
|
||||||
|
"iot_fortified": "Strukturované",
|
||||||
|
"iot_rose": "Růžové",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Červené",
|
||||||
|
"sparkling": "Šumivé",
|
||||||
|
"white": "Bílé"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Vinný sklípek",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampaňské",
|
||||||
|
"iot_dessert": "Dezertní",
|
||||||
|
"iot_fortified": "Strukturované",
|
||||||
|
"iot_rose": "Růžové",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Červené",
|
||||||
|
"sparkling": "Šumivé",
|
||||||
|
"white": "Bílé"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Programm"
|
"name": "Programm"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagner",
|
||||||
|
"iot_dessert": "Dessert",
|
||||||
|
"iot_fortified": "Strukturiert",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Rot",
|
||||||
|
"sparkling": "Sekt",
|
||||||
|
"white": "Weiß"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Weinklimaschrank",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagner",
|
||||||
|
"iot_dessert": "Dessert",
|
||||||
|
"iot_fortified": "Strukturiert",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Rot",
|
||||||
|
"sparkling": "Sekt",
|
||||||
|
"white": "Weiß"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Πρόγραμμα"
|
"name": "Πρόγραμμα"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Σαμπάνια",
|
||||||
|
"iot_dessert": "Επιδόρπιο",
|
||||||
|
"iot_fortified": "Δομημένο",
|
||||||
|
"iot_rose": "Ροζέ",
|
||||||
|
"iot_whisky": "Ουίσκι",
|
||||||
|
"red": "Κόκκινο",
|
||||||
|
"sparkling": "Αφρώδες",
|
||||||
|
"white": "Λευκό"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Κάβα",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Σαμπάνια",
|
||||||
|
"iot_dessert": "Επιδόρπιο",
|
||||||
|
"iot_fortified": "Δομημένο",
|
||||||
|
"iot_rose": "Ροζέ",
|
||||||
|
"iot_whisky": "Ουίσκι",
|
||||||
|
"red": "Κόκκινο",
|
||||||
|
"sparkling": "Αφρώδες",
|
||||||
|
"white": "Λευκό"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -944,6 +944,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagne",
|
||||||
|
"iot_dessert": "Dessert",
|
||||||
|
"iot_fortified": "Fortified",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Red",
|
||||||
|
"sparkling": "Sparkling",
|
||||||
|
"white": "White"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
@ -2055,6 +2067,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Wine Cellar",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagne",
|
||||||
|
"iot_dessert": "Dessert",
|
||||||
|
"iot_fortified": "Fortified",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Red",
|
||||||
|
"sparkling": "Sparkling",
|
||||||
|
"white": "White"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Programa"
|
"name": "Programa"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champán",
|
||||||
|
"iot_dessert": "Postre",
|
||||||
|
"iot_fortified": "Estructurado",
|
||||||
|
"iot_rose": "Rosado",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Tinto",
|
||||||
|
"sparkling": "Espumoso",
|
||||||
|
"white": "Blanco"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Cámara de vino",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champán",
|
||||||
|
"iot_dessert": "Postre",
|
||||||
|
"iot_fortified": "Estructurado",
|
||||||
|
"iot_rose": "Rosado",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Tinto",
|
||||||
|
"sparkling": "Espumoso",
|
||||||
|
"white": "Blanco"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Programme"
|
"name": "Programme"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagne",
|
||||||
|
"iot_dessert": "Dessert",
|
||||||
|
"iot_fortified": "Corsé",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Rouge",
|
||||||
|
"sparkling": "Pétillant",
|
||||||
|
"white": "Blanc"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Cave à vin",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagne",
|
||||||
|
"iot_dessert": "Dessert",
|
||||||
|
"iot_fortified": "Corsé",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Rouge",
|
||||||
|
"sparkling": "Pétillant",
|
||||||
|
"white": "Blanc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -444,6 +444,9 @@
|
|||||||
"tea": "Cold drinks or Beverages"
|
"tea": "Cold drinks or Beverages"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1064,6 +1067,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Wine Cellar",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampanjac",
|
||||||
|
"iot_dessert": "Desertno",
|
||||||
|
"iot_fortified": "Strukturirano",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Viski",
|
||||||
|
"red": "Crno",
|
||||||
|
"sparkling": "Pjenušavo vino",
|
||||||
|
"white": "Bijelo vino"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Vinski hladnjak",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampanjac",
|
||||||
|
"iot_dessert": "Desertno",
|
||||||
|
"iot_fortified": "Strukturirano",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Viski",
|
||||||
|
"red": "Crno",
|
||||||
|
"sparkling": "Pjenušavo vino",
|
||||||
|
"white": "Bijelo vino"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -929,6 +929,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Programma"
|
"name": "Programma"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagne",
|
||||||
|
"iot_dessert": "Dolce",
|
||||||
|
"iot_fortified": "Strutturato",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Rosso",
|
||||||
|
"sparkling": "Bollicine",
|
||||||
|
"white": "Bianco"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -2030,6 +2042,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Cantinetta",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagne",
|
||||||
|
"iot_dessert": "Dolce",
|
||||||
|
"iot_fortified": "Strutturato",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Rosso",
|
||||||
|
"sparkling": "Bollicine",
|
||||||
|
"white": "Bianco"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Programma"
|
"name": "Programma"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagne",
|
||||||
|
"iot_dessert": "Dessert",
|
||||||
|
"iot_fortified": "Gestructureerd",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Rood",
|
||||||
|
"sparkling": "Mousserend",
|
||||||
|
"white": "Wit"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Wijnkelder",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champagne",
|
||||||
|
"iot_dessert": "Dessert",
|
||||||
|
"iot_fortified": "Gestructureerd",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Rood",
|
||||||
|
"sparkling": "Mousserend",
|
||||||
|
"white": "Wit"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Szampan",
|
||||||
|
"iot_dessert": "Deser",
|
||||||
|
"iot_fortified": "Struktura",
|
||||||
|
"iot_rose": "Różowe",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Czerwony",
|
||||||
|
"sparkling": "Musujące",
|
||||||
|
"white": "Białe"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Piwniczka z winami",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Szampan",
|
||||||
|
"iot_dessert": "Deser",
|
||||||
|
"iot_fortified": "Struktura",
|
||||||
|
"iot_rose": "Różowe",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Czerwony",
|
||||||
|
"sparkling": "Musujące",
|
||||||
|
"white": "Białe"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Programa"
|
"name": "Programa"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champanhe",
|
||||||
|
"iot_dessert": "Digestivo",
|
||||||
|
"iot_fortified": "Encorpado",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Vermelho",
|
||||||
|
"sparkling": "Espumante",
|
||||||
|
"white": "Branco"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Garrafeira",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Champanhe",
|
||||||
|
"iot_dessert": "Digestivo",
|
||||||
|
"iot_fortified": "Encorpado",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Vermelho",
|
||||||
|
"sparkling": "Espumante",
|
||||||
|
"white": "Branco"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Șampanie",
|
||||||
|
"iot_dessert": "Desert",
|
||||||
|
"iot_fortified": "Structurat",
|
||||||
|
"iot_rose": "Roze",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Roșu",
|
||||||
|
"sparkling": "Spumant",
|
||||||
|
"white": "Alb"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Cramă",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Șampanie",
|
||||||
|
"iot_dessert": "Desert",
|
||||||
|
"iot_fortified": "Structurat",
|
||||||
|
"iot_rose": "Roze",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Roșu",
|
||||||
|
"sparkling": "Spumant",
|
||||||
|
"white": "Alb"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Программа"
|
"name": "Программа"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Шампанское",
|
||||||
|
"iot_dessert": "Десертное",
|
||||||
|
"iot_fortified": "Структурированное",
|
||||||
|
"iot_rose": "Розовое",
|
||||||
|
"iot_whisky": "Виски",
|
||||||
|
"red": "Красное",
|
||||||
|
"sparkling": "Игристое",
|
||||||
|
"white": "Белое"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Винный шкаф",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Шампанское",
|
||||||
|
"iot_dessert": "Десертное",
|
||||||
|
"iot_fortified": "Структурированное",
|
||||||
|
"iot_rose": "Розовое",
|
||||||
|
"iot_whisky": "Виски",
|
||||||
|
"red": "Красное",
|
||||||
|
"sparkling": "Игристое",
|
||||||
|
"white": "Белое"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampanské",
|
||||||
|
"iot_dessert": "Dezertné",
|
||||||
|
"iot_fortified": "Štruktúrované",
|
||||||
|
"iot_rose": "Ružové",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Červené",
|
||||||
|
"sparkling": "Šumivé",
|
||||||
|
"white": "Biele"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Vinotéka",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampanské",
|
||||||
|
"iot_dessert": "Dezertné",
|
||||||
|
"iot_fortified": "Štruktúrované",
|
||||||
|
"iot_rose": "Ružové",
|
||||||
|
"iot_whisky": "Whisky",
|
||||||
|
"red": "Červené",
|
||||||
|
"sparkling": "Šumivé",
|
||||||
|
"white": "Biele"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampanjec",
|
||||||
|
"iot_dessert": "Sladica",
|
||||||
|
"iot_fortified": "Strukturirano",
|
||||||
|
"iot_rose": "Rose",
|
||||||
|
"iot_whisky": "Viski",
|
||||||
|
"red": "Rdeče",
|
||||||
|
"sparkling": "Peneče vino",
|
||||||
|
"white": "Belo"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Vinska klet",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampanjec",
|
||||||
|
"iot_dessert": "Sladica",
|
||||||
|
"iot_fortified": "Strukturirano",
|
||||||
|
"iot_rose": "Rose",
|
||||||
|
"iot_whisky": "Viski",
|
||||||
|
"red": "Rdeče",
|
||||||
|
"sparkling": "Peneče vino",
|
||||||
|
"white": "Belo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampanjac",
|
||||||
|
"iot_dessert": "Desert",
|
||||||
|
"iot_fortified": "Strukturisano",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Viski",
|
||||||
|
"red": "Crvena",
|
||||||
|
"sparkling": "Penušavo",
|
||||||
|
"white": "Belo"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Vinska vitrina",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Šampanjac",
|
||||||
|
"iot_dessert": "Desert",
|
||||||
|
"iot_fortified": "Strukturisano",
|
||||||
|
"iot_rose": "Rosé",
|
||||||
|
"iot_whisky": "Viski",
|
||||||
|
"red": "Crvena",
|
||||||
|
"sparkling": "Penušavo",
|
||||||
|
"white": "Belo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "Program"
|
"name": "Program"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Şampanya",
|
||||||
|
"iot_dessert": "Tatlı",
|
||||||
|
"iot_fortified": "Gövdeli",
|
||||||
|
"iot_rose": "Roze",
|
||||||
|
"iot_whisky": "Viski",
|
||||||
|
"red": "Kırmızı",
|
||||||
|
"sparkling": "Köpüklü",
|
||||||
|
"white": "Beyaz"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "Şarap Mahzeni",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "Şampanya",
|
||||||
|
"iot_dessert": "Tatlı",
|
||||||
|
"iot_fortified": "Gövdeli",
|
||||||
|
"iot_rose": "Roze",
|
||||||
|
"iot_whisky": "Viski",
|
||||||
|
"red": "Kırmızı",
|
||||||
|
"sparkling": "Köpüklü",
|
||||||
|
"white": "Beyaz"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
@ -877,6 +877,18 @@
|
|||||||
"zero_fresh": "0° Fresh"
|
"zero_fresh": "0° Fresh"
|
||||||
},
|
},
|
||||||
"name": "程序"
|
"name": "程序"
|
||||||
|
},
|
||||||
|
"programs_wc": {
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "香槟",
|
||||||
|
"iot_dessert": "甜点",
|
||||||
|
"iot_fortified": "结构化",
|
||||||
|
"iot_rose": "桃红",
|
||||||
|
"iot_whisky": "威士忌",
|
||||||
|
"red": "红",
|
||||||
|
"sparkling": "起泡酒",
|
||||||
|
"white": "白葡萄酒"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
@ -1978,6 +1990,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wine": {
|
||||||
|
"state_attributes": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "酒窖",
|
||||||
|
"state": {
|
||||||
|
"iot_champagne": "香槟",
|
||||||
|
"iot_dessert": "甜点",
|
||||||
|
"iot_fortified": "结构化",
|
||||||
|
"iot_rose": "桃红",
|
||||||
|
"iot_whisky": "威士忌",
|
||||||
|
"red": "红",
|
||||||
|
"sparkling": "起泡酒",
|
||||||
|
"white": "白葡萄酒"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fan": {
|
"fan": {
|
||||||
|
1
info.md
1
info.md
@ -14,6 +14,7 @@ Support for home appliances of Haier's mobile app hOn.
|
|||||||
- [Fridge](https://github.com/Andre0512/hon#fridge)
|
- [Fridge](https://github.com/Andre0512/hon#fridge)
|
||||||
- [Hob](https://github.com/Andre0512/hon#hob) [BETA]
|
- [Hob](https://github.com/Andre0512/hon#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]
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
@ -47,6 +47,7 @@ PROGRAMS = {
|
|||||||
"programs_td": "PROGRAMS.TD",
|
"programs_td": "PROGRAMS.TD",
|
||||||
"programs_wm": "PROGRAMS.WM_WD",
|
"programs_wm": "PROGRAMS.WM_WD",
|
||||||
"programs_ref": "PROGRAMS.REF",
|
"programs_ref": "PROGRAMS.REF",
|
||||||
|
"programs_wc": "PROGRAMS.WC",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,6 +79,12 @@ CLIMATE = {
|
|||||||
"state": "PROGRAMS.OV",
|
"state": "PROGRAMS.OV",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"wine": {
|
||||||
|
"preset_mode": {
|
||||||
|
"name": "WC.NAME",
|
||||||
|
"state": "PROGRAMS.WC",
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
NAMES = {
|
NAMES = {
|
||||||
|
Loading…
Reference in New Issue
Block a user