Compare commits

..

3 Commits

Author SHA1 Message Date
a9e21608d8 Fix for setting some climate modes #84 2023-07-11 00:17:55 +02:00
fb8fba259a Add hygiene switch #91 2023-07-10 01:00:57 +02:00
9dc98953a2 Add dirt level select entity 2023-07-10 00:48:57 +02:00
26 changed files with 273 additions and 15 deletions

View File

@ -424,6 +424,7 @@ For every device exists a button under diagnostics which can be used to log all
| Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` | | Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` |
| Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` | | Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` | | Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
| Dirty level | `liquid-spot` | `select` | `startProgram.dirtyLevel` |
| Dry Time | | `number` | `startProgram.dryTime` | | Dry Time | | `number` | `startProgram.dryTime` |
| Dry Time | `timer` | `select` | `startProgram.dryTimeMM` | | Dry Time | `timer` | `select` | `startProgram.dryTimeMM` |
| Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` | | Dry level | `hair-dryer` | `select` | `startProgram.dryLevel` |
@ -432,6 +433,7 @@ For every device exists a button under diagnostics which can be used to log all
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` | | Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` | | Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` | | Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
| Hygiene | `lotion-plus` | `switch` | `startProgram.hygiene` |
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` | | Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` | | Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` | | Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
@ -459,7 +461,7 @@ For every device exists a button under diagnostics which can be used to log all
| Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` | | Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
| Current Temperature | `thermometer` | `sensor` | `temp` | | Current Temperature | `thermometer` | `sensor` | `temp` |
| Current Water Used | `water` | `sensor` | `currentWaterUsed` | | Current Water Used | `water` | `sensor` | `currentWaterUsed` |
| Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` | | Dirty level | `liquid-spot` | `sensor` | `dirtyLevel` |
| Door | | `binary_sensor` | `doorStatus` | | Door | | `binary_sensor` | `doorStatus` |
| Door Lock | | `binary_sensor` | `doorLockStatus` | | Door Lock | | `binary_sensor` | `doorLockStatus` |
| Dry level | `hair-dryer` | `sensor` | `dryLevel` | | Dry level | `hair-dryer` | `sensor` | `dryLevel` |
@ -496,11 +498,13 @@ For every device exists a button under diagnostics which can be used to log all
| Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` | | Auto Dose Softener | `teddy-bear` | `switch` | `startProgram.autoSoftenerStatus` |
| Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` | | Delay Status | `timer-check` | `switch` | `startProgram.delayStatus` |
| Delay Time | `timer-plus` | `number` | `startProgram.delayTime` | | Delay Time | `timer-plus` | `number` | `startProgram.delayTime` |
| Dirty level | `liquid-spot` | `select` | `startProgram.dirtyLevel` |
| Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` | | Energy Label | `lightning-bolt-circle` | `sensor` | `startProgram.energyLabel` |
| Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` | | Extra Rinse 1 | `numeric-1-box-multiple-outline` | `switch` | `startProgram.extraRinse1` |
| Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` | | Extra Rinse 2 | `numeric-2-box-multiple-outline` | `switch` | `startProgram.extraRinse2` |
| Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` | | Extra Rinse 3 | `numeric-3-box-multiple-outline` | `switch` | `startProgram.extraRinse3` |
| Good Night | `weather-night` | `switch` | `startProgram.goodNight` | | Good Night | `weather-night` | `switch` | `startProgram.goodNight` |
| Hygiene | `lotion-plus` | `switch` | `startProgram.hygiene` |
| Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` | | Keep Fresh | `refresh-circle` | `switch` | `startProgram.permanentPressStatus` |
| Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` | | Liquid Detergent Dose | `cup-water` | `sensor` | `startProgram.liquidDetergentDose` |
| Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` | | Main Wash Time | `clock-start` | `number` | `startProgram.mainWashTime` |
@ -523,7 +527,7 @@ For every device exists a button under diagnostics which can be used to log all
| Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` | | Current Electricity Used | `lightning-bolt` | `sensor` | `currentElectricityUsed` |
| Current Temperature | `thermometer` | `sensor` | `temp` | | Current Temperature | `thermometer` | `sensor` | `temp` |
| Current Water Used | `water` | `sensor` | `currentWaterUsed` | | Current Water Used | `water` | `sensor` | `currentWaterUsed` |
| Dirt level | `liquid-spot` | `sensor` | `dirtyLevel` | | Dirty level | `liquid-spot` | `sensor` | `dirtyLevel` |
| Door | | `binary_sensor` | `doorStatus` | | Door | | `binary_sensor` | `doorStatus` |
| Door Lock | | `binary_sensor` | `doorLockStatus` | | Door Lock | | `binary_sensor` | `doorLockStatus` |
| Error | `math-log` | `sensor` | `errors` | | Error | `math-log` | `sensor` | `errors` |

View File

@ -6,7 +6,6 @@ from homeassistant.components.climate import (
ClimateEntityDescription, ClimateEntityDescription,
) )
from homeassistant.components.climate.const import ( from homeassistant.components.climate.const import (
FAN_OFF,
SWING_OFF, SWING_OFF,
SWING_BOTH, SWING_BOTH,
SWING_VERTICAL, SWING_VERTICAL,
@ -22,7 +21,7 @@ from homeassistant.const import (
from homeassistant.core import callback from homeassistant.core import callback
from pyhon.appliance import HonAppliance from pyhon.appliance import HonAppliance
from .const import HON_HVAC_MODE, HON_FAN, DOMAIN from .const import HON_HVAC_MODE, HON_FAN, DOMAIN, HON_HVAC_PROGRAM
from .hon import HonEntity from .hon import HonEntity
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -123,9 +122,6 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
self._attr_preset_modes = [] self._attr_preset_modes = []
for mode in device.settings["startProgram.program"].values: for mode in device.settings["startProgram.program"].values:
self._attr_preset_modes.append(mode) self._attr_preset_modes.append(mode)
self._attr_fan_modes = [FAN_OFF]
for mode in device.settings["settings.windSpeed"].values:
self._attr_fan_modes.append(HON_FAN[int(mode)])
self._attr_swing_modes = [ self._attr_swing_modes = [
SWING_OFF, SWING_OFF,
SWING_VERTICAL, SWING_VERTICAL,
@ -181,7 +177,11 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
self._device.settings["settings.onOffStatus"].value = "1" self._device.settings["settings.onOffStatus"].value = "1"
setting = self._device.settings["settings.machMode"] setting = self._device.settings["settings.machMode"]
modes = {HON_HVAC_MODE[int(number)]: number for number in setting.values} modes = {HON_HVAC_MODE[int(number)]: number for number in setting.values}
setting.value = modes[hvac_mode] if hvac_mode in modes:
setting.value = modes[hvac_mode]
else:
await self.async_set_preset_mode(HON_HVAC_PROGRAM[hvac_mode])
return
await self._device.commands["settings"].send() await self._device.commands["settings"].send()
self.async_write_ha_state() self.async_write_ha_state()
@ -192,7 +192,7 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
async def async_set_preset_mode(self, preset_mode: str) -> None: async def async_set_preset_mode(self, preset_mode: str) -> None:
"""Set the new preset mode.""" """Set the new preset mode."""
if program := self._device.settings.get(f"startProgram.program"): if program := self._device.settings.get("startProgram.program"):
program.value = preset_mode program.value = preset_mode
self._device.sync_command("startProgram", "settings") self._device.sync_command("startProgram", "settings")
self._set_temperature_bound() self._set_temperature_bound()
@ -202,15 +202,24 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
await self._device.commands["startProgram"].send() await self._device.commands["startProgram"].send()
self.async_write_ha_state() self.async_write_ha_state()
@property
def fan_modes(self) -> list[str]:
"""Return the list of available fan modes."""
fan_modes = []
for mode in reversed(self._device.settings["settings.windSpeed"].values):
fan_modes.append(HON_FAN[int(mode)])
return fan_modes
@property @property
def fan_mode(self) -> str | None: def fan_mode(self) -> str | None:
"""Return the fan setting.""" """Return the fan setting."""
return HON_FAN[self._device.get("windSpeed")] return HON_FAN[self._device.get("windSpeed")]
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) fan_modes = {}
mode = list(HON_FAN.keys())[mode_number] for mode in reversed(self._device.settings["settings.windSpeed"].values):
self._device.settings["settings.windSpeed"].value = str(mode) fan_modes[HON_FAN[int(mode)]] = mode
self._device.settings["settings.windSpeed"].value = str(fan_modes[fan_mode])
self._attr_fan_mode = fan_mode self._attr_fan_mode = fan_mode
await self._device.commands["settings"].send() await self._device.commands["settings"].send()
self.async_write_ha_state() self.async_write_ha_state()
@ -249,6 +258,7 @@ class HonACClimateEntity(HonEntity, ClimateEntity):
self._attr_target_temperature = self.target_temperature self._attr_target_temperature = self.target_temperature
self._attr_current_temperature = self.current_temperature self._attr_current_temperature = self.current_temperature
self._attr_hvac_mode = self.hvac_mode self._attr_hvac_mode = self.hvac_mode
self._attr_fan_modes = self.fan_modes
self._attr_fan_mode = self.fan_mode self._attr_fan_mode = self.fan_mode
self._attr_swing_mode = self.swing_mode self._attr_swing_mode = self.swing_mode
if update: if update:

View File

@ -9,7 +9,7 @@
"iot_class": "cloud_polling", "iot_class": "cloud_polling",
"issue_tracker": "https://github.com/Andre0512/hon/issues", "issue_tracker": "https://github.com/Andre0512/hon/issues",
"requirements": [ "requirements": [
"pyhOn==0.14.8" "pyhOn==0.14.9"
], ],
"version": "0.9.0-beta.9" "version": "0.9.0-beta.10"
} }

View File

@ -56,6 +56,13 @@ SELECTS = {
translation_key="steam_level", translation_key="steam_level",
option_list=const.STEAM_LEVEL, option_list=const.STEAM_LEVEL,
), ),
HonConfigSelectEntityDescription(
key="startProgram.dirtyLevel",
name="Dirty level",
icon="mdi:liquid-spot",
translation_key="dirt_level",
option_list=const.DIRTY_LEVEL,
),
), ),
"TD": ( "TD": (
HonConfigSelectEntityDescription( HonConfigSelectEntityDescription(

View File

@ -157,7 +157,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
), ),
HonSensorEntityDescription( HonSensorEntityDescription(
key="dirtyLevel", key="dirtyLevel",
name="Dirt level", name="Dirty level",
icon="mdi:liquid-spot", icon="mdi:liquid-spot",
device_class=SensorDeviceClass.ENUM, device_class=SensorDeviceClass.ENUM,
translation_key="dirt_level", translation_key="dirt_level",

View File

@ -116,6 +116,12 @@ SWITCHES: dict[str, tuple[HonSwitchEntityDescription, ...]] = {
icon="mdi:weather-night", icon="mdi:weather-night",
translation_key="good_night", translation_key="good_night",
), ),
HonConfigSwitchEntityDescription(
key="startProgram.hygiene",
name="Hygiene",
icon="mdi:lotion-plus",
translation_key="hygiene",
),
), ),
"TD": ( "TD": (
HonControlSwitchEntityDescription( HonControlSwitchEntityDescription(

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "Úroveň páry" "name": "Úroveň páry"
},
"dirt_level": {
"state": {
"little": "Málo",
"normal": "Normální",
"very": "Velmi",
"unknown": "unknown"
},
"name": "Míra znečištění"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Hlasitost tónu klepnutí" "name": "Hlasitost tónu klepnutí"
},
"hygiene": {
"name": "Hygienický plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetik" "synthetic": "Synthetik"
}, },
"name": "Dampfstufe" "name": "Dampfstufe"
},
"dirt_level": {
"state": {
"little": "Wenig",
"normal": "Normal",
"very": "Sehr",
"unknown": "unknown"
},
"name": "Verschmutzungsgrad"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Tastentonlautstärke" "name": "Tastentonlautstärke"
},
"hygiene": {
"name": "Hygiene plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Συνθετικά" "synthetic": "Συνθετικά"
}, },
"name": "Επίπεδο ατμού" "name": "Επίπεδο ατμού"
},
"dirt_level": {
"state": {
"little": "Λίγη",
"normal": "Κανονική",
"very": "Πολύ",
"unknown": "unknown"
},
"name": "Επίπεδο βρωμιάς"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Ένταση τόνου αφής" "name": "Ένταση τόνου αφής"
},
"hygiene": {
"name": "Hygiene plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1677,6 +1677,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "Steam Level" "name": "Steam Level"
},
"dirt_level": {
"state": {
"little": "Little",
"normal": "Normal",
"very": "Very",
"unknown": "unknown"
},
"name": "Dirt level"
} }
}, },
"switch": { "switch": {
@ -1790,6 +1799,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Touch tone volume" "name": "Touch tone volume"
},
"hygiene": {
"name": "Hygiene plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "Nivel de vapor" "name": "Nivel de vapor"
},
"dirt_level": {
"state": {
"little": "Poco",
"normal": "Normal",
"very": "Mucho",
"unknown": "unknown"
},
"name": "Nivel de suciedad"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Volumen del tono táctil" "name": "Volumen del tono táctil"
},
"hygiene": {
"name": "Higiene extra"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "Niveau de vapeur" "name": "Niveau de vapeur"
},
"dirt_level": {
"state": {
"little": "Faible",
"normal": "Normal",
"very": "Élevé",
"unknown": "unknown"
},
"name": "Niveau de saleté"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Volume des tonalités" "name": "Volume des tonalités"
},
"hygiene": {
"name": "Hygiène plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -771,6 +771,15 @@
"synthetic": "מְלָאכוּתִי" "synthetic": "מְלָאכוּתִי"
}, },
"name": "מפלס קיטור" "name": "מפלס קיטור"
},
"dirt_level": {
"state": {
"little": "קטן",
"normal": "נוֹרמָלִי",
"very": "מאוד",
"unknown": "unknown"
},
"name": "רמת עפר"
} }
}, },
"switch": { "switch": {
@ -884,6 +893,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Touch tone volume" "name": "Touch tone volume"
},
"hygiene": {
"name": "היגיינה פלוס"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Sintetika" "synthetic": "Sintetika"
}, },
"name": "Razina pare" "name": "Razina pare"
},
"dirt_level": {
"state": {
"little": "Neznatno",
"normal": "Uobičajeno",
"very": "Izuzetno",
"unknown": "unknown"
},
"name": "Stupanj zaprljanosti"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Glasnoća tona pri dodiru" "name": "Glasnoća tona pri dodiru"
},
"hygiene": {
"name": "Hygiene Plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1655,6 +1655,15 @@
"synthetic": "Sintetici" "synthetic": "Sintetici"
}, },
"name": "Livello vapore" "name": "Livello vapore"
},
"dirt_level": {
"state": {
"little": "Poco",
"normal": "Normale",
"very": "Molto",
"unknown": "unknown"
},
"name": "Livello di sporco"
} }
}, },
"switch": { "switch": {
@ -1768,6 +1777,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Volume Tasti" "name": "Volume Tasti"
},
"hygiene": {
"name": "Hygiene plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "Stoomniveau" "name": "Stoomniveau"
},
"dirt_level": {
"state": {
"little": "Weinig",
"normal": "Normaal",
"very": "Heel",
"unknown": "unknown"
},
"name": "Vuilheid"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Volume van geluid bij aanraking" "name": "Volume van geluid bij aanraking"
},
"hygiene": {
"name": "Hygiëne plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Syntetyczne" "synthetic": "Syntetyczne"
}, },
"name": "Poziom pary" "name": "Poziom pary"
},
"dirt_level": {
"state": {
"little": "Niskie",
"normal": "Standardowe",
"very": "Wysokie",
"unknown": "unknown"
},
"name": "Stopień zabrudzenia"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Dźwięk przycisku dotykowego" "name": "Dźwięk przycisku dotykowego"
},
"hygiene": {
"name": "Higiena plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Sintéticos" "synthetic": "Sintéticos"
}, },
"name": "Nível de vapor" "name": "Nível de vapor"
},
"dirt_level": {
"state": {
"little": "Pouco",
"normal": "Normal",
"very": "Muito",
"unknown": "unknown"
},
"name": "Nível de sujidade"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Volume do tom de toque" "name": "Volume do tom de toque"
},
"hygiene": {
"name": "Higiene mais"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "Nivel abur" "name": "Nivel abur"
},
"dirt_level": {
"state": {
"little": "Puțin",
"normal": "Normal",
"very": "Foarte",
"unknown": "unknown"
},
"name": "Nivel de murdărie"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Volum la atingerea tastelor" "name": "Volum la atingerea tastelor"
},
"hygiene": {
"name": "Igienizare plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Синтетика" "synthetic": "Синтетика"
}, },
"name": "Уровень пара" "name": "Уровень пара"
},
"dirt_level": {
"state": {
"little": "Мало",
"normal": "Нормально",
"very": "Очень",
"unknown": "unknown"
},
"name": "Уровень загрязнения"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Громкость сенсорных кнопок" "name": "Громкость сенсорных кнопок"
},
"hygiene": {
"name": "Гигиена плюс"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "Úroveň nastavenia pary" "name": "Úroveň nastavenia pary"
},
"dirt_level": {
"state": {
"little": "Málo",
"normal": "Normálne",
"very": "Veľa",
"unknown": "unknown"
},
"name": "Úroveň znečistenia"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Hlasitosť tónu dotyku" "name": "Hlasitosť tónu dotyku"
},
"hygiene": {
"name": "Hygiena plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Sintetika" "synthetic": "Sintetika"
}, },
"name": "Količina pare" "name": "Količina pare"
},
"dirt_level": {
"state": {
"little": "Malo",
"normal": "Normalno",
"very": "Zelo",
"unknown": "unknown"
},
"name": "Stopnja umazanije"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Glasnost tona dotika" "name": "Glasnost tona dotika"
},
"hygiene": {
"name": "Higiena plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Sintetika" "synthetic": "Sintetika"
}, },
"name": "Nivo pare" "name": "Nivo pare"
},
"dirt_level": {
"state": {
"little": "Malo",
"normal": "Normalno",
"very": "Veoma",
"unknown": "unknown"
},
"name": "Nivo zaprljanosti"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Jačina tona dodira" "name": "Jačina tona dodira"
},
"hygiene": {
"name": "Higijenski plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "Buhar Seviyesi" "name": "Buhar Seviyesi"
},
"dirt_level": {
"state": {
"little": "Az",
"normal": "Normal",
"very": "Çok",
"unknown": "unknown"
},
"name": "Kir seviyesi"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "Dokunma tonu seviyesi" "name": "Dokunma tonu seviyesi"
},
"hygiene": {
"name": "Hygiene plus"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -1650,6 +1650,15 @@
"synthetic": "Synthetic" "synthetic": "Synthetic"
}, },
"name": "蒸汽档位" "name": "蒸汽档位"
},
"dirt_level": {
"state": {
"little": "少量",
"normal": "正常",
"very": "非常",
"unknown": "unknown"
},
"name": "脏污程度"
} }
}, },
"switch": { "switch": {
@ -1763,6 +1772,9 @@
}, },
"touch_tone": { "touch_tone": {
"name": "按键音量" "name": "按键音量"
},
"hygiene": {
"name": "卫生增强"
} }
}, },
"binary_sensor": { "binary_sensor": {

View File

@ -129,6 +129,7 @@ SELECT = {
"steam_level": STEAM_LEVEL, "steam_level": STEAM_LEVEL,
"mode": AP_MACH_MODE, "mode": AP_MACH_MODE,
"diffuser": AP_DIFFUSER_LEVEL, "diffuser": AP_DIFFUSER_LEVEL,
"dirt_level": DIRTY_LEVEL,
} }
PROGRAMS = { PROGRAMS = {
@ -239,6 +240,7 @@ NAMES = {
"super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE", "super_freeze": "REF_CMD&CTRL.MODALITIES.SUPER_FREEZE",
"refrigerator": "REF.NAME", "refrigerator": "REF.NAME",
"touch_tone": "AP.FOOTER_MENU_MORE.TOUCH_TONE_VOLUME", "touch_tone": "AP.FOOTER_MENU_MORE.TOUCH_TONE_VOLUME",
"hygiene": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_OTHER_OPTIONS.HYGIENE",
}, },
"binary_sensor": { "binary_sensor": {
"door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK", "door_lock": "WASHING_CMD&CTRL.CHECK_UP_RESULTS.DOOR_LOCK",
@ -291,6 +293,7 @@ NAMES = {
"diffuser": "AP.TITLES.DIFFUSER", "diffuser": "AP.TITLES.DIFFUSER",
"mode": "CUBE90_GLOBAL.GENERAL.MODE", "mode": "CUBE90_GLOBAL.GENERAL.MODE",
"steam_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.STEAM_LEVEL", "steam_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.STEAM_LEVEL",
"dirt_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.DIRTY_LEVEL",
}, },
"sensor": { "sensor": {
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL", "dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",