Files
HomeAssistantVS/custom_components/midea_ac_lan/midea_devices.py
T

3647 lines
144 KiB
Python

"""Devices configuration for Midea Lan."""
from typing import Any
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
from homeassistant.components.sensor import SensorDeviceClass, SensorStateClass
from homeassistant.const import (
MAJOR_VERSION,
MINOR_VERSION,
PERCENTAGE,
REVOLUTIONS_PER_MINUTE,
Platform,
UnitOfElectricCurrent,
UnitOfElectricPotential,
UnitOfEnergy,
UnitOfFrequency,
UnitOfPower,
UnitOfTemperature,
UnitOfTime,
UnitOfVolume,
)
# HA 2026.7 added UnitOfDensity/UnitOfRatio, and HA 2026.8 started deprecating
# CONCENTRATION_MICROGRAMS_PER_CUBIC_METER / CONCENTRATION_PARTS_PER_MILLION in favor of
# them (scheduled for removal in HA 2027.8). Both old and new names resolve to the
# identical runtime string ("μg/m³" / "ppm"), so this is purely cosmetic. This
# integration's floor is HA 2024.4.1, where UnitOfDensity/UnitOfRatio do not exist yet,
# so branch on the HA version like the rest of this codebase does for newer HA APIs (see
# other MAJOR_VERSION/MINOR_VERSION usages, e.g. midea_entity.py).
if (MAJOR_VERSION, MINOR_VERSION) >= (2026, 7):
from homeassistant.const import ( # pylint: disable=E0611
UnitOfDensity,
UnitOfRatio,
)
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER = UnitOfDensity.MICROGRAMS_PER_CUBIC_METER
CONCENTRATION_PARTS_PER_MILLION = UnitOfRatio.PARTS_PER_MILLION
else:
from homeassistant.const import ( # type: ignore[no-redef]
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
CONCENTRATION_PARTS_PER_MILLION,
)
from midealan.devices.a1 import DeviceAttributes as A1Attributes
from midealan.devices.ac import DeviceAttributes as ACAttributes
from midealan.devices.ad import DeviceAttributes as ADAttributes
from midealan.devices.b0 import DeviceAttributes as B0Attributes
from midealan.devices.b1 import DeviceAttributes as B1Attributes
from midealan.devices.b3 import DeviceAttributes as B3Attributes
from midealan.devices.b4 import DeviceAttributes as B4Attributes
from midealan.devices.b6 import DeviceAttributes as B6Attributes
from midealan.devices.bf import DeviceAttributes as BFAttributes
from midealan.devices.c2 import DeviceAttributes as C2Attributes
from midealan.devices.c3 import DeviceAttributes as C3Attributes
from midealan.devices.ca import DeviceAttributes as CAAttributes
from midealan.devices.cc import DeviceAttributes as CCAttributes
from midealan.devices.cd import DeviceAttributes as CDAttributes
from midealan.devices.ce import DeviceAttributes as CEAttributes
from midealan.devices.cf import DeviceAttributes as CFAttributes
from midealan.devices.da import DeviceAttributes as DAAttributes
from midealan.devices.db import DeviceAttributes as DBAttributes
from midealan.devices.dc import DeviceAttributes as DCAttributes
from midealan.devices.e1 import DeviceAttributes as E1Attributes
from midealan.devices.e2 import DeviceAttributes as E2Attributes
from midealan.devices.e3 import DeviceAttributes as E3Attributes
from midealan.devices.e6 import DeviceAttributes as E6Attributes
from midealan.devices.e8 import DeviceAttributes as E8Attributes
from midealan.devices.ea import DeviceAttributes as EAAttributes
from midealan.devices.ec import DeviceAttributes as ECAttributes
from midealan.devices.ed import DeviceAttributes as EDAttributes
from midealan.devices.fa import DeviceAttributes as FAAttributes
from midealan.devices.fb import DeviceAttributes as FBAttributes
from midealan.devices.fc import DeviceAttributes as FCAttributes
from midealan.devices.fd import DeviceAttributes as FDAttributes
from midealan.devices.x26 import DeviceAttributes as X26Attributes
from midealan.devices.x34 import DeviceAttributes as X34Attributes
from midealan.devices.x40 import DeviceAttributes as X40Attributes
FRESH_AIR_EXHAUST = "fresh_air_exhaust"
FRESH_AIR_EXHAUST_MODE = "fresh_air_exhaust_mode"
FRESH_AIR_EXHAUST_POWER = "fresh_air_exhaust_power"
FRESH_AIR_EXHAUST_SPEED = "fresh_air_exhaust_speed"
"""
Entity Naming Rule:
1. `name` used in web UI enable/disable extra sensor/control setting
2. entity `_attr_name` exist will ignore `translation_key`
3. no `_attr_name` and no `translation_key` will try `device_class`
4. refer to `midea_entity.py` comments for translation order
- for entity translation:
- 1. set "translation_key"
- 2. add translation to `translations/{language}.json`
"""
MIDEA_DEVICES: dict[int, dict[str, dict[str, Any] | str]] = {
0x13: {
"name": "Light",
"entities": {
"light": {
"type": Platform.LIGHT,
"icon": "mdi:lightbulb",
"default": True,
},
},
},
0x26: {
"name": "Bathroom Master",
"entities": {
X26Attributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
X26Attributes.current_humidity: {
"type": Platform.SENSOR,
"name": "Current Humidity",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
X26Attributes.current_radar: {
"type": Platform.BINARY_SENSOR,
"name": "Occupancy Status",
"device_class": BinarySensorDeviceClass.MOTION,
},
X26Attributes.main_light: {
"type": Platform.SWITCH,
"translation_key": "main_light",
"name": "Main Light",
"icon": "mdi:lightbulb",
},
X26Attributes.night_light: {
"type": Platform.SWITCH,
"translation_key": "night_light",
"name": "Night Light",
"icon": "mdi:lightbulb",
},
X26Attributes.mode: {
"type": Platform.SELECT,
"translation_key": "mode",
"name": "Mode",
"options": "preset_modes",
"icon": "mdi:fan",
},
X26Attributes.direction: {
"type": Platform.SELECT,
"translation_key": "direction",
"name": "Direction",
"options": "directions",
"icon": "mdi:arrow-split-vertical",
},
},
},
0x34: {
"name": "Sink Dishwasher",
"entities": {
X34Attributes.door: {
"type": Platform.BINARY_SENSOR,
"name": "Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
X34Attributes.rinse_aid: {
"type": Platform.BINARY_SENSOR,
"translation_key": "rinse_aid",
"name": "Rinse Aid Shortage",
"icon": "mdi:bottle-tonic",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
X34Attributes.salt: {
"type": Platform.BINARY_SENSOR,
"translation_key": "salt",
"name": "Salt Shortage",
"icon": "mdi:drag",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
X34Attributes.humidity: {
"type": Platform.SENSOR,
"name": "Humidity",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
X34Attributes.progress: {
"type": Platform.SENSOR,
"translation_key": "progress",
"name": "Progress",
"icon": "mdi:rotate-360",
},
X34Attributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:information",
},
X34Attributes.storage_remaining: {
"type": Platform.SENSOR,
"translation_key": "storage_remaining",
"name": "Storage Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT,
},
X34Attributes.temperature: {
"type": Platform.SENSOR,
"name": "Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
X34Attributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
X34Attributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
X34Attributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
X34Attributes.storage: {
"type": Platform.SWITCH,
"translation_key": "storage",
"name": "Storage",
"icon": "mdi:repeat-variant",
},
X34Attributes.mode: {
"type": Platform.SENSOR,
"translation_key": "mode",
"name": "Working Mode",
"icon": "mdi:dishwasher",
},
X34Attributes.error_code: {
"type": Platform.SENSOR,
"translation_key": "error_code",
"name": "Error Code",
"icon": "mdi:alert-box",
},
X34Attributes.softwater: {
"type": Platform.SENSOR,
"translation_key": "softwater",
"name": "Softwater Level",
"icon": "mdi:shaker-outline",
},
X34Attributes.bright: {
"type": Platform.SENSOR,
"translation_key": "bright",
"name": "Bright Level",
"icon": "mdi:star-four-points",
},
},
},
0x40: {
"name": "Integrated Ceiling Fan",
"entities": {
"fan": {
"type": Platform.FAN,
"icon": "mdi:fan",
"default": True,
},
X40Attributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
X40Attributes.light: {
"type": Platform.SWITCH,
"translation_key": "light",
"name": "Light",
"icon": "mdi:lightbulb",
},
X40Attributes.ventilation: {
"type": Platform.SWITCH,
"translation_key": "ventilation",
"name": "Ventilation",
"icon": "mdi:air-filter",
},
X40Attributes.smelly_sensor: {
"type": Platform.SWITCH,
"translation_key": "smelly_sensor",
"name": "Smelly Sensor",
"icon": "mdi:scent",
},
X40Attributes.direction: {
"type": Platform.SELECT,
"translation_key": "direction",
"name": "Direction",
"options": "directions",
"icon": "mdi:arrow-split-vertical",
},
},
},
0xA1: {
"name": "Dehumidifier",
"entities": {
"humidifier": {
"type": Platform.HUMIDIFIER,
"icon": "mdi:air-humidifier",
"default": True,
},
A1Attributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
A1Attributes.anion: {
"type": Platform.SWITCH,
"translation_key": "anion",
"name": "Anion",
"icon": "mdi:vanish",
},
A1Attributes.prompt_tone: {
"type": Platform.SWITCH,
"translation_key": "prompt_tone",
"name": "Prompt Tone",
"icon": "mdi:bell",
},
A1Attributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
A1Attributes.swing: {
"type": Platform.SWITCH,
"translation_key": "swing",
"name": "Swing",
"icon": "mdi:pan-horizontal",
},
A1Attributes.pump: {
"type": Platform.SWITCH,
"translation_key": "water_pump",
"name": "Water Pump",
"icon": "mdi:water-pump",
},
A1Attributes.fan_speed: {
"type": Platform.SELECT,
"translation_key": "fan_speed",
"name": "Fan Speed",
"options": "fan_speeds",
"icon": "mdi:fan",
},
A1Attributes.water_level_set: {
"type": Platform.SELECT,
"translation_key": "water_level_set",
"name": "Water Level Setting",
"options": "water_level_sets",
"icon": "mdi:cup-water",
},
A1Attributes.current_humidity: {
"type": Platform.SENSOR,
"name": "Current Humidity",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
A1Attributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
A1Attributes.tank: {
"type": Platform.SENSOR,
"translation_key": "tank",
"name": "Tank",
"icon": "mdi:cup-water",
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
A1Attributes.tank_full: {
"type": Platform.BINARY_SENSOR,
"translation_key": "tank_full",
"name": "Tank status",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
A1Attributes.filter_cleaning_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "filter_cleaning_reminder",
"name": "Filter Cleaning Reminder",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
},
},
0xAC: {
"name": "Air Conditioner",
"entities": {
"climate": {
"type": Platform.CLIMATE,
"translation_key": "climate_key",
"icon": "mdi:air-conditioner",
"default": True,
},
"fresh_air": {
"type": Platform.FAN,
"translation_key": "fresh_air",
"name": "Fresh Air",
"icon": "mdi:fan",
},
ACAttributes.fresh_air_mode: {
"type": Platform.SELECT,
"required_attribute": ACAttributes.fresh_air_mode,
"translation_key": "fresh_air_mode",
"name": "Fresh Air Speed",
"icon": "mdi:fan-chevron-up",
"options": "fresh_air_fan_speeds",
},
FRESH_AIR_EXHAUST: {
"type": Platform.FAN,
"translation_key": "fresh_air_exhaust",
"name": "Fresh Air Exhaust",
"icon": "mdi:fan-reverse",
"required_attribute": FRESH_AIR_EXHAUST_POWER,
},
FRESH_AIR_EXHAUST_MODE: {
"type": Platform.SELECT,
"translation_key": "fresh_air_exhaust_mode",
"name": "Fresh Air Exhaust Speed",
"icon": "mdi:fan-chevron-down",
"options": "fresh_air_exhaust_fan_speeds",
"required_attribute": FRESH_AIR_EXHAUST_POWER,
},
ACAttributes.aux_heating: {
"type": Platform.SWITCH,
"translation_key": "aux_heating",
"name": "Aux Heating",
"icon": "mdi:heat-wave",
},
ACAttributes.boost_mode: {
"type": Platform.SWITCH,
"translation_key": "boost_mode",
"name": "Boost Mode",
"icon": "mdi:turbine",
},
ACAttributes.breezeless: {
"type": Platform.SWITCH,
"translation_key": "breezeless",
"name": "Breezeless",
"icon": "mdi:tailwind",
},
ACAttributes.comfort_mode: {
"type": Platform.SWITCH,
"translation_key": "comfort_mode",
"name": "Comfort Mode",
"icon": "mdi:alpha-c-circle",
},
ACAttributes.dry: {
"type": Platform.SWITCH,
"translation_key": "dry",
"name": "Dry",
"icon": "mdi:air-filter",
},
ACAttributes.eco_mode: {
"type": Platform.SWITCH,
"translation_key": "eco_mode",
"name": "ECO Mode",
"icon": "mdi:leaf-circle",
},
ACAttributes.frost_protect: {
"type": Platform.SWITCH,
"translation_key": "frost_protect",
"name": "Frost Protect",
"icon": "mdi:snowflake-alert",
},
ACAttributes.indirect_wind: {
"type": Platform.SWITCH,
"translation_key": "indirect_wind",
"name": "Indirect Wind",
"icon": "mdi:tailwind",
},
ACAttributes.natural_wind: {
"type": Platform.SWITCH,
"translation_key": "natural_wind",
"name": "Natural Wind",
"icon": "mdi:tailwind",
},
ACAttributes.prompt_tone: {
"type": Platform.SWITCH,
"translation_key": "prompt_tone",
"name": "Prompt Tone",
"icon": "mdi:bell",
},
ACAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
ACAttributes.screen_display: {
"type": Platform.SWITCH,
"translation_key": "screen_display",
"name": "Screen Display",
"icon": "mdi:television-ambient-light",
},
ACAttributes.screen_display_alternate: {
"type": Platform.SWITCH,
"translation_key": "screen_display_alternate",
"name": "Screen Display Alternate",
"icon": "mdi:television-ambient-light",
},
ACAttributes.sleep_mode: {
"type": Platform.SWITCH,
"translation_key": "sleep_mode",
"name": "Sleep Mode",
"icon": "mdi:power-sleep",
},
ACAttributes.out_silent: {
"type": Platform.SWITCH,
"translation_key": "out_silent",
"name": "Outdoor Silent Mode",
"icon": "mdi:hvac-off",
},
ACAttributes.smart_eye: {
"type": Platform.SWITCH,
"translation_key": "smart_eye",
"name": "Smart Eye",
"icon": "mdi:eye",
},
ACAttributes.swing_horizontal: {
"type": Platform.SWITCH,
"translation_key": "swing_horizontal",
"name": "Swing Horizontal",
"icon": "mdi:arrow-split-vertical",
},
ACAttributes.swing_vertical: {
"type": Platform.SWITCH,
"translation_key": "swing_vertical",
"name": "Swing Vertical",
"icon": "mdi:arrow-split-horizontal",
},
ACAttributes.anion: {
"type": Platform.SWITCH,
"translation_key": "anion",
"name": "Anion",
"icon": "mdi:vanish",
},
ACAttributes.sound: {
"type": Platform.SWITCH,
"translation_key": "sound",
"name": "Sound",
"icon": "mdi:volume-high",
},
ACAttributes.self_clean: {
"type": Platform.SWITCH,
"translation_key": "self_clean",
"name": "Self Clean",
"icon": "mdi:air-filter",
},
ACAttributes.full_dust: {
"type": Platform.BINARY_SENSOR,
"translation_key": "full_dust",
"name": "Full of Dust",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
ACAttributes.indoor_humidity: {
"type": Platform.SENSOR,
"translation_key": "indoor_humidity",
"name": "Indoor Humidity",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.indoor_temperature: {
"type": Platform.SENSOR,
"translation_key": "indoor_temperature",
"name": "Indoor Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.outdoor_temperature: {
"type": Platform.SENSOR,
"translation_key": "outdoor_temperature",
"name": "Outdoor Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.total_energy_consumption: {
"type": Platform.SENSOR,
"translation_key": "total_energy_consumption",
"name": "Total Energy Consumption",
"device_class": SensorDeviceClass.ENERGY,
"unit": UnitOfEnergy.KILO_WATT_HOUR,
"state_class": SensorStateClass.TOTAL_INCREASING,
},
ACAttributes.current_energy_consumption: {
"type": Platform.SENSOR,
"translation_key": "current_energy_consumption",
"name": "Current Energy Consumption",
"device_class": SensorDeviceClass.ENERGY,
"unit": UnitOfEnergy.KILO_WATT_HOUR,
"state_class": SensorStateClass.TOTAL_INCREASING,
},
ACAttributes.realtime_power: {
"type": Platform.SENSOR,
"translation_key": "realtime_power",
"name": "Realtime Power",
"device_class": SensorDeviceClass.POWER,
"unit": UnitOfPower.WATT,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.pmv: {
"type": Platform.SENSOR,
"translation_key": "pmv",
"name": "PMV",
"icon": "mdi:thermometer-lines",
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.error_code: {
"type": Platform.SENSOR,
"translation_key": "error_code",
"name": "Error Code",
"icon": "mdi:alert-box",
},
# group 1: compressor and refrigerant circuit
ACAttributes.compressor_frequency: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.compressor_frequency,
"translation_key": "compressor_frequency",
"name": "Compressor Frequency",
"device_class": SensorDeviceClass.FREQUENCY,
"unit": UnitOfFrequency.HERTZ,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.target_compressor_frequency: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.target_compressor_frequency,
"translation_key": "target_compressor_frequency",
"name": "Target Compressor Frequency",
"device_class": SensorDeviceClass.FREQUENCY,
"unit": UnitOfFrequency.HERTZ,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.compressor_current: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.compressor_current,
"translation_key": "compressor_current",
"name": "Compressor Current",
"device_class": SensorDeviceClass.CURRENT,
"unit": UnitOfElectricCurrent.AMPERE,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.compressor_voltage: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.compressor_voltage,
"translation_key": "compressor_voltage",
"name": "Compressor Voltage",
"device_class": SensorDeviceClass.VOLTAGE,
"unit": UnitOfElectricPotential.VOLT,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.indoor_ambient_temperature: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.indoor_ambient_temperature,
"translation_key": "indoor_ambient_temperature",
"name": "Indoor Coil Temperature (T1)",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.indoor_coil_temperature: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.indoor_coil_temperature,
"translation_key": "indoor_coil_temperature",
"name": "Evaporator Temperature (T2)",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.outdoor_coil_temperature: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.outdoor_coil_temperature,
"translation_key": "outdoor_coil_temperature",
"name": "Condenser Temperature (T3)",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.outdoor_ambient_temperature: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.outdoor_ambient_temperature,
"translation_key": "outdoor_ambient_temperature",
"name": "Outdoor Ambient Temperature (T4)",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.discharge_pipe_temperature: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.discharge_pipe_temperature,
"translation_key": "discharge_pipe_temperature",
"name": "Discharge Pipe Temperature (TP)",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
# group 2: indoor fan and condensate pump
ACAttributes.indoor_fan_speed: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.indoor_fan_speed,
"translation_key": "indoor_fan_speed",
"name": "Indoor Fan Speed",
"icon": "mdi:fan",
"unit": REVOLUTIONS_PER_MINUTE,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.target_indoor_fan_speed: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.target_indoor_fan_speed,
"translation_key": "target_indoor_fan_speed",
"name": "Target Indoor Fan Speed",
"icon": "mdi:fan-clock",
"unit": REVOLUTIONS_PER_MINUTE,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.water_pump_running: {
"type": Platform.BINARY_SENSOR,
"required_attribute": ACAttributes.water_pump_running,
"translation_key": "water_pump_running",
"name": "Water Pump Running",
"icon": "mdi:water-pump",
"device_class": BinarySensorDeviceClass.RUNNING,
},
# group 7: real time compressor power
ACAttributes.compressor_power: {
"type": Platform.SENSOR,
"required_attribute": ACAttributes.compressor_power,
"translation_key": "compressor_power",
"name": "Compressor Power",
"device_class": SensorDeviceClass.POWER,
"unit": UnitOfPower.WATT,
"state_class": SensorStateClass.MEASUREMENT,
},
ACAttributes.wind_lr_angle: {
"type": Platform.SELECT,
"translation_key": "wind_lr_angle",
"name": "Airflow Horizontal",
"options": "wind_lr_angles",
"icon": "mdi:pan-horizontal",
},
ACAttributes.wind_ud_angle: {
"type": Platform.SELECT,
"translation_key": "wind_ud_angle",
"name": "Airflow Vertical",
"options": "wind_ud_angles",
"icon": "mdi:pan-vertical",
},
ACAttributes.rate_select: {
"type": Platform.SELECT,
"translation_key": "rate_select",
"name": "Power Rate Limit",
"options": "rate_selects",
"icon": "mdi:lightning-bolt-circle",
},
ACAttributes.fan_speed: {
"type": Platform.NUMBER,
"translation_key": "fan_speed_percent",
"name": "Fan Speed Percent",
"icon": "mdi:fan",
"max": 100,
"min": 1,
"step": 1,
},
},
},
0xAD: {
"name": "Air Detector",
"entities": {
ADAttributes.temperature: {
"type": Platform.SENSOR,
"name": "Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.humidity: {
"type": Platform.SENSOR,
"name": "Humidity",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.temperature_raw: {
"type": Platform.SENSOR,
"name": "Temperature Raw",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.humidity_raw: {
"type": Platform.SENSOR,
"name": "Humidity Raw",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.temperature_compensate: {
"type": Platform.SENSOR,
"name": "Temperature Compensate",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.humidity_compensate: {
"type": Platform.SENSOR,
"name": "Humidity Compensate",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.tvoc: {
"type": Platform.SENSOR,
"name": "Tvoc",
"icon": "mdi:heat-wave",
"device_class": SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
"unit": CONCENTRATION_PARTS_PER_MILLION,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.co2: {
"type": Platform.SENSOR,
"name": "Carbon Dioxide",
"device_class": SensorDeviceClass.CO2,
"unit": CONCENTRATION_PARTS_PER_MILLION,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.pm25: {
"type": Platform.SENSOR,
"name": "PM 2.5",
"device_class": SensorDeviceClass.PM25,
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.hcho: {
"type": Platform.SENSOR,
"name": "Methanal",
"icon": "mdi:molecule",
"device_class": SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.presets_function: {
"type": Platform.BINARY_SENSOR,
"name": "Presets Function",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ADAttributes.fall_asleep_status: {
"type": Platform.BINARY_SENSOR,
"name": "Asleep Status",
"icon": "mdi:sleep",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ADAttributes.screen_extinction_timeout: {
"type": Platform.SENSOR,
"name": "Screen Extinction Timeout",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
ADAttributes.portable_sense: {
"type": Platform.BINARY_SENSOR,
"name": "Portable Sense",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ADAttributes.night_mode: {
"type": Platform.BINARY_SENSOR,
"name": "Night Mode",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ADAttributes.screen_status: {
"type": Platform.BINARY_SENSOR,
"name": "Screen Status",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ADAttributes.led_status: {
"type": Platform.BINARY_SENSOR,
"name": "Ambient Lighting Status",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ADAttributes.arofene_link: {
"type": Platform.BINARY_SENSOR,
"name": "Methanal Status",
"device_class": BinarySensorDeviceClass.PLUG,
},
ADAttributes.header_exist: {
"type": Platform.BINARY_SENSOR,
"name": "Header Status",
"device_class": BinarySensorDeviceClass.PLUG,
},
ADAttributes.radar_exist: {
"type": Platform.BINARY_SENSOR,
"name": "Radar Status",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ADAttributes.header_led_status: {
"type": Platform.BINARY_SENSOR,
"name": "Breathing Light",
"device_class": BinarySensorDeviceClass.RUNNING,
},
},
},
0xB0: {
"name": "Microwave Oven",
"entities": {
B0Attributes.door: {
"type": Platform.BINARY_SENSOR,
"name": "Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
# Deliberately NO device_class here. BinarySensorDeviceClass.LOCK
# defines on = UNLOCKED, but this attribute is True when the child
# lock is ENGAGED, so that device class would display it inverted.
B0Attributes.child_lock: {
"type": Platform.BINARY_SENSOR,
"name": "Child Lock",
"icon": "mdi:lock",
},
B0Attributes.tank_ejected: {
"type": Platform.BINARY_SENSOR,
"translation_key": "tank_ejected",
"name": "Tank Ejected",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B0Attributes.water_change_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_change_reminder",
"name": "Water Change Reminder",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B0Attributes.water_shortage: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_shortage",
"name": "Water Shortage",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B0Attributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
B0Attributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:information",
},
B0Attributes.mode: {
"type": Platform.SENSOR,
"name": "Mode",
"icon": "mdi:chef-hat",
},
B0Attributes.fire_power: {
"type": Platform.SENSOR,
"name": "Fire Power",
"icon": "mdi:fire",
},
B0Attributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xB1: {
"name": "Electric Oven",
"entities": {
B1Attributes.door: {
"type": Platform.BINARY_SENSOR,
"name": "Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
B1Attributes.tank_ejected: {
"type": Platform.BINARY_SENSOR,
"translation_key": "tank_ejected",
"name": "Tank ejected",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B1Attributes.water_change_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_change_reminder",
"name": "Water Change Reminder",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B1Attributes.water_shortage: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_shortage",
"name": "Water Shortage",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B1Attributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
B1Attributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:information",
},
B1Attributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xB3: {
"name": "Dish Sterilizer",
"entities": {
B3Attributes.top_compartment_door: {
"type": Platform.BINARY_SENSOR,
"translation_key": "top_compartment_door",
"name": "Top Compartment Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
B3Attributes.top_compartment_preheating: {
"type": Platform.BINARY_SENSOR,
"translation_key": "top_compartment_preheating",
"name": "Top Compartment Preheating",
"icon": "mdi:heat-wave",
"device_class": BinarySensorDeviceClass.RUNNING,
},
B3Attributes.top_compartment_cooling: {
"type": Platform.BINARY_SENSOR,
"translation_key": "top_compartment_cooling",
"name": "Top Compartment Cooling",
"icon": "mdi:snowflake-variant",
"device_class": BinarySensorDeviceClass.RUNNING,
},
B3Attributes.middle_compartment_door: {
"type": Platform.BINARY_SENSOR,
"translation_key": "middle_compartment_door",
"name": "Middle Compartment Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
B3Attributes.middle_compartment_preheating: {
"type": Platform.BINARY_SENSOR,
"translation_key": "middle_compartment_preheating",
"name": "Middle Compartment Preheating",
"icon": "mdi:heat-wave",
"device_class": BinarySensorDeviceClass.RUNNING,
},
B3Attributes.middle_compartment_cooling: {
"type": Platform.BINARY_SENSOR,
"translation_key": "middle_compartment_cooling",
"name": "Middle Compartment Cooling",
"icon": "mdi:snowflake-variant",
"device_class": BinarySensorDeviceClass.RUNNING,
},
B3Attributes.bottom_compartment_door: {
"type": Platform.BINARY_SENSOR,
"translation_key": "bottom_compartment_door",
"name": "Bottom Compartment Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
B3Attributes.bottom_compartment_preheating: {
"type": Platform.BINARY_SENSOR,
"translation_key": "bottom_compartment_preheating",
"name": "Bottom Compartment Preheating",
"icon": "mdi:heat-wave",
"device_class": BinarySensorDeviceClass.RUNNING,
},
B3Attributes.bottom_compartment_cooling: {
"type": Platform.BINARY_SENSOR,
"translation_key": "bottom_compartment_cooling",
"name": "Bottom Compartment Cooling",
"icon": "mdi:snowflake-variant",
"device_class": BinarySensorDeviceClass.RUNNING,
},
B3Attributes.top_compartment_status: {
"type": Platform.SENSOR,
"translation_key": "top_compartment_status",
"name": "Top Compartment Status",
"icon": "mdi:information",
},
B3Attributes.top_compartment_temperature: {
"type": Platform.SENSOR,
"translation_key": "top_compartment_temperature",
"name": "Top Compartment Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
B3Attributes.top_compartment_remaining: {
"type": Platform.SENSOR,
"translation_key": "top_compartment_remaining",
"name": "Top Compartment Remaining",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
B3Attributes.middle_compartment_status: {
"type": Platform.SENSOR,
"translation_key": "middle_compartment_status",
"name": "Middle Compartment Status",
"icon": "mdi:information",
},
B3Attributes.middle_compartment_temperature: {
"type": Platform.SENSOR,
"translation_key": "middle_compartment_temperature",
"name": "Middle Compartment Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
B3Attributes.middle_compartment_remaining: {
"type": Platform.SENSOR,
"translation_key": "middle_compartment_remaining",
"name": "Middle Compartment Remaining",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
B3Attributes.bottom_compartment_status: {
"type": Platform.SENSOR,
"translation_key": "bottom_compartment_status",
"name": "Bottom Compartment Status",
"icon": "mdi:information",
},
B3Attributes.bottom_compartment_temperature: {
"type": Platform.SENSOR,
"translation_key": "bottom_compartment_temperature",
"name": "Bottom Compartment Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
B3Attributes.bottom_compartment_remaining: {
"type": Platform.SENSOR,
"translation_key": "bottom_compartment_remaining",
"name": "Bottom Compartment Remaining",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xB4: {
"name": "Toaster",
"entities": {
B4Attributes.door: {
"type": Platform.BINARY_SENSOR,
"name": "Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
B4Attributes.tank_ejected: {
"type": Platform.BINARY_SENSOR,
"translation_key": "tank_ejected",
"name": "Tank ejected",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B4Attributes.water_change_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_change_reminder",
"name": "Water Change Reminder",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B4Attributes.water_shortage: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_shortage",
"name": "Water Shortage",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B4Attributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
B4Attributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:information",
},
B4Attributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xB6: {
"name": "Range Hood",
"entities": {
"fan": {
"type": Platform.FAN,
"icon": "mdi:fan",
"default": True,
},
B6Attributes.light: {
"type": Platform.SWITCH,
"translation_key": "light",
"name": "Light",
"icon": "mdi:lightbulb",
},
B6Attributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
B6Attributes.cleaning_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "cleaning_reminder",
"name": "Cleaning Reminder",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B6Attributes.oilcup_full: {
"type": Platform.BINARY_SENSOR,
"translation_key": "oilcup_full",
"name": "Oil-cup Full",
"icon": "mdi:cup",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
B6Attributes.fan_level: {
"type": Platform.SENSOR,
"translation_key": "fan_level",
"name": "Fan level",
"icon": "mdi:fan",
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xBF: {
"name": "Microwave Steam Oven",
"entities": {
BFAttributes.tank_ejected: {
"type": Platform.BINARY_SENSOR,
"translation_key": "tank_ejected",
"name": "Tank ejected",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
BFAttributes.water_change_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_change_reminder",
"name": "Water Change Reminder",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
BFAttributes.door: {
"type": Platform.BINARY_SENSOR,
"name": "Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
BFAttributes.water_shortage: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_shortage",
"name": "Water Shortage",
"icon": "mdi:cup-water",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
BFAttributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
BFAttributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:information",
},
BFAttributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xC2: {
"name": "Toilet",
"entities": {
C2Attributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
C2Attributes.sensor_light: {
"type": Platform.SWITCH,
"translation_key": "sensor_light",
"name": "Sensor Light",
"icon": "mdi:lightbulb",
},
C2Attributes.foam_shield: {
"type": Platform.SWITCH,
"translation_key": "foam_shield",
"name": "Foam Shield",
"icon": "mdi:chart-bubble",
},
C2Attributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
C2Attributes.seat_status: {
"type": Platform.BINARY_SENSOR,
"translation_key": "seat_status",
"name": "Seat Status",
"icon": "mdi:seat-legroom-normal",
},
C2Attributes.lid_status: {
"type": Platform.BINARY_SENSOR,
"translation_key": "lid_status",
"name": "Lid Status",
"icon": "mdi:toilet",
},
C2Attributes.light_status: {
"type": Platform.BINARY_SENSOR,
"name": "Light Status",
"icon": "mdi:lightbulb",
"device_class": BinarySensorDeviceClass.LIGHT,
},
C2Attributes.water_temperature: {
"type": Platform.SENSOR,
"translation_key": "water_temperature",
"name": "Water Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
C2Attributes.seat_temperature: {
"type": Platform.SENSOR,
"translation_key": "seat_temperature",
"name": "Seat Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
C2Attributes.filter_life: {
"type": Platform.SENSOR,
"translation_key": "filter_life",
"name": "Filter Life",
"icon": "mdi:toilet",
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
C2Attributes.dry_level: {
"type": Platform.NUMBER,
"translation_key": "dry_level",
"name": "Dry Level",
"icon": "mdi:fire",
"max": "max_dry_level",
"min": 0,
"step": 1,
},
C2Attributes.water_temp_level: {
"type": Platform.NUMBER,
"translation_key": "water_temp_level",
"name": "Water Temperature Level",
"icon": "mdi:fire",
"max": "max_water_temp_level",
"min": 0,
"step": 1,
},
C2Attributes.seat_temp_level: {
"type": Platform.NUMBER,
"translation_key": "seat_temp_level",
"name": "Seat Temperature Level",
"icon": "mdi:fire",
"max": "max_seat_temp_level",
"min": 0,
"step": 1,
},
},
},
0xC3: {
"name": "Heat Pump Wi-Fi Controller",
"entities": {
"climate_zone1": {
"type": Platform.CLIMATE,
"translation_key": "climate_zone1",
"name": "Zone1 Thermostat",
"icon": "mdi:air-conditioner",
"zone": 0,
"default": True,
},
"climate_zone2": {
"type": Platform.CLIMATE,
"translation_key": "climate_zone2",
"name": "Zone2 Thermostat",
"icon": "mdi:air-conditioner",
"zone": 1,
"default": False,
},
"water_heater": {
"type": Platform.WATER_HEATER,
"translation_key": "domestic_hot_water",
"name": "Domestic hot water",
"icon": "mdi:heat-pump",
"default": True,
},
C3Attributes.disinfect: {
"type": Platform.SWITCH,
"translation_key": "disinfect",
"name": "Disinfect",
"icon": "mdi:water-plus-outline",
},
C3Attributes.dhw_power: {
"type": Platform.SWITCH,
"translation_key": "dhw_power",
"name": "DHW Power",
"icon": "mdi:power",
},
C3Attributes.eco_mode: {
"type": Platform.SWITCH,
"translation_key": "eco_mode",
"name": "ECO Mode",
"icon": "mdi:leaf-circle",
},
C3Attributes.fast_dhw: {
"type": Platform.SWITCH,
"translation_key": "fast_dhw",
"name": "Fast DHW",
"icon": "mdi:rotate-orbit",
},
C3Attributes.silent_mode: {
"type": Platform.SWITCH,
"translation_key": "silent_mode",
"name": "Silent Mode",
"icon": "mdi:fan-remove",
},
C3Attributes.silent_level: {
"type": Platform.SELECT,
"translation_key": "silent_level",
"name": "Silent Level",
"icon": "mdi:fan-remove",
"options": "silent_modes",
},
C3Attributes.tbh: {
"type": Platform.SWITCH,
"translation_key": "tbh",
"name": "TBH",
"icon": "mdi:water-boiler",
},
C3Attributes.zone1_curve: {
"type": Platform.SWITCH,
"translation_key": "zone1_curve",
"name": "Zone1 Curve",
"icon": "mdi:chart-bell-curve-cumulative",
},
C3Attributes.zone2_curve: {
"type": Platform.SWITCH,
"translation_key": "zone2_curve",
"name": "Zone2 Curve",
"icon": "mdi:chart-bell-curve-cumulative",
},
C3Attributes.zone1_power: {
"type": Platform.SWITCH,
"translation_key": "zone1_power",
"name": "Zone1 Power",
"icon": "mdi:power",
},
C3Attributes.zone2_power: {
"type": Platform.SWITCH,
"translation_key": "zone2_power",
"name": "Zone2 Power",
"icon": "mdi:power",
},
C3Attributes.zone1_water_temp_mode: {
"type": Platform.BINARY_SENSOR,
"translation_key": "zone1_water_temp_mode",
"name": "Zone1 Water-temperature Mode",
"icon": "mdi:coolant-temperature",
"device_class": BinarySensorDeviceClass.RUNNING,
},
C3Attributes.zone2_water_temp_mode: {
"type": Platform.BINARY_SENSOR,
"translation_key": "zone2_water_temp_mode",
"name": "Zone2 Water-temperature Mode",
"icon": "mdi:coolant-temperature",
"device_class": BinarySensorDeviceClass.RUNNING,
},
C3Attributes.zone1_room_temp_mode: {
"type": Platform.BINARY_SENSOR,
"translation_key": "zone1_room_temp_mode",
"name": "Zone1 Room-temperature Mode",
"icon": "mdi:home-thermometer-outline",
"device_class": BinarySensorDeviceClass.RUNNING,
},
C3Attributes.zone2_room_temp_mode: {
"type": Platform.BINARY_SENSOR,
"translation_key": "zone2_room_temp_mode",
"name": "Zone2 Room-temperature Mode",
"icon": "mdi:home-thermometer-outline",
"device_class": BinarySensorDeviceClass.RUNNING,
},
C3Attributes.error_code: {
"type": Platform.SENSOR,
"translation_key": "error_code",
"name": "Error Code",
"icon": "mdi:alpha-e-circle",
},
C3Attributes.tank_actual_temperature: {
"type": Platform.SENSOR,
"translation_key": "tank_actual_temperature",
"name": "Tank Actual Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
C3Attributes.status_dhw: {
"type": Platform.BINARY_SENSOR,
"translation_key": "status_dhw",
"name": "DHW status",
"icon": "mdi:heat-pump",
"device_class": BinarySensorDeviceClass.RUNNING,
},
C3Attributes.status_tbh: {
"type": Platform.BINARY_SENSOR,
"translation_key": "status_tbh",
"name": "TBH status",
"icon": "mdi:water-boiler",
"device_class": BinarySensorDeviceClass.RUNNING,
},
C3Attributes.status_ibh: {
"type": Platform.BINARY_SENSOR,
"translation_key": "status_ibh",
"name": "IBH status",
"icon": "mdi:coolant-temperature",
"device_class": BinarySensorDeviceClass.RUNNING,
},
C3Attributes.status_heating: {
"type": Platform.BINARY_SENSOR,
"translation_key": "status_heating",
"name": "Heating status",
"icon": "mdi:heat-pump",
"device_class": BinarySensorDeviceClass.RUNNING,
},
C3Attributes.total_energy_consumption: {
"type": Platform.SENSOR,
"translation_key": "total_energy_consumption",
"name": "Total energy consumption",
"device_class": SensorDeviceClass.ENERGY,
"unit": UnitOfEnergy.KILO_WATT_HOUR,
"state_class": SensorStateClass.TOTAL_INCREASING,
},
C3Attributes.total_produced_energy: {
"type": Platform.SENSOR,
"translation_key": "total_produced_energy",
"name": "Total produced energy",
"device_class": SensorDeviceClass.ENERGY,
"unit": UnitOfEnergy.KILO_WATT_HOUR,
"state_class": SensorStateClass.TOTAL_INCREASING,
},
C3Attributes.outdoor_temperature: {
"type": Platform.SENSOR,
"translation_key": "outdoor_temperature",
"name": "Outdoor Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
C3Attributes.temp_tw_in: {
"type": Platform.SENSOR,
"name": "Water Inlet Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
C3Attributes.temp_tw_out: {
"type": Platform.SENSOR,
"name": "Water Outlet Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
C3Attributes.instant_power0: {
"type": Platform.SENSOR,
"name": "Current Power",
"device_class": SensorDeviceClass.POWER,
"unit": UnitOfPower.WATT,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xCA: {
"name": "Refrigerator",
"entities": {
CAAttributes.bar_door: {
"type": Platform.BINARY_SENSOR,
"translation_key": "bar_door",
"name": "Bar Door",
"icon": "mdi:door",
"device_class": BinarySensorDeviceClass.DOOR,
},
CAAttributes.bar_door_overtime: {
"type": Platform.BINARY_SENSOR,
"translation_key": "bar_door_overtime",
"name": "Bar Door Overtime",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
CAAttributes.flex_zone_door: {
"type": Platform.BINARY_SENSOR,
"translation_key": "flex_zone_door",
"name": "Flex Door",
"icon": "mdi:door",
"device_class": BinarySensorDeviceClass.DOOR,
},
CAAttributes.flex_zone_door_overtime: {
"type": Platform.BINARY_SENSOR,
"translation_key": "flex_zone_door_overtime",
"name": "Flex Zone Door",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
CAAttributes.freezer_door: {
"type": Platform.BINARY_SENSOR,
"translation_key": "freezer_door",
"name": "Freezer Door",
"icon": "mdi:door",
"device_class": BinarySensorDeviceClass.DOOR,
},
CAAttributes.freezer_door_overtime: {
"type": Platform.BINARY_SENSOR,
"translation_key": "freezer_door_overtime",
"name": "Freezer Door Overtime",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
CAAttributes.refrigerator_door: {
"type": Platform.BINARY_SENSOR,
"translation_key": "refrigerator_door",
"name": "Refrigerator Door",
"icon": "mdi:door",
"device_class": BinarySensorDeviceClass.DOOR,
},
CAAttributes.refrigerator_door_overtime: {
"type": Platform.BINARY_SENSOR,
"translation_key": "refrigerator_door_overtime",
"name": "Refrigerator Door Overtime",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
CAAttributes.flex_zone_actual_temp: {
"type": Platform.SENSOR,
"translation_key": "flex_zone_actual_temp",
"name": "Flex Zone Actual Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CAAttributes.flex_zone_setting_temp: {
"type": Platform.SENSOR,
"translation_key": "flex_zone_setting_temp",
"name": "Flex Zone Setting Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CAAttributes.freezer_actual_temp: {
"type": Platform.SENSOR,
"translation_key": "freezer_actual_temp",
"name": "Freezer Actual Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CAAttributes.freezer_setting_temp: {
"type": Platform.SENSOR,
"translation_key": "freezer_setting_temp",
"name": "Freezer Setting Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CAAttributes.energy_consumption: {
"type": Platform.SENSOR,
"translation_key": "energy_consumption",
"name": "Energy Consumption",
"device_class": SensorDeviceClass.ENERGY,
"unit": UnitOfEnergy.KILO_WATT_HOUR,
"state_class": SensorStateClass.TOTAL_INCREASING,
},
CAAttributes.refrigerator_actual_temp: {
"type": Platform.SENSOR,
"translation_key": "refrigerator_actual_temp",
"name": "Refrigerator Actual Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CAAttributes.refrigerator_setting_temp: {
"type": Platform.SENSOR,
"translation_key": "refrigerator_setting_temp",
"name": "Refrigerator Setting Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CAAttributes.right_flex_zone_actual_temp: {
"type": Platform.SENSOR,
"translation_key": "right_flex_zone_actual_temp",
"name": "Right Flex Zone Actual Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CAAttributes.right_flex_zone_setting_temp: {
"type": Platform.SENSOR,
"translation_key": "right_flex_zone_setting_temp",
"name": "Right Flex Zone Setting Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CAAttributes.microcrystal_fresh: {
"type": Platform.BINARY_SENSOR,
"translation_key": "microcrystal_fresh",
"name": "Microcrystal Fresh",
"icon": "mdi:origin",
},
CAAttributes.electronic_smell: {
"type": Platform.BINARY_SENSOR,
"translation_key": "electronic_smell",
"name": "Deodorizing sterilizing",
"icon": "mdi:air-filter",
},
CAAttributes.humidity: {
"type": Platform.SENSOR,
"translation_key": "humidity",
"name": "Humidity",
"icon": "mdi:water-opacity",
},
CAAttributes.variable_mode: {
"type": Platform.SENSOR,
"translation_key": "variable_mode",
"name": "Variable Mode",
"icon": "mdi:nut",
},
},
},
0xCC: {
"name": "MDV Wi-Fi Controller",
"entities": {
"climate": {
"type": Platform.CLIMATE,
"icon": "mdi:air-conditioner",
"default": True,
},
CCAttributes.aux_heating: {
"type": Platform.SWITCH,
"translation_key": "aux_heating",
"name": "Aux Heating",
"icon": "mdi:heat-wave",
},
CCAttributes.eco_mode: {
"type": Platform.SWITCH,
"translation_key": "eco_mode",
"name": "ECO Mode",
"icon": "mdi:leaf-circle",
},
CCAttributes.night_light: {
"type": Platform.SWITCH,
"translation_key": "night_light",
"name": "Night Light",
"icon": "mdi:lightbulb",
},
CCAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
CCAttributes.sleep_mode: {
"type": Platform.SWITCH,
"translation_key": "sleep_mode",
"name": "Sleep Mode",
"icon": "mdi:power-sleep",
},
CCAttributes.swing: {
"type": Platform.SWITCH,
"translation_key": "swing",
"name": "Swing",
"icon": "mdi:arrow-split-horizontal",
},
CCAttributes.indoor_temperature: {
"type": Platform.SENSOR,
"translation_key": "indoor_temperature",
"name": "Indoor Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xCD: {
"name": "Heat Pump Water Heater",
"entities": {
"water_heater": {
"type": Platform.WATER_HEATER,
"icon": "mdi:water-boiler",
"default": True,
},
CDAttributes.compressor_status: {
"type": Platform.BINARY_SENSOR,
"translation_key": "compressor_status",
"name": "Compressor Status",
"icon": "mdi:drag",
"device_class": BinarySensorDeviceClass.RUNNING,
},
CDAttributes.compressor_temperature: {
"type": Platform.SENSOR,
"translation_key": "compressor_temperature",
"name": "Compressor Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CDAttributes.condenser_temperature: {
"type": Platform.SENSOR,
"translation_key": "condenser_temperature",
"name": "Condenser Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CDAttributes.outdoor_temperature: {
"type": Platform.SENSOR,
"translation_key": "outdoor_temperature",
"name": "Outdoor Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CDAttributes.water_level: {
"type": Platform.SENSOR,
"translation_key": "water_level",
"name": "Water Level",
"icon": "mdi:cup-water",
},
CDAttributes.disinfection_temperature: {
"type": Platform.SENSOR,
"translation_key": "disinfection_temperature",
"name": "Disinfection Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CDAttributes.elec_heat: {
"type": Platform.SENSOR,
"translation_key": "elec_heat",
"name": "Electric Heat",
"icon": "mdi:heat-wave",
},
CDAttributes.top_elec_heat: {
"type": Platform.BINARY_SENSOR,
"translation_key": "top_elec_heat",
"name": "Top Electric Heat",
"icon": "mdi:heat-wave",
"device_class": BinarySensorDeviceClass.RUNNING,
},
CDAttributes.bottom_elec_heat: {
"type": Platform.BINARY_SENSOR,
"translation_key": "bottom_elec_heat",
"name": "Bottom Electric Heat",
"icon": "mdi:heat-wave",
"device_class": BinarySensorDeviceClass.RUNNING,
},
CDAttributes.water_pump: {
"type": Platform.SENSOR,
"translation_key": "water_pump",
"name": "Water Pump",
"icon": "mdi:water-pump",
},
CDAttributes.four_way: {
"type": Platform.SENSOR,
"translation_key": "four_way",
"name": "Four Way Valve",
"icon": "mdi:pipe-valve",
},
CDAttributes.back_water: {
"type": Platform.SENSOR,
"translation_key": "back_water",
"name": "Back Water",
"icon": "mdi:water",
},
CDAttributes.sterilize: {
"type": Platform.SENSOR,
"translation_key": "sterilize",
"name": "Sterilize",
"icon": "mdi:bacteria",
},
CDAttributes.top_temperature: {
"type": Platform.SENSOR,
"translation_key": "top_temperature",
"name": "Top Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CDAttributes.bottom_temperature: {
"type": Platform.SENSOR,
"translation_key": "bottom_temperature",
"name": "Bottom Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CDAttributes.wind: {
"type": Platform.SENSOR,
"translation_key": "wind",
"name": "Wind",
"icon": "mdi:weather-windy",
},
CDAttributes.smart_grid: {
"type": Platform.BINARY_SENSOR,
"translation_key": "smart_grid",
"name": "Smart Grid",
"icon": "mdi:transmission-tower",
},
CDAttributes.multi_terminal: {
"type": Platform.BINARY_SENSOR,
"translation_key": "multi_terminal",
"name": "Multi Terminal",
"icon": "mdi:tablet-cellphone",
},
CDAttributes.mute_effect: {
"type": Platform.BINARY_SENSOR,
"translation_key": "mute_effect",
"name": "Mute Effect",
"icon": "mdi:volume-off",
},
CDAttributes.mute_status: {
"type": Platform.BINARY_SENSOR,
"translation_key": "mute_status",
"name": "Mute Status",
"icon": "mdi:volume-mute",
},
CDAttributes.error_code: {
"type": Platform.SENSOR,
"translation_key": "error_code",
"name": "Error Code",
"icon": "mdi:alert-circle-outline",
},
CDAttributes.typeinfo: {
"type": Platform.SENSOR,
"translation_key": "typeinfo",
"name": "Type Info",
"icon": "mdi:information-outline",
},
CDAttributes.eco: {
"type": Platform.BINARY_SENSOR,
"translation_key": "eco",
"name": "ECO",
"icon": "mdi:leaf",
},
CDAttributes.maintenance_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "maintenance_reminder",
"name": "Maintenance Reminder",
"icon": "mdi:wrench-clock",
},
CDAttributes.maintain_warn: {
"type": Platform.BINARY_SENSOR,
"translation_key": "maintain_warn",
"name": "Maintenance Warning",
"icon": "mdi:wrench-clock",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
CDAttributes.order1_effect: {
"type": Platform.BINARY_SENSOR,
"translation_key": "order1_effect",
"name": "Schedule 1 Active",
"icon": "mdi:calendar-check",
"device_class": BinarySensorDeviceClass.RUNNING,
},
CDAttributes.order2_effect: {
"type": Platform.BINARY_SENSOR,
"translation_key": "order2_effect",
"name": "Schedule 2 Active",
"icon": "mdi:calendar-check",
"device_class": BinarySensorDeviceClass.RUNNING,
},
CDAttributes.max_temperature: {
"type": Platform.SENSOR,
"translation_key": "max_temperature",
"name": "Maximum Target Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
"icon": "mdi:thermometer-high",
},
CDAttributes.vacation_mode: {
"type": Platform.SWITCH,
"translation_key": "vacation_mode",
"name": "Vacation Mode",
"icon": "mdi:beach",
},
CDAttributes.vacation_days: {
"type": Platform.NUMBER,
"translation_key": "vacation_days",
"name": "Vacation Days",
"max": 360,
"min": 1,
"step": 1,
"icon": "mdi:calendar-range",
},
CDAttributes.vacation_start_year: {
"type": Platform.SENSOR,
"translation_key": "vacation_start_year",
"name": "Vacation Start Year",
"icon": "mdi:calendar-start",
},
CDAttributes.vacation_start_month: {
"type": Platform.SENSOR,
"translation_key": "vacation_start_month",
"name": "Vacation Start Month",
"icon": "mdi:calendar-start",
},
CDAttributes.vacation_start_day: {
"type": Platform.SENSOR,
"translation_key": "vacation_start_day",
"name": "Vacation Start Day",
"icon": "mdi:calendar-start",
},
CDAttributes.auto_sterilize_week: {
"type": Platform.SENSOR,
"translation_key": "auto_sterilize_week",
"name": "Auto Sterilize Week",
"icon": "mdi:calendar-week",
},
CDAttributes.auto_sterilize_hour: {
"type": Platform.SENSOR,
"translation_key": "auto_sterilize_hour",
"name": "Auto Sterilize Hour",
"icon": "mdi:clock-outline",
},
CDAttributes.auto_sterilize_minute: {
"type": Platform.SENSOR,
"translation_key": "auto_sterilize_minute",
"name": "Auto Sterilize Minute",
"icon": "mdi:clock-outline",
},
CDAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
},
},
0xCE: {
"name": "Fresh Air Appliance",
"entities": {
"fan": {
"type": Platform.FAN,
"icon": "mdi:fan",
"default": True,
},
CEAttributes.filter_cleaning_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "filter_cleaning_reminder",
"name": "Filter Cleaning Reminder",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
CEAttributes.filter_change_reminder: {
"type": Platform.BINARY_SENSOR,
"translation_key": "filter_change_reminder",
"name": "Filter Change Reminder",
"icon": "mdi:alert-circle",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
CEAttributes.current_humidity: {
"type": Platform.SENSOR,
"name": "Current Humidity",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
CEAttributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
CEAttributes.co2: {
"type": Platform.SENSOR,
"name": "Carbon Dioxide",
"device_class": SensorDeviceClass.CO2,
"unit": CONCENTRATION_PARTS_PER_MILLION,
"state_class": SensorStateClass.MEASUREMENT,
},
CEAttributes.hcho: {
"type": Platform.SENSOR,
"translation_key": "hcho",
"name": "Methanal",
"icon": "mdi:molecule",
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
"state_class": SensorStateClass.MEASUREMENT,
},
CEAttributes.pm25: {
"type": Platform.SENSOR,
"name": "PM 2.5",
"device_class": SensorDeviceClass.PM25,
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
"state_class": SensorStateClass.MEASUREMENT,
},
CEAttributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
CEAttributes.aux_heating: {
"type": Platform.SWITCH,
"translation_key": "aux_heating",
"name": "Aux Heating",
"icon": "mdi:heat-wave",
},
CEAttributes.eco_mode: {
"type": Platform.SWITCH,
"translation_key": "eco_mode",
"name": "ECO Mode",
"icon": "mdi:leaf-circle",
},
CEAttributes.link_to_ac: {
"type": Platform.SWITCH,
"translation_key": "link_to_ac",
"name": "Link to AC",
"icon": "mdi:link",
},
CEAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
CEAttributes.powerful_purify: {
"type": Platform.SWITCH,
"translation_key": "powerful_purify",
"name": "Powerful Purification",
"icon": "mdi:turbine",
},
CEAttributes.sleep_mode: {
"type": Platform.SWITCH,
"translation_key": "sleep_mode",
"name": "Sleep Mode",
"icon": "mdi:power-sleep",
},
},
},
0xCF: {
"name": "Heat Pump",
"entities": {
"climate": {
"type": Platform.CLIMATE,
"icon": "mdi:air-conditioner",
"default": True,
},
CFAttributes.aux_heating: {
"type": Platform.SWITCH,
"translation_key": "aux_heating",
"name": "Aux Heating",
"icon": "mdi:heat-wave",
},
CFAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
CFAttributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xDA: {
"name": "Top Load Washer",
"entities": {
DAAttributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
DAAttributes.wash_time: {
"type": Platform.SENSOR,
"translation_key": "wash_time",
"name": "Wash time",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
DAAttributes.soak_time: {
"type": Platform.SENSOR,
"translation_key": "soak_time",
"name": "Soak time",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
DAAttributes.dehydration_time: {
"type": Platform.SENSOR,
"translation_key": "dehydration_time",
"name": "Dehydration time",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
DAAttributes.dehydration_speed: {
"type": Platform.SENSOR,
"translation_key": "dehydration_speed",
"name": "Dehydration speed",
"icon": "mdi:speedometer",
},
DAAttributes.error_code: {
"type": Platform.SENSOR,
"translation_key": "error_code",
"name": "Error code",
"icon": "mdi:washing-machine-alert",
},
DAAttributes.rinse_count: {
"type": Platform.SENSOR,
"translation_key": "rinse_count",
"name": "Rinse count",
"icon": "mdi:water-sync",
},
DAAttributes.rinse_level: {
"type": Platform.SENSOR,
"translation_key": "rinse_level",
"name": "Rinse level",
"icon": "mdi:hydraulic-oil-level",
},
DAAttributes.wash_level: {
"type": Platform.SENSOR,
"translation_key": "wash_level",
"name": "Wash level",
"icon": "mdi:hydraulic-oil-level",
},
DAAttributes.wash_strength: {
"type": Platform.SENSOR,
"translation_key": "wash_strength",
"name": "Wash strength",
"icon": "mdi:network-strength-4-cog",
},
DAAttributes.softener: {
"type": Platform.SENSOR,
"translation_key": "softener",
"name": "Softener",
"icon": "mdi:tshirt-crew",
},
DAAttributes.detergent: {
"type": Platform.SENSOR,
"translation_key": "detergent",
"name": "Detergent",
"icon": "mdi:spray-bottle",
},
DAAttributes.program: {
"type": Platform.SENSOR,
"translation_key": "program",
"name": "Program",
"icon": "mdi:progress-wrench",
},
DAAttributes.progress: {
"type": Platform.SENSOR,
"translation_key": "progress",
"name": "Progress",
"icon": "mdi:rotate-360",
},
DAAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
DAAttributes.start: {
"type": Platform.SWITCH,
"translation_key": "start",
"name": "Start",
"icon": "mdi:motion-play-outline",
},
},
},
0xDB: {
"name": "Front Load Washer",
"entities": {
DBAttributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
DBAttributes.progress: {
"type": Platform.SENSOR,
"translation_key": "progress",
"name": "Progress",
"icon": "mdi:rotate-360",
},
DBAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
DBAttributes.start: {
"type": Platform.SWITCH,
"translation_key": "start",
"name": "Start",
"icon": "mdi:motion-play-outline",
},
DBAttributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:auto-mode",
},
DBAttributes.mode: {
"type": Platform.SENSOR,
"translation_key": "mode",
"name": "Mode",
"icon": "mdi:auto-mode",
},
DBAttributes.dehydration_speed: {
"type": Platform.SENSOR,
"translation_key": "dehydration_speed",
"name": "Dehydration Speed",
"icon": "mdi:speedometer",
},
DBAttributes.water_level: {
"type": Platform.SENSOR,
"translation_key": "water_level",
"name": "Water Level",
"icon": "mdi:cup-water",
},
DBAttributes.program: {
"type": Platform.SENSOR,
"translation_key": "program",
"name": "Program",
"icon": "mdi:washing-machine",
},
DBAttributes.temperature: {
"type": Platform.SENSOR,
"translation_key": "temperature",
"name": "Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
DBAttributes.detergent: {
"type": Platform.SENSOR,
"translation_key": "detergent",
"name": "Detergent",
"icon": "mdi:water",
},
DBAttributes.softener: {
"type": Platform.SENSOR,
"translation_key": "softener",
"name": "Softener",
"icon": "mdi:water-outline",
},
DBAttributes.wash_time: {
"type": Platform.SENSOR,
"translation_key": "wash_time",
"name": "Wash Time",
"icon": "mdi:dishwasher",
},
DBAttributes.dehydration_time: {
"type": Platform.SENSOR,
"translation_key": "dehydration_time",
"name": "Dehydration Time",
"icon": "mdi:dishwasher",
},
DBAttributes.wash_time_value: {
"type": Platform.SENSOR,
"translation_key": "wash_time_value",
"name": "Wash Time Value",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
DBAttributes.dehydration_time_value: {
"type": Platform.SENSOR,
"translation_key": "dehydration_time_value",
"name": "Dehydration Time Value",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
DBAttributes.stains: {
"type": Platform.SENSOR,
"translation_key": "stains",
"name": "Stains",
"icon": "mdi:water-outline",
},
DBAttributes.dirty_degree: {
"type": Platform.SENSOR,
"translation_key": "dirty_degree",
"name": "Dirty_degree",
"icon": "mdi:water-outline",
},
},
},
0xDC: {
"name": "Clothes Dryer",
"entities": {
DCAttributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
DCAttributes.progress: {
"type": Platform.SENSOR,
"translation_key": "progress",
"name": "Progress",
"icon": "mdi:rotate-360",
},
DCAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
DCAttributes.start: {
"type": Platform.SWITCH,
"translation_key": "start",
"name": "Start",
"icon": "mdi:motion-play-outline",
},
DCAttributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:auto-mode",
},
DCAttributes.program: {
"type": Platform.SENSOR,
"translation_key": "program",
"name": "Program",
"icon": "mdi:washing-machine",
},
DCAttributes.dry_temperature: {
"type": Platform.SENSOR,
"translation_key": "dry_temperature",
"name": "Dry Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
DCAttributes.intensity: {
"type": Platform.SENSOR,
"translation_key": "intensity",
"name": "Intensity",
"icon": "mdi:waves-arrow-up",
},
DCAttributes.dryness_level: {
"type": Platform.SENSOR,
"translation_key": "dryness_level",
"name": "Dryness Level",
"icon": "mdi:spirit-level",
},
DCAttributes.error_code: {
"type": Platform.SENSOR,
"translation_key": "error_code",
"name": "Error Code",
"icon": "mdi:code-block-tags",
},
DCAttributes.door_warn: {
"type": Platform.SENSOR,
"translation_key": "door_warn",
"name": "Door Warn",
"icon": "mdi:alert-box",
},
DCAttributes.ai_switch: {
"type": Platform.SENSOR,
"translation_key": "ai_switch",
"name": "AI Switch",
"icon": "mdi:toggle-switch",
},
DCAttributes.material: {
"type": Platform.SENSOR,
"translation_key": "material",
"name": "Material",
"icon": "mdi:material-design",
},
DCAttributes.water_box: {
"type": Platform.SENSOR,
"translation_key": "water_box",
"name": "Water Box",
"icon": "mdi:cup-water",
},
},
},
0xE1: {
"name": "Dishwasher",
"entities": {
E1Attributes.door: {
"type": Platform.BINARY_SENSOR,
"name": "Door",
"icon": "mdi:box-shadow",
"device_class": BinarySensorDeviceClass.DOOR,
},
E1Attributes.rinse_aid: {
"type": Platform.BINARY_SENSOR,
"translation_key": "rinse_aid",
"name": "Rinse Aid Shortage",
"icon": "mdi:bottle-tonic",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
E1Attributes.salt: {
"type": Platform.BINARY_SENSOR,
"translation_key": "salt",
"name": "Salt Shortage",
"icon": "mdi:drag",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
E1Attributes.humidity: {
"type": Platform.SENSOR,
"name": "Humidity",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
E1Attributes.progress: {
"type": Platform.SENSOR,
"translation_key": "progress",
"name": "Progress",
"icon": "mdi:rotate-360",
},
E1Attributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:information",
},
E1Attributes.storage_remaining: {
"type": Platform.SENSOR,
"translation_key": "storage_remaining",
"name": "Storage Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.HOURS,
"state_class": SensorStateClass.MEASUREMENT,
},
E1Attributes.temperature: {
"type": Platform.SENSOR,
"name": "Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
E1Attributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
E1Attributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
E1Attributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
E1Attributes.storage: {
"type": Platform.SWITCH,
"translation_key": "storage",
"name": "Storage",
"icon": "mdi:repeat-variant",
},
"start": {
"type": Platform.BUTTON,
"translation_key": "start",
"name": "Start",
"icon": "mdi:play",
"set_message": "e1_start",
"available_power_attribute": E1Attributes.power,
"models": ["7600024L"],
"default": True,
},
E1Attributes.mode: {
"type": Platform.SENSOR,
"translation_key": "mode",
"name": "Working Mode",
"icon": "mdi:dishwasher",
},
"mode_select": {
"type": Platform.SELECT,
"attribute": E1Attributes.mode,
"translation_key": "wash_mode",
"name": "Wash Mode",
"options_dict": "modes",
"options_codes_by_model": {
"7600024L": [13, 4, 8, 6, 2, 11, 10],
},
"set_message": "e1_work_mode",
"available_power_attribute": E1Attributes.power,
"icon": "mdi:dishwasher",
"default": True,
},
"estimated_energy_consumption": {
"type": Platform.SENSOR,
"translation_key": "estimated_energy_consumption",
"name": "Estimated Energy Consumption",
"icon": "mdi:lightning-bolt",
"device_class": SensorDeviceClass.ENERGY,
"unit": UnitOfEnergy.KILO_WATT_HOUR,
"state_class": SensorStateClass.TOTAL_INCREASING,
"estimate": {
"kind": "energy",
"values": {
"Germ": 0.765,
"ECO Wash": 0.99,
"Strong Wash": 1.28,
"Hour Wash": 0.91,
"Soak Wash": 0.02,
"Self Clean": 1.524,
"Fruit Wash": 1.625,
},
},
"models": ["7600024L"],
"default": True,
},
"estimated_water_consumption": {
"type": Platform.SENSOR,
"translation_key": "estimated_water_consumption",
"name": "Estimated Water Consumption",
"icon": "mdi:water",
"device_class": SensorDeviceClass.WATER,
"unit": UnitOfVolume.LITERS,
"state_class": SensorStateClass.TOTAL_INCREASING,
"estimate": {
"kind": "water",
"values": {
"Germ": 9.9,
"ECO Wash": 10.4,
"Strong Wash": 13.9,
"Hour Wash": 10.4,
"Soak Wash": 3.4,
"Self Clean": 10.3,
"Fruit Wash": 13.3,
},
},
"models": ["7600024L"],
"default": True,
},
E1Attributes.error_code: {
"type": Platform.SENSOR,
"translation_key": "error_code",
"name": "Error Code",
"icon": "mdi:alert-box",
},
E1Attributes.softwater: {
"type": Platform.SENSOR,
"translation_key": "softwater",
"name": "Softwater Level",
"icon": "mdi:shaker-outline",
},
E1Attributes.bright: {
"type": Platform.SENSOR,
"translation_key": "bright",
"name": "Bright Level",
"icon": "mdi:star-four-points",
},
},
},
0xE2: {
"name": "Electric Water Heater",
"entities": {
"water_heater": {
"type": Platform.WATER_HEATER,
"icon": "mdi:meter-electric-outline",
"default": True,
},
E2Attributes.heating: {
"type": Platform.BINARY_SENSOR,
"translation_key": "heating",
"name": "Heating",
"icon": "mdi:heat-wave",
"device_class": BinarySensorDeviceClass.RUNNING,
},
E2Attributes.keep_warm: {
"type": Platform.BINARY_SENSOR,
"translation_key": "keep_warm",
"name": "Keep Warm",
"icon": "mdi:menu",
"device_class": BinarySensorDeviceClass.RUNNING,
},
E2Attributes.protection: {
"type": Platform.BINARY_SENSOR,
"translation_key": "protection",
"name": "Protection",
"icon": "mdi:shield-check",
"device_class": BinarySensorDeviceClass.RUNNING,
},
E2Attributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
E2Attributes.heating_time_remaining: {
"type": Platform.SENSOR,
"translation_key": "heating_time_remaining",
"name": "Heating Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
E2Attributes.heating_power: {
"type": Platform.SENSOR,
"translation_key": "heating_power",
"name": "Heating Power",
"device_class": SensorDeviceClass.POWER,
"unit": UnitOfPower.WATT,
"state_class": SensorStateClass.MEASUREMENT,
},
E2Attributes.water_consumption: {
"type": Platform.SENSOR,
"translation_key": "water_consumption",
"name": "Water Consumption",
"icon": "mdi:water",
"unit": UnitOfVolume.LITERS,
"state_class": SensorStateClass.TOTAL_INCREASING,
},
E2Attributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
E2Attributes.variable_heating: {
"type": Platform.SWITCH,
"translation_key": "variable_heating",
"name": "Variable Heating",
"icon": "mdi:waves",
},
E2Attributes.whole_tank_heating: {
"type": Platform.SWITCH,
"translation_key": "whole_tank_heating",
"name": "Whole Tank Heating",
"icon": "mdi:restore",
},
E2Attributes.sterilization: {
"type": Platform.SWITCH,
"translation_key": "sterilization",
"name": "Sterilization",
"icon": "mdi:bacteria",
},
E2Attributes.memory: {
"type": Platform.SWITCH,
"translation_key": "memory",
"name": "Memo U",
"icon": "mdi:brain",
},
},
},
0xE3: {
"name": "Gas Water Heater",
"entities": {
"water_heater": {
"type": Platform.WATER_HEATER,
"icon": "mdi:meter-gas",
"default": True,
},
E3Attributes.burning_state: {
"type": Platform.BINARY_SENSOR,
"translation_key": "burning_state",
"name": "Burning State",
"icon": "mdi:fire",
"device_class": BinarySensorDeviceClass.RUNNING,
},
E3Attributes.protection: {
"type": Platform.BINARY_SENSOR,
"translation_key": "protection",
"name": "Protection",
"icon": "mdi:shield-check",
"device_class": BinarySensorDeviceClass.RUNNING,
},
E3Attributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
E3Attributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
E3Attributes.smart_volume: {
"type": Platform.SWITCH,
"translation_key": "smart_volume",
"name": "Smart Volume",
"icon": "mdi:recycle",
},
E3Attributes.zero_cold_water: {
"type": Platform.SWITCH,
"translation_key": "zero_cold_water",
"name": "Zero Cold Water",
"icon": "mdi:restore",
},
E3Attributes.zero_cold_pulse: {
"type": Platform.SWITCH,
"translation_key": "zero_cold_pulse",
"name": "Zero Cold Water (Pulse)",
"icon": "mdi:restore-alert",
},
},
},
0xE6: {
"name": "Gas Boilers",
"entities": {
"water_heater_heating": {
"type": Platform.WATER_HEATER,
"translation_key": "heating",
"name": "Heating",
"icon": "mdi:meter-gas",
"use": 0,
"default": True,
},
"water_heater_bathing": {
"type": Platform.WATER_HEATER,
"translation_key": "bathing",
"name": "Bathing",
"icon": "mdi:meter-gas",
"use": 1,
"default": True,
},
E6Attributes.heating_working: {
"type": Platform.BINARY_SENSOR,
"translation_key": "heating_working",
"name": "Heating Working Status",
"icon": "mdi:fire",
"device_class": BinarySensorDeviceClass.RUNNING,
},
E6Attributes.bathing_working: {
"type": Platform.BINARY_SENSOR,
"translation_key": "bathing_working",
"name": "Bathing Working Status",
"icon": "mdi:fire",
"device_class": BinarySensorDeviceClass.RUNNING,
},
E6Attributes.heating_leaving_temperature: {
"type": Platform.SENSOR,
"translation_key": "heating_leaving_temperature",
"name": "Heating Leaving Water Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
E6Attributes.bathing_leaving_temperature: {
"type": Platform.SENSOR,
"translation_key": "bathing_leaving_temperature",
"name": "Bathing Leaving Water Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
E6Attributes.main_power: {
"type": Platform.SWITCH,
"translation_key": "main_power",
"name": "Main Power",
"icon": "mdi:power",
},
E6Attributes.heating_power: {
"type": Platform.SWITCH,
"translation_key": "heating_power",
"name": "Heating Power",
"icon": "mdi:heating-coil",
},
E6Attributes.cold_water_single: {
"type": Platform.SWITCH,
"translation_key": "cold_water_single",
"name": "Cold Water Single",
"icon": "mdi:water",
},
E6Attributes.cold_water_dot: {
"type": Platform.SWITCH,
"translation_key": "cold_water_dot",
"name": "Cold Water Dot",
"icon": "mdi:water-outline",
},
E6Attributes.heating_modes: {
"type": Platform.SELECT,
"translation_key": "mode",
"options": "heating_modes",
"name": "Heating Modes",
"icon": "mdi:auto-mode",
},
},
},
0xE8: {
"name": "Electric Slow Cooker",
"entities": {
E8Attributes.finished: {
"type": Platform.BINARY_SENSOR,
"translation_key": "finished",
"name": "Finished",
},
E8Attributes.water_shortage: {
"type": Platform.BINARY_SENSOR,
"translation_key": "water_shortage",
"name": "Water Shortage",
"icon": "mdi:drag",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
E8Attributes.status: {
"type": Platform.SENSOR,
"translation_key": "status",
"name": "Status",
"icon": "mdi:information",
},
E8Attributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
E8Attributes.keep_warm_remaining: {
"type": Platform.SENSOR,
"translation_key": "keep_warm_remaining",
"name": "Keep Warm Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
E8Attributes.working_time: {
"type": Platform.SENSOR,
"translation_key": "working_time",
"name": "Working Time",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
E8Attributes.target_temperature: {
"type": Platform.SENSOR,
"translation_key": "target_temperature",
"name": "Target Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
E8Attributes.current_temperature: {
"type": Platform.SENSOR,
"translation_key": "current_temperature",
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xEA: {
"name": "Electric Rice Cooker",
"entities": {
EAAttributes.cooking: {
"type": Platform.BINARY_SENSOR,
"translation_key": "cooking",
"name": "Cooking",
"icon": "mdi:fire",
"device_class": BinarySensorDeviceClass.RUNNING,
},
EAAttributes.keep_warm: {
"type": Platform.BINARY_SENSOR,
"translation_key": "keep_warm",
"name": "Keep Warm",
"icon": "mdi:menu",
"device_class": BinarySensorDeviceClass.RUNNING,
},
EAAttributes.bottom_temperature: {
"type": Platform.SENSOR,
"translation_key": "bottom_temperature",
"name": "Bottom Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
EAAttributes.keep_warm_time: {
"type": Platform.SENSOR,
"translation_key": "keep_warm_time",
"name": "Keep Warm Time",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
EAAttributes.mode: {
"type": Platform.SENSOR,
"translation_key": "mode",
"name": "Mode",
"icon": "mdi:orbit",
},
EAAttributes.progress: {
"type": Platform.SENSOR,
"translation_key": "progress",
"name": "Progress",
"icon": "mdi:rotate-360",
},
EAAttributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
EAAttributes.top_temperature: {
"type": Platform.SENSOR,
"translation_key": "top_temperature",
"name": "Top Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xEC: {
"name": "Electric Pressure Cooker",
"entities": {
ECAttributes.cooking: {
"type": Platform.BINARY_SENSOR,
"translation_key": "cooking",
"name": "Cooking",
"icon": "mdi:fire",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ECAttributes.with_pressure: {
"type": Platform.BINARY_SENSOR,
"translation_key": "with_pressure",
"name": "With Pressure",
"icon": "mdi:information",
"device_class": BinarySensorDeviceClass.RUNNING,
},
ECAttributes.bottom_temperature: {
"type": Platform.SENSOR,
"translation_key": "bottom_temperature",
"name": "Bottom Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
ECAttributes.keep_warm_time: {
"type": Platform.SENSOR,
"translation_key": "keep_warm_time",
"name": "Keep Warm Time",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
ECAttributes.mode: {
"type": Platform.SENSOR,
"translation_key": "mode",
"name": "Mode",
"icon": "mdi:orbit",
},
ECAttributes.progress: {
"type": Platform.SENSOR,
"translation_key": "progress",
"name": "Progress",
"icon": "mdi:rotate-360",
},
ECAttributes.time_remaining: {
"type": Platform.SENSOR,
"translation_key": "time_remaining",
"name": "Time Remaining",
"icon": "mdi:progress-clock",
"unit": UnitOfTime.MINUTES,
"state_class": SensorStateClass.MEASUREMENT,
},
ECAttributes.top_temperature: {
"type": Platform.SENSOR,
"translation_key": "top_temperature",
"name": "Top Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xED: {
"name": "Water Drinking Appliance",
"entities": {
EDAttributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
EDAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
EDAttributes.filter1: {
"type": Platform.SENSOR,
"translation_key": "filter1_days",
"name": "Filter1 Available Days",
"icon": "mdi:air-filter",
"unit": UnitOfTime.DAYS,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.filter2: {
"type": Platform.SENSOR,
"translation_key": "filter2_days",
"name": "Filter2 Available Days",
"icon": "mdi:air-filter",
"unit": UnitOfTime.DAYS,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.filter3: {
"type": Platform.SENSOR,
"translation_key": "filter3_days",
"name": "Filter3 Available Days",
"icon": "mdi:air-filter",
"unit": UnitOfTime.DAYS,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.life1: {
"type": Platform.SENSOR,
"translation_key": "filter1_life",
"name": "Filter1 Life Level",
"icon": "mdi:percent",
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.life2: {
"type": Platform.SENSOR,
"translation_key": "filter2_life",
"name": "Filter2 Life Level",
"icon": "mdi:percent",
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.life3: {
"type": Platform.SENSOR,
"translation_key": "filter3_life",
"name": "Filter3 Life Level",
"icon": "mdi:percent",
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.in_tds: {
"type": Platform.SENSOR,
"translation_key": "in_tds",
"name": "In TDS",
"icon": "mdi:water",
"unit": CONCENTRATION_PARTS_PER_MILLION,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.out_tds: {
"type": Platform.SENSOR,
"translation_key": "out_tds",
"name": "Out TDS",
"icon": "mdi:water-plus",
"unit": CONCENTRATION_PARTS_PER_MILLION,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.water_consumption: {
"type": Platform.SENSOR,
"translation_key": "water_consumption",
"name": "Water Consumption",
"icon": "mdi:water-pump",
"unit": UnitOfVolume.LITERS,
"state_class": SensorStateClass.TOTAL_INCREASING,
},
# Soft water machine (water softener) entities
EDAttributes.soften: {
"type": Platform.SWITCH,
"translation_key": "soften",
"name": "Softening",
"icon": "mdi:water-outline",
},
EDAttributes.cl_sterilization: {
"type": Platform.SWITCH,
"translation_key": "cl_sterilization",
"name": "CL Sterilization",
"icon": "mdi:bacteria",
},
EDAttributes.leak_water_protection: {
"type": Platform.SWITCH,
"translation_key": "leak_water_protection",
"name": "Leak Water Protection",
"icon": "mdi:water-alert",
},
EDAttributes.water_way: {
"type": Platform.SWITCH,
"translation_key": "water_way",
"name": "Water Way",
"icon": "mdi:pipe",
},
EDAttributes.regeneration: {
"type": Platform.SWITCH,
"translation_key": "regeneration",
"name": "Regeneration",
"icon": "mdi:refresh",
},
EDAttributes.velocity: {
"type": Platform.SENSOR,
"translation_key": "velocity",
"name": "Velocity",
"icon": "mdi:speedometer",
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.soft_available: {
"type": Platform.SENSOR,
"translation_key": "soft_available",
"name": "Soft Water Available",
"icon": "mdi:water-check",
"unit": UnitOfVolume.LITERS,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.left_salt: {
"type": Platform.SENSOR,
"translation_key": "left_salt",
"name": "Left Salt",
"icon": "mdi:shaker",
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.remaining_days: {
"type": Platform.SENSOR,
"translation_key": "remaining_days",
"name": "Remaining Days",
"icon": "mdi:calendar-clock",
"unit": UnitOfTime.DAYS,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.water_hardness: {
"type": Platform.NUMBER,
"translation_key": "water_hardness",
"name": "Water Hardness",
"icon": "mdi:water",
"min": 0,
"max": 65535,
"step": 1,
},
EDAttributes.flushing_days: {
"type": Platform.NUMBER,
"translation_key": "flushing_days",
"name": "Flushing Days",
"icon": "mdi:water",
"unit": UnitOfTime.DAYS,
"min": 0,
"max": 99,
"step": 1,
},
EDAttributes.timing_regeneration_hour: {
"type": Platform.TIME,
"translation_key": "timing_regeneration",
"name": "Timing Regeneration",
"icon": "mdi:clock-outline",
},
EDAttributes.regeneration_left_seconds: {
"type": Platform.SENSOR,
"translation_key": "regeneration_left_seconds",
"name": "Regeneration Left Seconds",
"icon": "mdi:timer",
"unit": UnitOfTime.SECONDS,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.use_days: {
"type": Platform.SENSOR,
"translation_key": "use_days",
"name": "Use Days",
"icon": "mdi:calendar",
"unit": UnitOfTime.DAYS,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.salt_setting: {
"type": Platform.SENSOR,
"translation_key": "salt_setting",
"name": "Salt Setting",
"icon": "mdi:shaker-outline",
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.water_consumption_big: {
"type": Platform.SENSOR,
"translation_key": "water_consumption_big",
"name": "Water Consumption",
"icon": "mdi:water-pump",
"unit": UnitOfVolume.LITERS,
"state_class": SensorStateClass.TOTAL_INCREASING,
"suggested_display_precision": 2,
},
EDAttributes.water_consumption_average: {
"type": Platform.SENSOR,
"translation_key": "water_consumption_average",
"name": "Water Consumption Average",
"icon": "mdi:water",
"unit": UnitOfVolume.LITERS,
"state_class": SensorStateClass.MEASUREMENT,
},
EDAttributes.leak_water_protection_value: {
"type": Platform.NUMBER,
"translation_key": "leak_water_protection_value",
"name": "Leak Water Protection Value",
"icon": "mdi:water-alert-outline",
"unit": UnitOfVolume.LITERS,
"min": 0,
"max": 2550,
"step": 50,
},
EDAttributes.leak_water: {
"type": Platform.BINARY_SENSOR,
"translation_key": "leak_water",
"name": "Leak Water",
"icon": "mdi:water-alert",
"device_class": BinarySensorDeviceClass.PROBLEM,
},
EDAttributes.rsj_stand_by: {
"type": Platform.BINARY_SENSOR,
"translation_key": "rsj_stand_by",
"name": "Stand By",
"icon": "mdi:power-standby",
},
EDAttributes.error: {
"type": Platform.SENSOR,
"translation_key": "error",
"name": "Error",
"icon": "mdi:alert-circle",
"device_class": SensorDeviceClass.ENUM,
# Soft water machine (deviceKind=9/10, subtype 703) error codes
# Source: weex.js error dictionary "a"
"options": {
0: "no_error",
1: "e1_position_not_found",
2: "e2_photo_sensor_no_signal",
3: "e3_motor_not_running",
4: "e4_wrong_position",
225: "e1_motor_fault",
229: "e5_communication_fault",
230: "e6_salt_sensor_fault",
231: "e7_chlorine_sterilization_fault",
},
},
},
},
0xFA: {
"name": "Fan",
"entities": {
"fan": {
"type": Platform.FAN,
"icon": "mdi:fan",
"default": True,
},
FAAttributes.oscillation_mode: {
"type": Platform.SELECT,
"translation_key": "oscillation_mode",
"name": "Oscillation Mode",
"options": "oscillation_modes",
"icon": "mdi:swap-horizontal-variant",
},
FAAttributes.oscillation_angle: {
"type": Platform.SELECT,
"translation_key": "oscillation_angle",
"name": "Oscillation Angle",
"options": "oscillation_angles",
"icon": "mdi:pan-horizontal",
},
FAAttributes.tilting_angle: {
"type": Platform.SELECT,
"translation_key": "tilting_angle",
"name": "Tilting Angle",
"options": "tilting_angles",
"icon": "mdi:pan-vertical",
},
FAAttributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
FAAttributes.oscillate: {
"type": Platform.SWITCH,
"translation_key": "oscillate",
"name": "Oscillate",
"icon": "mdi:swap-horizontal-bold",
},
FAAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
},
},
0xFB: {
"name": "Electric Heater",
"entities": {
"climate": {
"type": Platform.CLIMATE,
"icon": "mdi:air-conditioner",
"default": True,
},
FBAttributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
FBAttributes.heating_level: {
"type": Platform.NUMBER,
"translation_key": "heating_level",
"name": "Heating Level",
"icon": "mdi:fire",
"max": 10,
"min": 1,
"step": 1,
},
FBAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
FBAttributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xFC: {
"name": "Air Purifier",
"entities": {
FCAttributes.child_lock: {
"type": Platform.LOCK,
"translation_key": "child_lock",
"name": "Child Lock",
},
FCAttributes.anion: {
"type": Platform.SWITCH,
"translation_key": "anion",
"name": "Anion",
"icon": "mdi:vanish",
},
FCAttributes.prompt_tone: {
"type": Platform.SWITCH,
"translation_key": "prompt_tone",
"name": "Prompt Tone",
"icon": "mdi:bell",
},
FCAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
FCAttributes.standby: {
"type": Platform.SWITCH,
"translation_key": "standby",
"name": "Standby",
"icon": "mdi:smoke-detector-variant",
},
FCAttributes.detect_mode: {
"type": Platform.SELECT,
"translation_key": "detect_mode",
"name": "Detect Mode",
"options": "detect_modes",
"icon": "mdi:smoke-detector-variant",
},
FCAttributes.mode: {
"type": Platform.SELECT,
"translation_key": "mode",
"name": "Mode",
"options": "modes",
"icon": "mdi:rotate-360",
},
FCAttributes.fan_speed: {
"type": Platform.SELECT,
"translation_key": "fan_speed",
"name": "Fan Speed",
"options": "fan_speeds",
"icon": "mdi:fan",
},
FCAttributes.screen_display: {
"type": Platform.SELECT,
"translation_key": "screen_display",
"name": "Screen Display",
"options": "screen_displays",
"icon": "mdi:television-ambient-light",
},
FCAttributes.pm25: {
"type": Platform.SENSOR,
"name": "PM 2.5",
"device_class": SensorDeviceClass.PM25,
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
"state_class": SensorStateClass.MEASUREMENT,
},
FCAttributes.tvoc: {
"type": Platform.SENSOR,
"translation_key": "tvoc",
"name": "TVOC",
"icon": "mdi:heat-wave",
"unit": CONCENTRATION_PARTS_PER_MILLION,
"state_class": SensorStateClass.MEASUREMENT,
},
FCAttributes.hcho: {
"type": Platform.SENSOR,
"translation_key": "hcho",
"name": "Methanal",
"icon": "mdi:molecule",
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
"state_class": SensorStateClass.MEASUREMENT,
},
FCAttributes.filter1_life: {
"type": Platform.SENSOR,
"translation_key": "filter1_life",
"name": "Filter1 Life Level",
"icon": "mdi:air-filter",
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
FCAttributes.filter2_life: {
"type": Platform.SENSOR,
"translation_key": "filter2_life",
"name": "Filter2 Life Level",
"icon": "mdi:air-filter",
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
0xFD: {
"name": "Humidifier",
"entities": {
Platform.HUMIDIFIER: {
"type": Platform.HUMIDIFIER,
"icon": "mdi:air-humidifier",
"default": True,
},
FDAttributes.disinfect: {
"type": Platform.SWITCH,
"translation_key": "disinfect",
"name": "Disinfect",
"icon": "mdi:water-plus-outline",
},
FDAttributes.prompt_tone: {
"type": Platform.SWITCH,
"translation_key": "prompt_tone",
"name": "Prompt Tone",
"icon": "mdi:bell",
},
FDAttributes.power: {
"type": Platform.SWITCH,
"translation_key": "power",
"name": "Power",
"icon": "mdi:power",
},
FDAttributes.fan_speed: {
"type": Platform.SELECT,
"translation_key": "fan_speed",
"name": "Fan Speed",
"options": "fan_speeds",
"icon": "mdi:fan",
},
FDAttributes.screen_display: {
"type": Platform.SELECT,
"translation_key": "screen_display",
"name": "Screen Display",
"options": "screen_displays",
"icon": "mdi:television-ambient-light",
},
FDAttributes.current_humidity: {
"type": Platform.SENSOR,
"name": "Current Humidity",
"device_class": SensorDeviceClass.HUMIDITY,
"unit": PERCENTAGE,
"state_class": SensorStateClass.MEASUREMENT,
},
FDAttributes.current_temperature: {
"type": Platform.SENSOR,
"name": "Current Temperature",
"device_class": SensorDeviceClass.TEMPERATURE,
"unit": UnitOfTemperature.CELSIUS,
"state_class": SensorStateClass.MEASUREMENT,
},
},
},
}