mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Add some more sensors to miele integration (#142979)
* Add some more sensors * Add some debug logging and correct spelling * Address review comments * Split out duration sensors to separate PR * Update strings * Filter program phases by device type * Update tests * Fix auto link * Address som of the comments * Lint * Lint * Remove duplicates from enum sensor options * Update snapshot * Sort options in enum sensors
This commit is contained in:
parent
1e880f7406
commit
da6fb91886
@ -10,15 +10,17 @@ POWER_ON = "powerOn"
|
|||||||
POWER_OFF = "powerOff"
|
POWER_OFF = "powerOff"
|
||||||
PROCESS_ACTION = "processAction"
|
PROCESS_ACTION = "processAction"
|
||||||
VENTILATION_STEP = "ventilationStep"
|
VENTILATION_STEP = "ventilationStep"
|
||||||
DISABLED_TEMP_ENTITIES = (
|
TARGET_TEMPERATURE = "targetTemperature"
|
||||||
-32768 / 100,
|
|
||||||
-32766 / 100,
|
|
||||||
)
|
|
||||||
AMBIENT_LIGHT = "ambientLight"
|
AMBIENT_LIGHT = "ambientLight"
|
||||||
LIGHT = "light"
|
LIGHT = "light"
|
||||||
LIGHT_ON = 1
|
LIGHT_ON = 1
|
||||||
LIGHT_OFF = 2
|
LIGHT_OFF = 2
|
||||||
|
|
||||||
|
DISABLED_TEMP_ENTITIES = (
|
||||||
|
-32768 / 100,
|
||||||
|
-32766 / 100,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class MieleAppliance(IntEnum):
|
class MieleAppliance(IntEnum):
|
||||||
"""Define appliance types."""
|
"""Define appliance types."""
|
||||||
@ -161,3 +163,933 @@ PROCESS_ACTIONS = {
|
|||||||
"start_supercooling": MieleActions.START_SUPERCOOL,
|
"start_supercooling": MieleActions.START_SUPERCOOL,
|
||||||
"stop_supercooling": MieleActions.STOP_SUPERCOOL,
|
"stop_supercooling": MieleActions.STOP_SUPERCOOL,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
STATE_PROGRAM_PHASE_WASHING_MACHINE = {
|
||||||
|
0: "not_running", # Returned by the API when the machine is switched off entirely.
|
||||||
|
256: "not_running",
|
||||||
|
257: "pre_wash",
|
||||||
|
258: "soak",
|
||||||
|
259: "pre_wash",
|
||||||
|
260: "main_wash",
|
||||||
|
261: "rinse",
|
||||||
|
262: "rinse_hold",
|
||||||
|
263: "cleaning",
|
||||||
|
264: "cooling_down",
|
||||||
|
265: "drain",
|
||||||
|
266: "spin",
|
||||||
|
267: "anti_crease",
|
||||||
|
268: "finished",
|
||||||
|
269: "venting",
|
||||||
|
270: "starch_stop",
|
||||||
|
271: "freshen_up_and_moisten",
|
||||||
|
272: "steam_smoothing",
|
||||||
|
279: "hygiene",
|
||||||
|
280: "drying",
|
||||||
|
285: "disinfecting",
|
||||||
|
295: "steam_smoothing",
|
||||||
|
65535: "not_running", # Seems to be default for some devices.
|
||||||
|
}
|
||||||
|
|
||||||
|
STATE_PROGRAM_PHASE_TUMBLE_DRYER = {
|
||||||
|
0: "not_running",
|
||||||
|
512: "not_running",
|
||||||
|
513: "program_running",
|
||||||
|
514: "drying",
|
||||||
|
515: "machine_iron",
|
||||||
|
516: "hand_iron_2",
|
||||||
|
517: "normal",
|
||||||
|
518: "normal_plus",
|
||||||
|
519: "cooling_down",
|
||||||
|
520: "hand_iron_1",
|
||||||
|
521: "anti_crease",
|
||||||
|
522: "finished",
|
||||||
|
523: "extra_dry",
|
||||||
|
524: "hand_iron",
|
||||||
|
526: "moisten",
|
||||||
|
527: "thermo_spin",
|
||||||
|
528: "timed_drying",
|
||||||
|
529: "warm_air",
|
||||||
|
530: "steam_smoothing",
|
||||||
|
531: "comfort_cooling",
|
||||||
|
532: "rinse_out_lint",
|
||||||
|
533: "rinses",
|
||||||
|
535: "not_running",
|
||||||
|
534: "smoothing",
|
||||||
|
536: "not_running",
|
||||||
|
537: "not_running",
|
||||||
|
538: "slightly_dry",
|
||||||
|
539: "safety_cooling",
|
||||||
|
65535: "not_running",
|
||||||
|
}
|
||||||
|
|
||||||
|
STATE_PROGRAM_PHASE_DISHWASHER = {
|
||||||
|
1792: "not_running",
|
||||||
|
1793: "reactivating",
|
||||||
|
1794: "pre_dishwash",
|
||||||
|
1795: "main_dishwash",
|
||||||
|
1796: "rinse",
|
||||||
|
1797: "interim_rinse",
|
||||||
|
1798: "final_rinse",
|
||||||
|
1799: "drying",
|
||||||
|
1800: "finished",
|
||||||
|
1801: "pre_dishwash",
|
||||||
|
65535: "not_running",
|
||||||
|
}
|
||||||
|
|
||||||
|
STATE_PROGRAM_PHASE_OVEN = {
|
||||||
|
0: "not_running",
|
||||||
|
3073: "heating_up",
|
||||||
|
3074: "process_running",
|
||||||
|
3078: "process_finished",
|
||||||
|
3084: "energy_save",
|
||||||
|
65535: "not_running",
|
||||||
|
}
|
||||||
|
STATE_PROGRAM_PHASE_WARMING_DRAWER = {
|
||||||
|
0: "not_running",
|
||||||
|
3075: "door_open",
|
||||||
|
3094: "keeping_warm",
|
||||||
|
3088: "cooling_down",
|
||||||
|
65535: "not_running",
|
||||||
|
}
|
||||||
|
STATE_PROGRAM_PHASE_MICROWAVE = {
|
||||||
|
0: "not_running",
|
||||||
|
3329: "heating",
|
||||||
|
3330: "process_running",
|
||||||
|
3334: "process_finished",
|
||||||
|
3340: "energy_save",
|
||||||
|
65535: "not_running",
|
||||||
|
}
|
||||||
|
STATE_PROGRAM_PHASE_COFFEE_SYSTEM = {
|
||||||
|
# Coffee system
|
||||||
|
3073: "heating_up",
|
||||||
|
4352: "not_running",
|
||||||
|
4353: "espresso",
|
||||||
|
4355: "milk_foam",
|
||||||
|
4361: "dispensing",
|
||||||
|
4369: "pre_brewing",
|
||||||
|
4377: "grinding",
|
||||||
|
4401: "2nd_grinding",
|
||||||
|
4354: "hot_milk",
|
||||||
|
4393: "2nd_pre_brewing",
|
||||||
|
4385: "2nd_espresso",
|
||||||
|
4404: "dispensing",
|
||||||
|
4405: "rinse",
|
||||||
|
65535: "not_running",
|
||||||
|
}
|
||||||
|
STATE_PROGRAM_PHASE_ROBOT_VACUUM_CLEANER = {
|
||||||
|
0: "not_running",
|
||||||
|
5889: "vacuum_cleaning",
|
||||||
|
5890: "returning",
|
||||||
|
5891: "vacuum_cleaning_paused",
|
||||||
|
5892: "going_to_target_area",
|
||||||
|
5893: "wheel_lifted", # F1
|
||||||
|
5894: "dirty_sensors", # F2
|
||||||
|
5895: "dust_box_missing", # F3
|
||||||
|
5896: "blocked_drive_wheels", # F4
|
||||||
|
5897: "blocked_brushes", # F5
|
||||||
|
5898: "motor_overload", # F6
|
||||||
|
5899: "internal_fault", # F7
|
||||||
|
5900: "blocked_front_wheel", # F8
|
||||||
|
5903: "docked",
|
||||||
|
5904: "docked",
|
||||||
|
5910: "remote_controlled",
|
||||||
|
65535: "not_running",
|
||||||
|
}
|
||||||
|
STATE_PROGRAM_PHASE_MICROWAVE_OVEN_COMBO = {
|
||||||
|
0: "not_running",
|
||||||
|
3863: "steam_reduction",
|
||||||
|
7938: "process_running",
|
||||||
|
7939: "waiting_for_start",
|
||||||
|
7940: "heating_up_phase",
|
||||||
|
7942: "process_finished",
|
||||||
|
65535: "not_running",
|
||||||
|
}
|
||||||
|
|
||||||
|
STATE_PROGRAM_PHASE: dict[int, dict[int, str]] = {
|
||||||
|
MieleAppliance.WASHING_MACHINE: STATE_PROGRAM_PHASE_WASHING_MACHINE,
|
||||||
|
MieleAppliance.WASHING_MACHINE_SEMI_PROFESSIONAL: STATE_PROGRAM_PHASE_WASHING_MACHINE,
|
||||||
|
MieleAppliance.WASHING_MACHINE_PROFESSIONAL: STATE_PROGRAM_PHASE_WASHING_MACHINE,
|
||||||
|
MieleAppliance.TUMBLE_DRYER: STATE_PROGRAM_PHASE_TUMBLE_DRYER,
|
||||||
|
MieleAppliance.DRYER_PROFESSIONAL: STATE_PROGRAM_PHASE_TUMBLE_DRYER,
|
||||||
|
MieleAppliance.TUMBLE_DRYER_SEMI_PROFESSIONAL: STATE_PROGRAM_PHASE_TUMBLE_DRYER,
|
||||||
|
MieleAppliance.DISHWASHER: STATE_PROGRAM_PHASE_DISHWASHER,
|
||||||
|
MieleAppliance.DISHWASHER_SEMI_PROFESSIONAL: STATE_PROGRAM_PHASE_DISHWASHER,
|
||||||
|
MieleAppliance.DISHWASHER_PROFESSIONAL: STATE_PROGRAM_PHASE_DISHWASHER,
|
||||||
|
MieleAppliance.OVEN: STATE_PROGRAM_PHASE_OVEN,
|
||||||
|
MieleAppliance.OVEN_MICROWAVE: STATE_PROGRAM_PHASE_MICROWAVE_OVEN_COMBO,
|
||||||
|
MieleAppliance.STEAM_OVEN: STATE_PROGRAM_PHASE_OVEN,
|
||||||
|
MieleAppliance.DIALOG_OVEN: STATE_PROGRAM_PHASE_OVEN,
|
||||||
|
MieleAppliance.MICROWAVE: STATE_PROGRAM_PHASE_MICROWAVE,
|
||||||
|
MieleAppliance.COFFEE_SYSTEM: STATE_PROGRAM_PHASE_COFFEE_SYSTEM,
|
||||||
|
MieleAppliance.ROBOT_VACUUM_CLEANER: STATE_PROGRAM_PHASE_ROBOT_VACUUM_CLEANER,
|
||||||
|
}
|
||||||
|
|
||||||
|
STATE_PROGRAM_TYPE = {
|
||||||
|
0: "normal_operation_mode",
|
||||||
|
1: "own_program",
|
||||||
|
2: "automatic_program",
|
||||||
|
3: "cleaning_care_program",
|
||||||
|
4: "maintenance_program",
|
||||||
|
}
|
||||||
|
|
||||||
|
WASHING_MACHINE_PROGRAM_ID: dict[int, str] = {
|
||||||
|
-1: "no_program", # Extrapolated from other device types.
|
||||||
|
0: "no_program", # Returned by the API when no program is selected.
|
||||||
|
1: "cottons",
|
||||||
|
3: "minimum_iron",
|
||||||
|
4: "delicates",
|
||||||
|
8: "woollens",
|
||||||
|
9: "silks",
|
||||||
|
17: "starch",
|
||||||
|
18: "rinse",
|
||||||
|
21: "drain_spin",
|
||||||
|
22: "curtains",
|
||||||
|
23: "shirts",
|
||||||
|
24: "denim",
|
||||||
|
27: "proofing",
|
||||||
|
29: "sportswear",
|
||||||
|
31: "automatic_plus",
|
||||||
|
37: "outerwear",
|
||||||
|
39: "pillows",
|
||||||
|
45: "cool_air", # washer-dryer
|
||||||
|
46: "warm_air", # washer-dryer
|
||||||
|
48: "rinse_out_lint", # washer-dryer
|
||||||
|
50: "dark_garments",
|
||||||
|
52: "separate_rinse_starch",
|
||||||
|
53: "first_wash",
|
||||||
|
69: "cottons_hygiene",
|
||||||
|
75: "steam_care", # washer-dryer
|
||||||
|
76: "freshen_up", # washer-dryer
|
||||||
|
77: "trainers",
|
||||||
|
91: "clean_machine",
|
||||||
|
95: "down_duvets",
|
||||||
|
122: "express_20",
|
||||||
|
123: "denim",
|
||||||
|
129: "down_filled_items",
|
||||||
|
133: "cottons_eco",
|
||||||
|
146: "quick_power_wash",
|
||||||
|
190: "eco_40_60",
|
||||||
|
}
|
||||||
|
|
||||||
|
DISHWASHER_PROGRAM_ID: dict[int, str] = {
|
||||||
|
-1: "no_program", # Sometimes returned by the API when the machine is switched off entirely, in conjunection with program phase 65535.
|
||||||
|
0: "no_program", # Returned by the API when the machine is switched off entirely.
|
||||||
|
1: "intensive",
|
||||||
|
2: "maintenance",
|
||||||
|
3: "eco",
|
||||||
|
6: "automatic",
|
||||||
|
7: "automatic",
|
||||||
|
9: "solar_save",
|
||||||
|
10: "gentle",
|
||||||
|
11: "extra_quiet",
|
||||||
|
12: "hygiene",
|
||||||
|
13: "quick_power_wash",
|
||||||
|
14: "pasta_paela",
|
||||||
|
17: "tall_items",
|
||||||
|
19: "glasses_warm",
|
||||||
|
26: "intensive",
|
||||||
|
27: "maintenance", # or maintenance_program?
|
||||||
|
28: "eco",
|
||||||
|
30: "normal",
|
||||||
|
31: "automatic",
|
||||||
|
32: "automatic", # sources disagree on ID
|
||||||
|
34: "solar_save",
|
||||||
|
35: "gentle",
|
||||||
|
36: "extra_quiet",
|
||||||
|
37: "hygiene",
|
||||||
|
38: "quick_power_wash",
|
||||||
|
42: "tall_items",
|
||||||
|
44: "power_wash",
|
||||||
|
}
|
||||||
|
TUMBLE_DRYER_PROGRAM_ID: dict[int, str] = {
|
||||||
|
-1: "no_program", # Extrapolated from other device types.
|
||||||
|
0: "no_program", # Extrapolated from other device types
|
||||||
|
10: "automatic_plus",
|
||||||
|
20: "cottons",
|
||||||
|
23: "cottons_hygiene",
|
||||||
|
30: "minimum_iron",
|
||||||
|
31: "gentle_minimum_iron",
|
||||||
|
40: "woollens_handcare",
|
||||||
|
50: "delicates",
|
||||||
|
60: "warm_air",
|
||||||
|
70: "cool_air",
|
||||||
|
80: "express",
|
||||||
|
90: "cottons",
|
||||||
|
100: "gentle_smoothing",
|
||||||
|
120: "proofing",
|
||||||
|
130: "denim",
|
||||||
|
131: "gentle_denim",
|
||||||
|
150: "sportswear",
|
||||||
|
160: "outerwear",
|
||||||
|
170: "silks_handcare",
|
||||||
|
190: "standard_pillows",
|
||||||
|
220: "basket_program",
|
||||||
|
240: "smoothing",
|
||||||
|
99001: "steam_smoothing",
|
||||||
|
99002: "bed_linen",
|
||||||
|
99003: "cottons_eco",
|
||||||
|
99004: "shirts",
|
||||||
|
99005: "large_pillows",
|
||||||
|
}
|
||||||
|
|
||||||
|
OVEN_PROGRAM_ID: dict[int, str] = {
|
||||||
|
-1: "no_program", # Extrapolated from other device types.
|
||||||
|
0: "no_program", # Extrapolated from other device types
|
||||||
|
1: "defrost",
|
||||||
|
6: "eco_fan_heat",
|
||||||
|
7: "auto_roast",
|
||||||
|
10: "full_grill",
|
||||||
|
11: "economy_grill",
|
||||||
|
13: "fan_plus",
|
||||||
|
14: "intensive_bake",
|
||||||
|
19: "microwave",
|
||||||
|
24: "conventional_heat",
|
||||||
|
25: "top_heat",
|
||||||
|
29: "fan_grill",
|
||||||
|
31: "bottom_heat",
|
||||||
|
35: "moisture_plus_auto_roast",
|
||||||
|
40: "moisture_plus_fan_plus",
|
||||||
|
74: "moisture_plus_intensive_bake",
|
||||||
|
76: "moisture_plus_conventional_heat",
|
||||||
|
49: "moisture_plus_fan_plus",
|
||||||
|
356: "defrost",
|
||||||
|
357: "drying",
|
||||||
|
358: "heat_crockery",
|
||||||
|
361: "steam_cooking",
|
||||||
|
362: "keeping_warm",
|
||||||
|
512: "1_tray",
|
||||||
|
513: "2_trays",
|
||||||
|
529: "baking_tray",
|
||||||
|
621: "prove_15_min",
|
||||||
|
622: "prove_30_min",
|
||||||
|
623: "prove_45_min",
|
||||||
|
99001: "steam_bake",
|
||||||
|
17003: "no_program",
|
||||||
|
}
|
||||||
|
DISH_WARMER_PROGRAM_ID: dict[int, str] = {
|
||||||
|
-1: "no_program",
|
||||||
|
0: "no_program",
|
||||||
|
1: "warm_cups_glasses",
|
||||||
|
2: "warm_dishes_plates",
|
||||||
|
3: "keep_warm",
|
||||||
|
4: "slow_roasting",
|
||||||
|
}
|
||||||
|
ROBOT_VACUUM_CLEANER_PROGRAM_ID: dict[int, str] = {
|
||||||
|
-1: "no_program", # Extrapolated from other device types
|
||||||
|
0: "no_program", # Extrapolated from other device types
|
||||||
|
1: "auto",
|
||||||
|
2: "spot",
|
||||||
|
3: "turbo",
|
||||||
|
4: "silent",
|
||||||
|
}
|
||||||
|
COFFEE_SYSTEM_PROGRAM_ID: dict[int, str] = {
|
||||||
|
-1: "no_program", # Extrapolated from other device types
|
||||||
|
0: "no_program", # Extrapolated from other device types
|
||||||
|
16016: "appliance_settings", # display brightness
|
||||||
|
16018: "appliance_settings", # volume
|
||||||
|
16019: "appliance_settings", # buttons volume
|
||||||
|
16020: "appliance_settings", # child lock
|
||||||
|
16021: "appliance_settings", # water hardness
|
||||||
|
16027: "appliance_settings", # welcome sound
|
||||||
|
16033: "appliance_settings", # connection status
|
||||||
|
16035: "appliance_settings", # remote control
|
||||||
|
16037: "appliance_settings", # remote update
|
||||||
|
17004: "check_appliance",
|
||||||
|
# profile 1
|
||||||
|
24000: "ristretto",
|
||||||
|
24001: "espresso",
|
||||||
|
24002: "coffee",
|
||||||
|
24003: "long_coffee",
|
||||||
|
24004: "cappuccino",
|
||||||
|
24005: "cappuccino_italiano",
|
||||||
|
24006: "latte_macchiato",
|
||||||
|
24007: "espresso_macchiato",
|
||||||
|
24008: "cafe_au_lait",
|
||||||
|
24009: "caffe_latte",
|
||||||
|
24012: "flat_white",
|
||||||
|
24013: "very_hot_water",
|
||||||
|
24014: "hot_water",
|
||||||
|
24015: "hot_milk",
|
||||||
|
24016: "milk_foam",
|
||||||
|
24017: "black_tea",
|
||||||
|
24018: "herbal_tea",
|
||||||
|
24019: "fruit_tea",
|
||||||
|
24020: "green_tea",
|
||||||
|
24021: "white_tea",
|
||||||
|
24022: "japanese_tea",
|
||||||
|
# profile 2
|
||||||
|
24032: "ristretto",
|
||||||
|
24033: "espresso",
|
||||||
|
24034: "coffee",
|
||||||
|
24035: "long_coffee",
|
||||||
|
24036: "cappuccino",
|
||||||
|
24037: "cappuccino_italiano",
|
||||||
|
24038: "latte_macchiato",
|
||||||
|
24039: "espresso_macchiato",
|
||||||
|
24040: "cafe_au_lait",
|
||||||
|
24041: "caffe_latte",
|
||||||
|
24044: "flat_white",
|
||||||
|
24045: "very_hot_water",
|
||||||
|
24046: "hot_water",
|
||||||
|
24047: "hot_milk",
|
||||||
|
24048: "milk_foam",
|
||||||
|
24049: "black_tea",
|
||||||
|
24050: "herbal_tea",
|
||||||
|
24051: "fruit_tea",
|
||||||
|
24052: "green_tea",
|
||||||
|
24053: "white_tea",
|
||||||
|
24054: "japanese_tea",
|
||||||
|
# profile 3
|
||||||
|
24064: "ristretto",
|
||||||
|
24065: "espresso",
|
||||||
|
24066: "coffee",
|
||||||
|
24067: "long_coffee",
|
||||||
|
24068: "cappuccino",
|
||||||
|
24069: "cappuccino_italiano",
|
||||||
|
24070: "latte_macchiato",
|
||||||
|
24071: "espresso_macchiato",
|
||||||
|
24072: "cafe_au_lait",
|
||||||
|
24073: "caffe_latte",
|
||||||
|
24076: "flat_white",
|
||||||
|
24077: "very_hot_water",
|
||||||
|
24078: "hot_water",
|
||||||
|
24079: "hot_milk",
|
||||||
|
24080: "milk_foam",
|
||||||
|
24081: "black_tea",
|
||||||
|
24082: "herbal_tea",
|
||||||
|
24083: "fruit_tea",
|
||||||
|
24084: "green_tea",
|
||||||
|
24085: "white_tea",
|
||||||
|
24086: "japanese_tea",
|
||||||
|
# profile 4
|
||||||
|
24096: "ristretto",
|
||||||
|
24097: "espresso",
|
||||||
|
24098: "coffee",
|
||||||
|
24099: "long_coffee",
|
||||||
|
24100: "cappuccino",
|
||||||
|
24101: "cappuccino_italiano",
|
||||||
|
24102: "latte_macchiato",
|
||||||
|
24103: "espresso_macchiato",
|
||||||
|
24104: "cafe_au_lait",
|
||||||
|
24105: "caffe_latte",
|
||||||
|
24108: "flat_white",
|
||||||
|
24109: "very_hot_water",
|
||||||
|
24110: "hot_water",
|
||||||
|
24111: "hot_milk",
|
||||||
|
24112: "milk_foam",
|
||||||
|
24113: "black_tea",
|
||||||
|
24114: "herbal_tea",
|
||||||
|
24115: "fruit_tea",
|
||||||
|
24116: "green_tea",
|
||||||
|
24117: "white_tea",
|
||||||
|
24118: "japanese_tea",
|
||||||
|
# profile 5
|
||||||
|
24128: "ristretto",
|
||||||
|
24129: "espresso",
|
||||||
|
24130: "coffee",
|
||||||
|
24131: "long_coffee",
|
||||||
|
24132: "cappuccino",
|
||||||
|
24133: "cappuccino_italiano",
|
||||||
|
24134: "latte_macchiato",
|
||||||
|
24135: "espresso_macchiato",
|
||||||
|
24136: "cafe_au_lait",
|
||||||
|
24137: "caffe_latte",
|
||||||
|
24140: "flat_white",
|
||||||
|
24141: "very_hot_water",
|
||||||
|
24142: "hot_water",
|
||||||
|
24143: "hot_milk",
|
||||||
|
24144: "milk_foam",
|
||||||
|
24145: "black_tea",
|
||||||
|
24146: "herbal_tea",
|
||||||
|
24147: "fruit_tea",
|
||||||
|
24148: "green_tea",
|
||||||
|
24149: "white_tea",
|
||||||
|
24150: "japanese_tea",
|
||||||
|
# special programs
|
||||||
|
24400: "coffee_pot",
|
||||||
|
24407: "barista_assistant",
|
||||||
|
# machine settings menu
|
||||||
|
24500: "appliance_settings", # total dispensed
|
||||||
|
24502: "appliance_settings", # lights appliance on
|
||||||
|
24503: "appliance_settings", # lights appliance off
|
||||||
|
24504: "appliance_settings", # turn off lights after
|
||||||
|
24506: "appliance_settings", # altitude
|
||||||
|
24513: "appliance_settings", # performance mode
|
||||||
|
24516: "appliance_settings", # turn off after
|
||||||
|
24537: "appliance_settings", # advanced mode
|
||||||
|
24542: "appliance_settings", # tea timer
|
||||||
|
24549: "appliance_settings", # total coffee dispensed
|
||||||
|
24550: "appliance_settings", # total tea dispensed
|
||||||
|
24551: "appliance_settings", # total ristretto
|
||||||
|
24552: "appliance_settings", # total cappuccino
|
||||||
|
24553: "appliance_settings", # total espresso
|
||||||
|
24554: "appliance_settings", # total coffee
|
||||||
|
24555: "appliance_settings", # total long coffee
|
||||||
|
24556: "appliance_settings", # total italian cappuccino
|
||||||
|
24557: "appliance_settings", # total latte macchiato
|
||||||
|
24558: "appliance_settings", # total caffe latte
|
||||||
|
24560: "appliance_settings", # total espresso macchiato
|
||||||
|
24562: "appliance_settings", # total flat white
|
||||||
|
24563: "appliance_settings", # total coffee with milk
|
||||||
|
24564: "appliance_settings", # total black tea
|
||||||
|
24565: "appliance_settings", # total herbal tea
|
||||||
|
24566: "appliance_settings", # total fruit tea
|
||||||
|
24567: "appliance_settings", # total green tea
|
||||||
|
24568: "appliance_settings", # total white tea
|
||||||
|
24569: "appliance_settings", # total japanese tea
|
||||||
|
24571: "appliance_settings", # total milk foam
|
||||||
|
24572: "appliance_settings", # total hot milk
|
||||||
|
24573: "appliance_settings", # total hot water
|
||||||
|
24574: "appliance_settings", # total very hot water
|
||||||
|
24575: "appliance_settings", # counter to descaling
|
||||||
|
24576: "appliance_settings", # counter to brewing unit degreasing
|
||||||
|
# maintenance
|
||||||
|
24750: "appliance_rinse",
|
||||||
|
24751: "descaling",
|
||||||
|
24753: "brewing_unit_degrease",
|
||||||
|
24754: "milk_pipework_rinse",
|
||||||
|
24759: "appliance_rinse",
|
||||||
|
24773: "appliance_rinse",
|
||||||
|
24787: "appliance_rinse",
|
||||||
|
24788: "appliance_rinse",
|
||||||
|
24789: "milk_pipework_clean",
|
||||||
|
# profiles settings menu
|
||||||
|
24800: "appliance_settings", # add profile
|
||||||
|
24801: "appliance_settings", # ask profile settings
|
||||||
|
24813: "appliance_settings", # modify profile name
|
||||||
|
}
|
||||||
|
|
||||||
|
STEAM_OVEN_MICRO_PROGRAM_ID: dict[int, str] = {
|
||||||
|
8: "steam_cooking",
|
||||||
|
19: "microwave",
|
||||||
|
53: "popcorn",
|
||||||
|
54: "quick_mw",
|
||||||
|
72: "sous_vide",
|
||||||
|
75: "eco_steam_cooking",
|
||||||
|
77: "rapid_steam_cooking",
|
||||||
|
326: "descale",
|
||||||
|
330: "menu_cooking",
|
||||||
|
2018: "reheating_with_steam",
|
||||||
|
2019: "defrosting_with_steam",
|
||||||
|
2020: "blanching",
|
||||||
|
2021: "bottling",
|
||||||
|
2022: "heat_crockery",
|
||||||
|
2023: "prove_dough",
|
||||||
|
2027: "soak",
|
||||||
|
2029: "reheating_with_microwave",
|
||||||
|
2030: "defrosting_with_microwave",
|
||||||
|
2031: "artichokes_small",
|
||||||
|
2032: "artichokes_medium",
|
||||||
|
2033: "artichokes_large",
|
||||||
|
2034: "eggplant_sliced",
|
||||||
|
2035: "eggplant_diced",
|
||||||
|
2036: "cauliflower_whole_small",
|
||||||
|
2039: "cauliflower_whole_medium",
|
||||||
|
2042: "cauliflower_whole_large",
|
||||||
|
2046: "cauliflower_florets_small",
|
||||||
|
2048: "cauliflower_florets_medium",
|
||||||
|
2049: "cauliflower_florets_large",
|
||||||
|
2051: "green_beans_whole",
|
||||||
|
2052: "green_beans_cut",
|
||||||
|
2053: "yellow_beans_whole",
|
||||||
|
2054: "yellow_beans_cut",
|
||||||
|
2055: "broad_beans",
|
||||||
|
2056: "common_beans",
|
||||||
|
2057: "runner_beans_whole",
|
||||||
|
2058: "runner_beans_pieces",
|
||||||
|
2059: "runner_beans_sliced",
|
||||||
|
2060: "broccoli_whole_small",
|
||||||
|
2061: "broccoli_whole_medium",
|
||||||
|
2062: "broccoli_whole_large",
|
||||||
|
2064: "broccoli_florets_small",
|
||||||
|
2066: "broccoli_florets_medium",
|
||||||
|
2068: "broccoli_florets_large",
|
||||||
|
2069: "endive_halved",
|
||||||
|
2070: "endive_quartered",
|
||||||
|
2071: "endive_strips",
|
||||||
|
2072: "chinese_cabbage_cut",
|
||||||
|
2073: "peas",
|
||||||
|
2074: "fennel_halved",
|
||||||
|
2075: "fennel_quartered",
|
||||||
|
2076: "fennel_strips",
|
||||||
|
2077: "kale_cut",
|
||||||
|
2080: "potatoes_in_the_skin_waxy_small_steam_cooking",
|
||||||
|
2081: "potatoes_in_the_skin_waxy_small_rapid_steam_cooking",
|
||||||
|
2083: "potatoes_in_the_skin_waxy_medium_steam_cooking",
|
||||||
|
2084: "potatoes_in_the_skin_waxy_medium_rapid_steam_cooking",
|
||||||
|
2086: "potatoes_in_the_skin_waxy_large_steam_cooking",
|
||||||
|
2087: "potatoes_in_the_skin_waxy_large_rapid_steam_cooking",
|
||||||
|
2088: "potatoes_in_the_skin_floury_small",
|
||||||
|
2091: "potatoes_in_the_skin_floury_medium",
|
||||||
|
2094: "potatoes_in_the_skin_floury_large",
|
||||||
|
2097: "potatoes_in_the_skin_mainly_waxy_small",
|
||||||
|
2100: "potatoes_in_the_skin_mainly_waxy_medium",
|
||||||
|
2103: "potatoes_in_the_skin_mainly_waxy_large",
|
||||||
|
2106: "potatoes_waxy_whole_small",
|
||||||
|
2109: "potatoes_waxy_whole_medium",
|
||||||
|
2112: "potatoes_waxy_whole_large",
|
||||||
|
2115: "potatoes_waxy_halved",
|
||||||
|
2116: "potatoes_waxy_quartered",
|
||||||
|
2117: "potatoes_waxy_diced",
|
||||||
|
2118: "potatoes_mainly_waxy_small",
|
||||||
|
2119: "potatoes_mainly_waxy_medium",
|
||||||
|
2120: "potatoes_mainly_waxy_large",
|
||||||
|
2121: "potatoes_mainly_waxy_halved",
|
||||||
|
2122: "potatoes_mainly_waxy_quartered",
|
||||||
|
2123: "potatoes_mainly_waxy_diced",
|
||||||
|
2124: "potatoes_floury_whole_small",
|
||||||
|
2125: "potatoes_floury_whole_medium",
|
||||||
|
2126: "potatoes_floury_whole_large",
|
||||||
|
2127: "potatoes_floury_halved",
|
||||||
|
2128: "potatoes_floury_quartered",
|
||||||
|
2129: "potatoes_floury_diced",
|
||||||
|
2130: "german_turnip_sliced",
|
||||||
|
2131: "german_turnip_cut_into_batons",
|
||||||
|
2132: "german_turnip_sliced",
|
||||||
|
2133: "pumpkin_diced",
|
||||||
|
2134: "corn_on_the_cob",
|
||||||
|
2135: "mangel_cut",
|
||||||
|
2136: "bunched_carrots_whole_small",
|
||||||
|
2137: "bunched_carrots_whole_medium",
|
||||||
|
2138: "bunched_carrots_whole_large",
|
||||||
|
2139: "bunched_carrots_halved",
|
||||||
|
2140: "bunched_carrots_quartered",
|
||||||
|
2141: "bunched_carrots_diced",
|
||||||
|
2142: "bunched_carrots_cut_into_batons",
|
||||||
|
2143: "bunched_carrots_sliced",
|
||||||
|
2144: "parisian_carrots_small",
|
||||||
|
2145: "parisian_carrots_medium",
|
||||||
|
2146: "parisian_carrots_large",
|
||||||
|
2147: "carrots_whole_small",
|
||||||
|
2148: "carrots_whole_medium",
|
||||||
|
2149: "carrots_whole_large",
|
||||||
|
2150: "carrots_halved",
|
||||||
|
2151: "carrots_quartered",
|
||||||
|
2152: "carrots_diced",
|
||||||
|
2153: "carrots_cut_into_batons",
|
||||||
|
2155: "carrots_sliced",
|
||||||
|
2156: "pepper_halved",
|
||||||
|
2157: "pepper_quartered",
|
||||||
|
2158: "pepper_strips",
|
||||||
|
2159: "pepper_diced",
|
||||||
|
2160: "parsnip_sliced",
|
||||||
|
2161: "parsnip_diced",
|
||||||
|
2162: "parsnip_cut_into_batons",
|
||||||
|
2163: "parsley_root_sliced",
|
||||||
|
2164: "parsley_root_diced",
|
||||||
|
2165: "parsley_root_cut_into_batons",
|
||||||
|
2166: "leek_pieces",
|
||||||
|
2167: "leek_rings",
|
||||||
|
2168: "romanesco_whole_small",
|
||||||
|
2169: "romanesco_whole_medium",
|
||||||
|
2170: "romanesco_whole_large",
|
||||||
|
2171: "romanesco_florets_small",
|
||||||
|
2172: "romanesco_florets_medium",
|
||||||
|
2173: "romanesco_florets_large",
|
||||||
|
2175: "brussels_sprout",
|
||||||
|
2176: "beetroot_whole_small",
|
||||||
|
2177: "beetroot_whole_medium",
|
||||||
|
2178: "beetroot_whole_large",
|
||||||
|
2179: "red_cabbage_cut",
|
||||||
|
2180: "black_salsify_thin",
|
||||||
|
2181: "black_salsify_medium",
|
||||||
|
2182: "black_salsify_thick",
|
||||||
|
2183: "celery_pieces",
|
||||||
|
2184: "celery_sliced",
|
||||||
|
2185: "celeriac_sliced",
|
||||||
|
2186: "celeriac_cut_into_batons",
|
||||||
|
2187: "celeriac_diced",
|
||||||
|
2188: "white_asparagus_thin",
|
||||||
|
2189: "white_asparagus_medium",
|
||||||
|
2190: "white_asparagus_thick",
|
||||||
|
2192: "green_asparagus_thin",
|
||||||
|
2194: "green_asparagus_medium",
|
||||||
|
2196: "green_asparagus_thick",
|
||||||
|
2197: "spinach",
|
||||||
|
2198: "pointed_cabbage_cut",
|
||||||
|
2199: "yam_halved",
|
||||||
|
2200: "yam_quartered",
|
||||||
|
2201: "yam_strips",
|
||||||
|
2202: "swede_diced",
|
||||||
|
2203: "swede_cut_into_batons",
|
||||||
|
2204: "teltow_turnip_sliced",
|
||||||
|
2205: "teltow_turnip_diced",
|
||||||
|
2206: "jerusalem_artichoke_sliced",
|
||||||
|
2207: "jerusalem_artichoke_diced",
|
||||||
|
2208: "green_cabbage_cut",
|
||||||
|
2209: "savoy_cabbage_cut",
|
||||||
|
2210: "courgette_sliced",
|
||||||
|
2211: "courgette_diced",
|
||||||
|
2212: "snow_pea",
|
||||||
|
2214: "perch_whole",
|
||||||
|
2215: "perch_fillet_2_cm",
|
||||||
|
2216: "perch_fillet_3_cm",
|
||||||
|
2217: "gilt_head_bream_whole",
|
||||||
|
2220: "gilt_head_bream_fillet",
|
||||||
|
2221: "codfish_piece",
|
||||||
|
2222: "codfish_fillet",
|
||||||
|
2224: "trout",
|
||||||
|
2225: "pike_fillet",
|
||||||
|
2226: "pike_piece",
|
||||||
|
2227: "halibut_fillet_2_cm",
|
||||||
|
2230: "halibut_fillet_3_cm",
|
||||||
|
2231: "codfish_fillet",
|
||||||
|
2232: "codfish_piece",
|
||||||
|
2233: "carp",
|
||||||
|
2234: "salmon_fillet_2_cm",
|
||||||
|
2235: "salmon_fillet_3_cm",
|
||||||
|
2238: "salmon_steak_2_cm",
|
||||||
|
2239: "salmon_steak_3_cm",
|
||||||
|
2240: "salmon_piece",
|
||||||
|
2241: "salmon_trout",
|
||||||
|
2244: "iridescent_shark_fillet",
|
||||||
|
2245: "red_snapper_fillet_2_cm",
|
||||||
|
2248: "red_snapper_fillet_3_cm",
|
||||||
|
2249: "redfish_fillet_2_cm",
|
||||||
|
2250: "redfish_fillet_3_cm",
|
||||||
|
2251: "redfish_piece",
|
||||||
|
2252: "char",
|
||||||
|
2253: "plaice_whole_2_cm",
|
||||||
|
2254: "plaice_whole_3_cm",
|
||||||
|
2255: "plaice_whole_4_cm",
|
||||||
|
2256: "plaice_fillet_1_cm",
|
||||||
|
2259: "plaice_fillet_2_cm",
|
||||||
|
2260: "coalfish_fillet_2_cm",
|
||||||
|
2261: "coalfish_fillet_3_cm",
|
||||||
|
2262: "coalfish_piece",
|
||||||
|
2263: "sea_devil_fillet_3_cm",
|
||||||
|
2266: "sea_devil_fillet_4_cm",
|
||||||
|
2267: "common_sole_fillet_1_cm",
|
||||||
|
2270: "common_sole_fillet_2_cm",
|
||||||
|
2271: "atlantic_catfish_fillet_1_cm",
|
||||||
|
2272: "atlantic_catfish_fillet_2_cm",
|
||||||
|
2273: "turbot_fillet_2_cm",
|
||||||
|
2276: "turbot_fillet_3_cm",
|
||||||
|
2277: "tuna_steak",
|
||||||
|
2278: "tuna_fillet_2_cm",
|
||||||
|
2279: "tuna_fillet_3_cm",
|
||||||
|
2280: "tilapia_fillet_1_cm",
|
||||||
|
2281: "tilapia_fillet_2_cm",
|
||||||
|
2282: "nile_perch_fillet_2_cm",
|
||||||
|
2283: "nile_perch_fillet_3_cm",
|
||||||
|
2285: "zander_fillet",
|
||||||
|
2288: "soup_hen",
|
||||||
|
2291: "poularde_whole",
|
||||||
|
2292: "poularde_breast",
|
||||||
|
2294: "turkey_breast",
|
||||||
|
2302: "chicken_tikka_masala_with_rice",
|
||||||
|
2312: "veal_fillet_whole",
|
||||||
|
2313: "veal_fillet_medaillons_1_cm",
|
||||||
|
2315: "veal_fillet_medaillons_2_cm",
|
||||||
|
2317: "veal_fillet_medaillons_3_cm",
|
||||||
|
2324: "goulash_soup",
|
||||||
|
2327: "dutch_hash",
|
||||||
|
2328: "stuffed_cabbage",
|
||||||
|
2330: "beef_tenderloin",
|
||||||
|
2333: "beef_tenderloin_medaillons_1_cm_steam_cooking",
|
||||||
|
2334: "beef_tenderloin_medaillons_2_cm_steam_cooking",
|
||||||
|
2335: "beef_tenderloin_medaillons_3_cm_steam_cooking",
|
||||||
|
2339: "silverside_5_cm",
|
||||||
|
2342: "silverside_7_5_cm",
|
||||||
|
2345: "silverside_10_cm",
|
||||||
|
2348: "meat_for_soup_back_or_top_rib",
|
||||||
|
2349: "meat_for_soup_leg_steak",
|
||||||
|
2350: "meat_for_soup_brisket",
|
||||||
|
2353: "viennese_silverside",
|
||||||
|
2354: "whole_ham_steam_cooking",
|
||||||
|
2355: "whole_ham_reheating",
|
||||||
|
2359: "kasseler_piece",
|
||||||
|
2361: "kasseler_slice",
|
||||||
|
2363: "knuckle_of_pork_fresh",
|
||||||
|
2364: "knuckle_of_pork_cured",
|
||||||
|
2367: "pork_tenderloin_medaillons_3_cm",
|
||||||
|
2368: "pork_tenderloin_medaillons_4_cm",
|
||||||
|
2369: "pork_tenderloin_medaillons_5_cm",
|
||||||
|
2429: "pumpkin_soup",
|
||||||
|
2430: "meat_with_rice",
|
||||||
|
2431: "beef_casserole",
|
||||||
|
2450: "risotto",
|
||||||
|
2451: "risotto",
|
||||||
|
2453: "rice_pudding_steam_cooking",
|
||||||
|
2454: "rice_pudding_rapid_steam_cooking",
|
||||||
|
2461: "amaranth",
|
||||||
|
2462: "bulgur",
|
||||||
|
2463: "spelt_whole",
|
||||||
|
2464: "spelt_cracked",
|
||||||
|
2465: "green_spelt_whole",
|
||||||
|
2466: "green_spelt_cracked",
|
||||||
|
2467: "oats_whole",
|
||||||
|
2468: "oats_cracked",
|
||||||
|
2469: "millet",
|
||||||
|
2470: "quinoa",
|
||||||
|
2471: "polenta_swiss_style_fine_polenta",
|
||||||
|
2472: "polenta_swiss_style_medium_polenta",
|
||||||
|
2473: "polenta_swiss_style_coarse_polenta",
|
||||||
|
2474: "polenta",
|
||||||
|
2475: "rye_whole",
|
||||||
|
2476: "rye_cracked",
|
||||||
|
2477: "wheat_whole",
|
||||||
|
2478: "wheat_cracked",
|
||||||
|
2480: "gnocchi_fresh",
|
||||||
|
2481: "yeast_dumplings_fresh",
|
||||||
|
2482: "potato_dumplings_raw_boil_in_bag",
|
||||||
|
2483: "potato_dumplings_raw_deep_frozen",
|
||||||
|
2484: "potato_dumplings_half_half_boil_in_bag",
|
||||||
|
2485: "potato_dumplings_half_half_deep_frozen",
|
||||||
|
2486: "bread_dumplings_boil_in_the_bag",
|
||||||
|
2487: "bread_dumplings_fresh",
|
||||||
|
2488: "ravioli_fresh",
|
||||||
|
2489: "spaetzle_fresh",
|
||||||
|
2490: "tagliatelli_fresh",
|
||||||
|
2491: "schupfnudeln_potato_noodels",
|
||||||
|
2492: "tortellini_fresh",
|
||||||
|
2493: "red_lentils",
|
||||||
|
2494: "brown_lentils",
|
||||||
|
2495: "beluga_lentils",
|
||||||
|
2496: "green_split_peas",
|
||||||
|
2497: "yellow_split_peas",
|
||||||
|
2498: "chick_peas",
|
||||||
|
2499: "white_beans",
|
||||||
|
2500: "pinto_beans",
|
||||||
|
2501: "red_beans",
|
||||||
|
2502: "black_beans",
|
||||||
|
2503: "hens_eggs_size_s_soft",
|
||||||
|
2504: "hens_eggs_size_s_medium",
|
||||||
|
2505: "hens_eggs_size_s_hard",
|
||||||
|
2506: "hens_eggs_size_m_soft",
|
||||||
|
2507: "hens_eggs_size_m_medium",
|
||||||
|
2508: "hens_eggs_size_m_hard",
|
||||||
|
2509: "hens_eggs_size_l_soft",
|
||||||
|
2510: "hens_eggs_size_l_medium",
|
||||||
|
2511: "hens_eggs_size_l_hard",
|
||||||
|
2512: "hens_eggs_size_xl_soft",
|
||||||
|
2513: "hens_eggs_size_xl_medium",
|
||||||
|
2514: "hens_eggs_size_xl_hard",
|
||||||
|
2515: "swiss_toffee_cream_100_ml",
|
||||||
|
2516: "swiss_toffee_cream_150_ml",
|
||||||
|
2518: "toffee_date_dessert_several_small",
|
||||||
|
2520: "cheesecake_several_small",
|
||||||
|
2521: "cheesecake_one_large",
|
||||||
|
2522: "christmas_pudding_cooking",
|
||||||
|
2523: "christmas_pudding_heating",
|
||||||
|
2524: "treacle_sponge_pudding_several_small",
|
||||||
|
2525: "treacle_sponge_pudding_one_large",
|
||||||
|
2526: "sweet_cheese_dumplings",
|
||||||
|
2527: "apples_whole",
|
||||||
|
2528: "apples_halved",
|
||||||
|
2529: "apples_quartered",
|
||||||
|
2530: "apples_sliced",
|
||||||
|
2531: "apples_diced",
|
||||||
|
2532: "apricots_halved_steam_cooking",
|
||||||
|
2533: "apricots_halved_skinning",
|
||||||
|
2534: "apricots_quartered",
|
||||||
|
2535: "apricots_wedges",
|
||||||
|
2536: "pears_halved",
|
||||||
|
2537: "pears_quartered",
|
||||||
|
2538: "pears_wedges",
|
||||||
|
2539: "sweet_cherries",
|
||||||
|
2540: "sour_cherries",
|
||||||
|
2541: "pears_to_cook_small_whole",
|
||||||
|
2542: "pears_to_cook_small_halved",
|
||||||
|
2543: "pears_to_cook_small_quartered",
|
||||||
|
2544: "pears_to_cook_medium_whole",
|
||||||
|
2545: "pears_to_cook_medium_halved",
|
||||||
|
2546: "pears_to_cook_medium_quartered",
|
||||||
|
2547: "pears_to_cook_large_whole",
|
||||||
|
2548: "pears_to_cook_large_halved",
|
||||||
|
2549: "pears_to_cook_large_quartered",
|
||||||
|
2550: "mirabelles",
|
||||||
|
2551: "nectarines_peaches_halved_steam_cooking",
|
||||||
|
2552: "nectarines_peaches_halved_skinning",
|
||||||
|
2553: "nectarines_peaches_quartered",
|
||||||
|
2554: "nectarines_peaches_wedges",
|
||||||
|
2555: "plums_whole",
|
||||||
|
2556: "plums_halved",
|
||||||
|
2557: "cranberries",
|
||||||
|
2558: "quinces_diced",
|
||||||
|
2559: "greenage_plums",
|
||||||
|
2560: "rhubarb_chunks",
|
||||||
|
2561: "gooseberries",
|
||||||
|
2562: "mushrooms_whole",
|
||||||
|
2563: "mushrooms_halved",
|
||||||
|
2564: "mushrooms_sliced",
|
||||||
|
2565: "mushrooms_quartered",
|
||||||
|
2566: "mushrooms_diced",
|
||||||
|
2567: "cep",
|
||||||
|
2568: "chanterelle",
|
||||||
|
2569: "oyster_mushroom_whole",
|
||||||
|
2570: "oyster_mushroom_strips",
|
||||||
|
2571: "oyster_mushroom_diced",
|
||||||
|
2572: "saucisson",
|
||||||
|
2573: "bruehwurst_sausages",
|
||||||
|
2574: "bologna_sausage",
|
||||||
|
2575: "veal_sausages",
|
||||||
|
2577: "crevettes",
|
||||||
|
2579: "prawns",
|
||||||
|
2581: "king_prawns",
|
||||||
|
2583: "small_shrimps",
|
||||||
|
2585: "large_shrimps",
|
||||||
|
2587: "mussels",
|
||||||
|
2589: "scallops",
|
||||||
|
2591: "venus_clams",
|
||||||
|
2592: "goose_barnacles",
|
||||||
|
2593: "cockles",
|
||||||
|
2594: "razor_clams_small",
|
||||||
|
2595: "razor_clams_medium",
|
||||||
|
2596: "razor_clams_large",
|
||||||
|
2597: "mussels_in_sauce",
|
||||||
|
2598: "bottling_soft",
|
||||||
|
2599: "bottling_medium",
|
||||||
|
2600: "bottling_hard",
|
||||||
|
2601: "melt_chocolate",
|
||||||
|
2602: "dissolve_gelatine",
|
||||||
|
2603: "sweat_onions",
|
||||||
|
2604: "cook_bacon",
|
||||||
|
2605: "heating_damp_flannels",
|
||||||
|
2606: "decrystallise_honey",
|
||||||
|
2607: "make_yoghurt",
|
||||||
|
2687: "toffee_date_dessert_one_large",
|
||||||
|
2694: "beef_tenderloin_medaillons_1_cm_low_temperature_cooking",
|
||||||
|
2695: "beef_tenderloin_medaillons_2_cm_low_temperature_cooking",
|
||||||
|
2696: "beef_tenderloin_medaillons_3_cm_low_temperature_cooking",
|
||||||
|
3373: "wild_rice",
|
||||||
|
3376: "wholegrain_rice",
|
||||||
|
3380: "parboiled_rice_steam_cooking",
|
||||||
|
3381: "parboiled_rice_rapid_steam_cooking",
|
||||||
|
3383: "basmati_rice_steam_cooking",
|
||||||
|
3384: "basmati_rice_rapid_steam_cooking",
|
||||||
|
3386: "jasmine_rice_steam_cooking",
|
||||||
|
3387: "jasmine_rice_rapid_steam_cooking",
|
||||||
|
3389: "huanghuanian_steam_cooking",
|
||||||
|
3390: "huanghuanian_rapid_steam_cooking",
|
||||||
|
3392: "simiao_steam_cooking",
|
||||||
|
3393: "simiao_rapid_steam_cooking",
|
||||||
|
3395: "long_grain_rice_general_steam_cooking",
|
||||||
|
3396: "long_grain_rice_general_rapid_steam_cooking",
|
||||||
|
3398: "chongming_steam_cooking",
|
||||||
|
3399: "chongming_rapid_steam_cooking",
|
||||||
|
3401: "wuchang_steam_cooking",
|
||||||
|
3402: "wuchang_rapid_steam_cooking",
|
||||||
|
3404: "uonumma_koshihikari_steam_cooking",
|
||||||
|
3405: "uonumma_koshihikari_rapid_steam_cooking",
|
||||||
|
3407: "sheyang_steam_cooking",
|
||||||
|
3408: "sheyang_rapid_steam_cooking",
|
||||||
|
3410: "round_grain_rice_general_steam_cooking",
|
||||||
|
3411: "round_grain_rice_general_rapid_steam_cooking",
|
||||||
|
}
|
||||||
|
|
||||||
|
STATE_PROGRAM_ID: dict[int, dict[int, str]] = {
|
||||||
|
MieleAppliance.WASHING_MACHINE: WASHING_MACHINE_PROGRAM_ID,
|
||||||
|
MieleAppliance.TUMBLE_DRYER: TUMBLE_DRYER_PROGRAM_ID,
|
||||||
|
MieleAppliance.DISHWASHER: DISHWASHER_PROGRAM_ID,
|
||||||
|
MieleAppliance.DISH_WARMER: DISH_WARMER_PROGRAM_ID,
|
||||||
|
MieleAppliance.OVEN: OVEN_PROGRAM_ID,
|
||||||
|
MieleAppliance.OVEN_MICROWAVE: OVEN_PROGRAM_ID,
|
||||||
|
MieleAppliance.STEAM_OVEN_MK2: OVEN_PROGRAM_ID,
|
||||||
|
MieleAppliance.STEAM_OVEN: OVEN_PROGRAM_ID,
|
||||||
|
MieleAppliance.STEAM_OVEN_COMBI: OVEN_PROGRAM_ID,
|
||||||
|
MieleAppliance.STEAM_OVEN_MICRO: STEAM_OVEN_MICRO_PROGRAM_ID,
|
||||||
|
MieleAppliance.WASHER_DRYER: WASHING_MACHINE_PROGRAM_ID,
|
||||||
|
MieleAppliance.ROBOT_VACUUM_CLEANER: ROBOT_VACUUM_CLEANER_PROGRAM_ID,
|
||||||
|
MieleAppliance.COFFEE_SYSTEM: COFFEE_SYSTEM_PROGRAM_ID,
|
||||||
|
}
|
||||||
|
@ -31,6 +31,27 @@
|
|||||||
},
|
},
|
||||||
"core_target_temperature": {
|
"core_target_temperature": {
|
||||||
"default": "mdi:thermometer-probe"
|
"default": "mdi:thermometer-probe"
|
||||||
|
},
|
||||||
|
"program_id": {
|
||||||
|
"default": "mdi:selection-ellipse-arrow-inside"
|
||||||
|
},
|
||||||
|
"program_phase": {
|
||||||
|
"default": "mdi:tray-full"
|
||||||
|
},
|
||||||
|
"elapsed_time": {
|
||||||
|
"default": "mdi:timelapse"
|
||||||
|
},
|
||||||
|
"start_time": {
|
||||||
|
"default": "mdi:clock-start"
|
||||||
|
},
|
||||||
|
"spin_speed": {
|
||||||
|
"default": "mdi:sync"
|
||||||
|
},
|
||||||
|
"program_type": {
|
||||||
|
"default": "mdi:state-machine"
|
||||||
|
},
|
||||||
|
"remaining_time": {
|
||||||
|
"default": "mdi:clock-end"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"switch": {
|
"switch": {
|
||||||
|
@ -15,17 +15,32 @@ from homeassistant.components.sensor import (
|
|||||||
SensorEntityDescription,
|
SensorEntityDescription,
|
||||||
SensorStateClass,
|
SensorStateClass,
|
||||||
)
|
)
|
||||||
from homeassistant.const import UnitOfTemperature
|
from homeassistant.const import (
|
||||||
|
REVOLUTIONS_PER_MINUTE,
|
||||||
|
EntityCategory,
|
||||||
|
UnitOfEnergy,
|
||||||
|
UnitOfTemperature,
|
||||||
|
UnitOfVolume,
|
||||||
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
||||||
from homeassistant.helpers.typing import StateType
|
from homeassistant.helpers.typing import StateType
|
||||||
|
|
||||||
from .const import STATE_STATUS_TAGS, MieleAppliance, StateStatus
|
from .const import (
|
||||||
|
STATE_PROGRAM_ID,
|
||||||
|
STATE_PROGRAM_PHASE,
|
||||||
|
STATE_PROGRAM_TYPE,
|
||||||
|
STATE_STATUS_TAGS,
|
||||||
|
MieleAppliance,
|
||||||
|
StateStatus,
|
||||||
|
)
|
||||||
from .coordinator import MieleConfigEntry, MieleDataUpdateCoordinator
|
from .coordinator import MieleConfigEntry, MieleDataUpdateCoordinator
|
||||||
from .entity import MieleEntity
|
from .entity import MieleEntity
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
DISABLED_TEMPERATURE = -32768
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True, kw_only=True)
|
@dataclass(frozen=True, kw_only=True)
|
||||||
class MieleSensorDescription(SensorEntityDescription):
|
class MieleSensorDescription(SensorEntityDescription):
|
||||||
@ -80,7 +95,139 @@ SENSOR_TYPES: Final[tuple[MieleSensorDefinition, ...]] = (
|
|||||||
translation_key="status",
|
translation_key="status",
|
||||||
value_fn=lambda value: value.state_status,
|
value_fn=lambda value: value.state_status,
|
||||||
device_class=SensorDeviceClass.ENUM,
|
device_class=SensorDeviceClass.ENUM,
|
||||||
options=list(STATE_STATUS_TAGS.values()),
|
options=sorted(set(STATE_STATUS_TAGS.values())),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MieleSensorDefinition(
|
||||||
|
types=(
|
||||||
|
MieleAppliance.WASHING_MACHINE,
|
||||||
|
MieleAppliance.WASHING_MACHINE_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.TUMBLE_DRYER,
|
||||||
|
MieleAppliance.TUMBLE_DRYER_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.DISHWASHER,
|
||||||
|
MieleAppliance.DISH_WARMER,
|
||||||
|
MieleAppliance.OVEN,
|
||||||
|
MieleAppliance.OVEN_MICROWAVE,
|
||||||
|
MieleAppliance.STEAM_OVEN,
|
||||||
|
MieleAppliance.MICROWAVE,
|
||||||
|
MieleAppliance.COFFEE_SYSTEM,
|
||||||
|
MieleAppliance.ROBOT_VACUUM_CLEANER,
|
||||||
|
MieleAppliance.WASHER_DRYER,
|
||||||
|
MieleAppliance.STEAM_OVEN_COMBI,
|
||||||
|
MieleAppliance.STEAM_OVEN_MICRO,
|
||||||
|
MieleAppliance.DIALOG_OVEN,
|
||||||
|
MieleAppliance.STEAM_OVEN_MK2,
|
||||||
|
),
|
||||||
|
description=MieleSensorDescription(
|
||||||
|
key="state_program_id",
|
||||||
|
translation_key="program_id",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
value_fn=lambda value: value.state_program_id,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MieleSensorDefinition(
|
||||||
|
types=(
|
||||||
|
MieleAppliance.WASHING_MACHINE,
|
||||||
|
MieleAppliance.WASHING_MACHINE_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.TUMBLE_DRYER,
|
||||||
|
MieleAppliance.TUMBLE_DRYER_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.DISHWASHER,
|
||||||
|
MieleAppliance.DISH_WARMER,
|
||||||
|
MieleAppliance.OVEN,
|
||||||
|
MieleAppliance.OVEN_MICROWAVE,
|
||||||
|
MieleAppliance.STEAM_OVEN,
|
||||||
|
MieleAppliance.MICROWAVE,
|
||||||
|
MieleAppliance.COFFEE_SYSTEM,
|
||||||
|
MieleAppliance.ROBOT_VACUUM_CLEANER,
|
||||||
|
MieleAppliance.WASHER_DRYER,
|
||||||
|
MieleAppliance.STEAM_OVEN_COMBI,
|
||||||
|
MieleAppliance.STEAM_OVEN_MICRO,
|
||||||
|
MieleAppliance.DIALOG_OVEN,
|
||||||
|
MieleAppliance.STEAM_OVEN_MK2,
|
||||||
|
),
|
||||||
|
description=MieleSensorDescription(
|
||||||
|
key="state_program_phase",
|
||||||
|
translation_key="program_phase",
|
||||||
|
value_fn=lambda value: value.state_program_phase,
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MieleSensorDefinition(
|
||||||
|
types=(
|
||||||
|
MieleAppliance.WASHING_MACHINE,
|
||||||
|
MieleAppliance.WASHING_MACHINE_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.TUMBLE_DRYER,
|
||||||
|
MieleAppliance.TUMBLE_DRYER_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.DISHWASHER,
|
||||||
|
MieleAppliance.DISH_WARMER,
|
||||||
|
MieleAppliance.OVEN,
|
||||||
|
MieleAppliance.OVEN_MICROWAVE,
|
||||||
|
MieleAppliance.STEAM_OVEN,
|
||||||
|
MieleAppliance.MICROWAVE,
|
||||||
|
MieleAppliance.ROBOT_VACUUM_CLEANER,
|
||||||
|
MieleAppliance.WASHER_DRYER,
|
||||||
|
MieleAppliance.STEAM_OVEN_COMBI,
|
||||||
|
MieleAppliance.STEAM_OVEN_MICRO,
|
||||||
|
MieleAppliance.DIALOG_OVEN,
|
||||||
|
MieleAppliance.COFFEE_SYSTEM,
|
||||||
|
MieleAppliance.STEAM_OVEN_MK2,
|
||||||
|
),
|
||||||
|
description=MieleSensorDescription(
|
||||||
|
key="state_program_type",
|
||||||
|
translation_key="program_type",
|
||||||
|
value_fn=lambda value: value.state_program_type,
|
||||||
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
options=sorted(set(STATE_PROGRAM_TYPE.values())),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MieleSensorDefinition(
|
||||||
|
types=(
|
||||||
|
MieleAppliance.WASHING_MACHINE,
|
||||||
|
MieleAppliance.WASHING_MACHINE_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.TUMBLE_DRYER,
|
||||||
|
MieleAppliance.TUMBLE_DRYER_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.DISHWASHER,
|
||||||
|
MieleAppliance.WASHER_DRYER,
|
||||||
|
),
|
||||||
|
description=MieleSensorDescription(
|
||||||
|
key="current_energy_consumption",
|
||||||
|
translation_key="energy_consumption",
|
||||||
|
value_fn=lambda value: value.current_energy_consumption,
|
||||||
|
device_class=SensorDeviceClass.ENERGY,
|
||||||
|
state_class=SensorStateClass.TOTAL_INCREASING,
|
||||||
|
native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
|
||||||
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MieleSensorDefinition(
|
||||||
|
types=(
|
||||||
|
MieleAppliance.WASHING_MACHINE,
|
||||||
|
MieleAppliance.DISHWASHER,
|
||||||
|
MieleAppliance.WASHER_DRYER,
|
||||||
|
),
|
||||||
|
description=MieleSensorDescription(
|
||||||
|
key="current_water_consumption",
|
||||||
|
translation_key="water_consumption",
|
||||||
|
value_fn=lambda value: value.current_water_consumption,
|
||||||
|
device_class=SensorDeviceClass.WATER,
|
||||||
|
state_class=SensorStateClass.TOTAL_INCREASING,
|
||||||
|
native_unit_of_measurement=UnitOfVolume.LITERS,
|
||||||
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MieleSensorDefinition(
|
||||||
|
types=(
|
||||||
|
MieleAppliance.WASHING_MACHINE,
|
||||||
|
MieleAppliance.WASHING_MACHINE_SEMI_PROFESSIONAL,
|
||||||
|
MieleAppliance.WASHER_DRYER,
|
||||||
|
),
|
||||||
|
description=MieleSensorDescription(
|
||||||
|
key="state_spinning_speed",
|
||||||
|
translation_key="spin_speed",
|
||||||
|
value_fn=lambda value: value.state_spinning_speed,
|
||||||
|
native_unit_of_measurement=REVOLUTIONS_PER_MINUTE,
|
||||||
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
MieleSensorDefinition(
|
MieleSensorDefinition(
|
||||||
@ -115,21 +262,32 @@ SENSOR_TYPES: Final[tuple[MieleSensorDefinition, ...]] = (
|
|||||||
),
|
),
|
||||||
MieleSensorDefinition(
|
MieleSensorDefinition(
|
||||||
types=(
|
types=(
|
||||||
|
MieleAppliance.TUMBLE_DRYER_SEMI_PROFESSIONAL,
|
||||||
MieleAppliance.OVEN,
|
MieleAppliance.OVEN,
|
||||||
MieleAppliance.OVEN_MICROWAVE,
|
MieleAppliance.OVEN_MICROWAVE,
|
||||||
|
MieleAppliance.DISH_WARMER,
|
||||||
|
MieleAppliance.STEAM_OVEN,
|
||||||
|
MieleAppliance.MICROWAVE,
|
||||||
|
MieleAppliance.FRIDGE,
|
||||||
|
MieleAppliance.FREEZER,
|
||||||
|
MieleAppliance.FRIDGE_FREEZER,
|
||||||
MieleAppliance.STEAM_OVEN_COMBI,
|
MieleAppliance.STEAM_OVEN_COMBI,
|
||||||
|
MieleAppliance.WINE_CABINET,
|
||||||
|
MieleAppliance.WINE_CONDITIONING_UNIT,
|
||||||
|
MieleAppliance.WINE_STORAGE_CONDITIONING_UNIT,
|
||||||
|
MieleAppliance.STEAM_OVEN_MICRO,
|
||||||
|
MieleAppliance.DIALOG_OVEN,
|
||||||
|
MieleAppliance.WINE_CABINET_FREEZER,
|
||||||
|
MieleAppliance.STEAM_OVEN_MK2,
|
||||||
),
|
),
|
||||||
description=MieleSensorDescription(
|
description=MieleSensorDescription(
|
||||||
key="state_core_temperature",
|
key="state_temperature_2",
|
||||||
translation_key="core_temperature",
|
zone=2,
|
||||||
zone=1,
|
|
||||||
device_class=SensorDeviceClass.TEMPERATURE,
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
|
translation_key="temperature_zone_2",
|
||||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
value_fn=(
|
value_fn=lambda value: value.state_temperatures[1].temperature / 100.0, # type: ignore [operator]
|
||||||
lambda value: cast(int, value.state_core_temperature[0].temperature)
|
|
||||||
/ 100.0
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
MieleSensorDefinition(
|
MieleSensorDefinition(
|
||||||
@ -153,6 +311,25 @@ SENSOR_TYPES: Final[tuple[MieleSensorDefinition, ...]] = (
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
MieleSensorDefinition(
|
||||||
|
types=(
|
||||||
|
MieleAppliance.OVEN,
|
||||||
|
MieleAppliance.OVEN_MICROWAVE,
|
||||||
|
MieleAppliance.STEAM_OVEN_COMBI,
|
||||||
|
),
|
||||||
|
description=MieleSensorDescription(
|
||||||
|
key="state_core_temperature",
|
||||||
|
translation_key="core_temperature",
|
||||||
|
zone=1,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
value_fn=(
|
||||||
|
lambda value: cast(int, value.state_core_temperature[0].temperature)
|
||||||
|
/ 100.0
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -172,8 +349,21 @@ async def async_setup_entry(
|
|||||||
match definition.description.key:
|
match definition.description.key:
|
||||||
case "state_status":
|
case "state_status":
|
||||||
entity_class = MieleStatusSensor
|
entity_class = MieleStatusSensor
|
||||||
|
case "state_program_id":
|
||||||
|
entity_class = MieleProgramIdSensor
|
||||||
|
case "state_program_phase":
|
||||||
|
entity_class = MielePhaseSensor
|
||||||
|
case "state_program_type":
|
||||||
|
entity_class = MieleTypeSensor
|
||||||
case _:
|
case _:
|
||||||
entity_class = MieleSensor
|
entity_class = MieleSensor
|
||||||
|
if (
|
||||||
|
definition.description.device_class == SensorDeviceClass.TEMPERATURE
|
||||||
|
and definition.description.value_fn(device)
|
||||||
|
== DISABLED_TEMPERATURE / 100
|
||||||
|
):
|
||||||
|
# Don't create entity if API signals that datapoint is disabled
|
||||||
|
continue
|
||||||
entities.append(
|
entities.append(
|
||||||
entity_class(coordinator, device_id, definition.description)
|
entity_class(coordinator, device_id, definition.description)
|
||||||
)
|
)
|
||||||
@ -219,7 +409,7 @@ class MieleSensor(MieleEntity, SensorEntity):
|
|||||||
@property
|
@property
|
||||||
def native_value(self) -> StateType:
|
def native_value(self) -> StateType:
|
||||||
"""Return the state of the sensor."""
|
"""Return the state of the sensor."""
|
||||||
return self.entity_description.value_fn(self.device)
|
return cast(StateType, self.entity_description.value_fn(self.device))
|
||||||
|
|
||||||
|
|
||||||
class MieleStatusSensor(MieleSensor):
|
class MieleStatusSensor(MieleSensor):
|
||||||
@ -249,3 +439,67 @@ class MieleStatusSensor(MieleSensor):
|
|||||||
"""Return the availability of the entity."""
|
"""Return the availability of the entity."""
|
||||||
# This sensor should always be available
|
# This sensor should always be available
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
class MielePhaseSensor(MieleSensor):
|
||||||
|
"""Representation of the program phase sensor."""
|
||||||
|
|
||||||
|
@property
|
||||||
|
def native_value(self) -> StateType:
|
||||||
|
"""Return the state of the sensor."""
|
||||||
|
ret_val = STATE_PROGRAM_PHASE.get(self.device.device_type, {}).get(
|
||||||
|
self.device.state_program_phase
|
||||||
|
)
|
||||||
|
if ret_val is None:
|
||||||
|
_LOGGER.debug(
|
||||||
|
"Unknown program phase: %s on device type: %s",
|
||||||
|
self.device.state_program_phase,
|
||||||
|
self.device.device_type,
|
||||||
|
)
|
||||||
|
return ret_val
|
||||||
|
|
||||||
|
@property
|
||||||
|
def options(self) -> list[str]:
|
||||||
|
"""Return the options list for the actual device type."""
|
||||||
|
return sorted(
|
||||||
|
set(STATE_PROGRAM_PHASE.get(self.device.device_type, {}).values())
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MieleTypeSensor(MieleSensor):
|
||||||
|
"""Representation of the program type sensor."""
|
||||||
|
|
||||||
|
@property
|
||||||
|
def native_value(self) -> StateType:
|
||||||
|
"""Return the state of the sensor."""
|
||||||
|
ret_val = STATE_PROGRAM_TYPE.get(int(self.device.state_program_type))
|
||||||
|
if ret_val is None:
|
||||||
|
_LOGGER.debug(
|
||||||
|
"Unknown program type: %s on device type: %s",
|
||||||
|
self.device.state_program_type,
|
||||||
|
self.device.device_type,
|
||||||
|
)
|
||||||
|
return ret_val
|
||||||
|
|
||||||
|
|
||||||
|
class MieleProgramIdSensor(MieleSensor):
|
||||||
|
"""Representation of the program id sensor."""
|
||||||
|
|
||||||
|
@property
|
||||||
|
def native_value(self) -> StateType:
|
||||||
|
"""Return the state of the sensor."""
|
||||||
|
ret_val = STATE_PROGRAM_ID.get(self.device.device_type, {}).get(
|
||||||
|
self.device.state_program_id
|
||||||
|
)
|
||||||
|
if ret_val is None:
|
||||||
|
_LOGGER.debug(
|
||||||
|
"Unknown program id: %s on device type: %s",
|
||||||
|
self.device.state_program_id,
|
||||||
|
self.device.device_type,
|
||||||
|
)
|
||||||
|
return ret_val
|
||||||
|
|
||||||
|
@property
|
||||||
|
def options(self) -> list[str]:
|
||||||
|
"""Return the options list for the actual device type."""
|
||||||
|
return sorted(set(STATE_PROGRAM_ID.get(self.device.device_type, {}).values()))
|
||||||
|
@ -115,6 +115,15 @@
|
|||||||
},
|
},
|
||||||
"entity": {
|
"entity": {
|
||||||
"binary_sensor": {
|
"binary_sensor": {
|
||||||
|
"door": {
|
||||||
|
"name": "Door"
|
||||||
|
},
|
||||||
|
"failure": {
|
||||||
|
"name": "Failure"
|
||||||
|
},
|
||||||
|
"info": {
|
||||||
|
"name": "Info"
|
||||||
|
},
|
||||||
"notification_active": {
|
"notification_active": {
|
||||||
"name": "Notification active"
|
"name": "Notification active"
|
||||||
},
|
},
|
||||||
@ -173,6 +182,638 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sensor": {
|
"sensor": {
|
||||||
|
"energy_consumption": {
|
||||||
|
"name": "Energy consumption"
|
||||||
|
},
|
||||||
|
"program_phase": {
|
||||||
|
"name": "Program phase",
|
||||||
|
"state": {
|
||||||
|
"2nd_espresso": "2nd espresso coffee",
|
||||||
|
"2nd_grinding": "2nd grinding",
|
||||||
|
"2nd_pre_brewing": "2nd pre-brewing",
|
||||||
|
"anti_crease": "Anti-crease",
|
||||||
|
"blocked_brushes": "Brushes blocked",
|
||||||
|
"blocked_drive_wheels": "Drive wheels blocked",
|
||||||
|
"blocked_front_wheel": "Front wheel blocked",
|
||||||
|
"cleaning": "Cleaning",
|
||||||
|
"comfort_cooling": "Comfort cooling",
|
||||||
|
"cooling_down": "Cooling down",
|
||||||
|
"dirty_sensors": "Dirty sensors",
|
||||||
|
"disinfecting": "Disinfecting",
|
||||||
|
"dispensing": "Dispensing",
|
||||||
|
"docked": "Docked",
|
||||||
|
"door_open": "Door open",
|
||||||
|
"drain": "Drain",
|
||||||
|
"drying": "Drying",
|
||||||
|
"dust_box_missing": "Missing dust box",
|
||||||
|
"energy_save": "Energy save",
|
||||||
|
"espresso": "Espresso coffee",
|
||||||
|
"extra_dry": "Extra dry",
|
||||||
|
"final_rinse": "Final rinse",
|
||||||
|
"finished": "Finished",
|
||||||
|
"freshen_up_and_moisten": "Freshen up & moisten",
|
||||||
|
"going_to_target_area": "Going to target area",
|
||||||
|
"grinding": "Grinding",
|
||||||
|
"hand_iron": "Hand iron",
|
||||||
|
"hand_iron_1": "Hand iron 1",
|
||||||
|
"hand_iron_2": "Hand iron 2",
|
||||||
|
"heating": "Heating",
|
||||||
|
"heating_up": "Heating up",
|
||||||
|
"heating_up_phase": "Heating up phase",
|
||||||
|
"hot_milk": "Hot milk",
|
||||||
|
"hygiene": "Hygiene",
|
||||||
|
"interim_rinse": "Interim rinse",
|
||||||
|
"keep_warm": "Keep warm",
|
||||||
|
"keeping_warm": "Keeping warm",
|
||||||
|
"machine_iron": "Machine iron",
|
||||||
|
"main_dishwash": "Cleaning",
|
||||||
|
"main_wash": "Main wash",
|
||||||
|
"milk_foam": "Milk foam",
|
||||||
|
"moisten": "Moisten",
|
||||||
|
"motor_overload": "Check dust box and filter",
|
||||||
|
"normal": "Normal",
|
||||||
|
"normal_plus": "Normal plus",
|
||||||
|
"not_running": "Not running",
|
||||||
|
"pre_brewing": "Pre-brewing",
|
||||||
|
"pre_dishwash": "Pre-cleaning",
|
||||||
|
"pre_wash": "Pre-wash",
|
||||||
|
"process_finished": "Process finished",
|
||||||
|
"process_running": "Process running",
|
||||||
|
"program_running": "Program running",
|
||||||
|
"reactivating": "Reactivating",
|
||||||
|
"remote_controlled": "Remote controlled",
|
||||||
|
"returning": "Returning",
|
||||||
|
"rinse": "Rinse",
|
||||||
|
"rinse_hold": "Rinse hold",
|
||||||
|
"rinse_out_lint": "Rinse out lint",
|
||||||
|
"rinses": "Rinses",
|
||||||
|
"safety_cooling": "Safety cooling",
|
||||||
|
"slightly_dry": "Slightly dry",
|
||||||
|
"slow_roasting": "Slow roasting",
|
||||||
|
"smoothing": "Smoothing",
|
||||||
|
"soak": "Soak",
|
||||||
|
"spin": "Spin",
|
||||||
|
"starch_stop": "Starch stop",
|
||||||
|
"steam_reduction": "Steam reduction",
|
||||||
|
"steam_smoothing": "Steam smoothing",
|
||||||
|
"thermo_spin": "Thermo spin",
|
||||||
|
"timed_drying": "Timed drying",
|
||||||
|
"vacuum_cleaning": "Cleaning",
|
||||||
|
"vacuum_cleaning_paused": "Cleaning paused",
|
||||||
|
"vacuum_internal_fault": "Internal fault - reboot",
|
||||||
|
"venting": "Venting",
|
||||||
|
"waiting_for_start": "Waiting for start",
|
||||||
|
"warm_air": "Warm air",
|
||||||
|
"warm_cups_glasses": "Warm cups/glasses",
|
||||||
|
"warm_dishes_plates": "Warm dishes/plates",
|
||||||
|
"wheel_lifted": "Wheel lifted"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"program_type": {
|
||||||
|
"name": "Program type",
|
||||||
|
"state": {
|
||||||
|
"automatic_program": "Automatic program",
|
||||||
|
"cleaning_care_program": "Cleaning/care program",
|
||||||
|
"maintenance_program": "Maintenance program",
|
||||||
|
"normal_operation_mode": "Normal operation mode",
|
||||||
|
"own_program": "Own program"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"program_id": {
|
||||||
|
"name": "Program",
|
||||||
|
"state": {
|
||||||
|
"1_tray": "1 tray",
|
||||||
|
"2_trays": "2 trays",
|
||||||
|
"amaranth": "Amaranth",
|
||||||
|
"apples_diced": "Apples (diced)",
|
||||||
|
"apples_halved": "Apples (halved)",
|
||||||
|
"apples_quartered": "Apples (quartered)",
|
||||||
|
"apples_sliced": "Apples (sliced)",
|
||||||
|
"apples_whole": "Apples (whole)",
|
||||||
|
"appliance_rinse": "Appliance rinse",
|
||||||
|
"appliance_settings": "Appliance settings menu",
|
||||||
|
"apricots_halved_skinning": "Apricots (halved, skinning)",
|
||||||
|
"apricots_halved_steam_cooking": "Apricots (halved, steam cooking)",
|
||||||
|
"apricots_quartered": "Apricots (quartered)",
|
||||||
|
"apricots_wedges": "Apricots (wedges)",
|
||||||
|
"artichokes_large": "Artichokes large",
|
||||||
|
"artichokes_medium": "Artichokes medium",
|
||||||
|
"artichokes_small": "Artichokes small",
|
||||||
|
"atlantic_catfish_fillet_1_cm": "Atlantic catfish (fillet, 1 cm)",
|
||||||
|
"atlantic_catfish_fillet_2_cm": "Atlantic catfish (fillet, 2 cm)",
|
||||||
|
"auto": "[%key:common::state::auto%]",
|
||||||
|
"auto_roast": "Auto roast",
|
||||||
|
"automatic": "Automatic",
|
||||||
|
"automatic_plus": "Automatic plus",
|
||||||
|
"baking_tray": "Baking tray",
|
||||||
|
"barista_assistant": "BaristaAssistant",
|
||||||
|
"basket_program": "Basket program",
|
||||||
|
"basmati_rice_rapid_steam_cooking": "Basmati rice (rapid steam cooking)",
|
||||||
|
"basmati_rice_steam_cooking": "Basmati rice (steam cooking)",
|
||||||
|
"bed_linen": "Bed linen",
|
||||||
|
"beef_casserole": "Beef casserole",
|
||||||
|
"beef_tenderloin": "Beef tenderloin",
|
||||||
|
"beef_tenderloin_medaillons_1_cm_low_temperature_cooking": "Beef tenderloin (medaillons, 1 cm, low-temperature cooking)",
|
||||||
|
"beef_tenderloin_medaillons_1_cm_steam_cooking": "Beef tenderloin (medaillons, 1 cm, steam cooking)",
|
||||||
|
"beef_tenderloin_medaillons_2_cm_low_temperature_cooking": "Beef tenderloin (medaillons, 2 cm, low-temperature cooking)",
|
||||||
|
"beef_tenderloin_medaillons_2_cm_steam_cooking": "Beef tenderloin (medaillons, 2 cm, steam cooking)",
|
||||||
|
"beef_tenderloin_medaillons_3_cm_low_temperature_cooking": "Beef tenderloin (medaillons, 3 cm, low-temperature cooking)",
|
||||||
|
"beef_tenderloin_medaillons_3_cm_steam_cooking": "Beef tenderloin (medaillons, 3 cm, steam cooking)",
|
||||||
|
"beetroot_whole_large": "Beetroot (whole, large)",
|
||||||
|
"beetroot_whole_medium": "Beetroot (whole, medium)",
|
||||||
|
"beetroot_whole_small": "Beetroot (whole, small)",
|
||||||
|
"beluga_lentils": "Beluga lentils",
|
||||||
|
"black_beans": "Black beans",
|
||||||
|
"black_salsify_medium": "Black salsify (medium)",
|
||||||
|
"black_salsify_thick": "Black salsify (thick)",
|
||||||
|
"black_salsify_thin": "Black salsify (thin)",
|
||||||
|
"black_tea": "Black tea",
|
||||||
|
"blanching": "Blanching",
|
||||||
|
"bologna_sausage": "Bologna sausage",
|
||||||
|
"bottling": "Bottling",
|
||||||
|
"bottling_hard": "Bottling (hard)",
|
||||||
|
"bottling_medium": "Bottling (medium)",
|
||||||
|
"bottling_soft": "Bottling (soft)",
|
||||||
|
"bottom_heat": "Bottom heat",
|
||||||
|
"bread_dumplings_boil_in_the_bag": "Bread dumplings (boil-in-the-bag)",
|
||||||
|
"bread_dumplings_fresh": "Bread dumplings (fresh)",
|
||||||
|
"brewing_unit_degrease": "Brewing unit degrease",
|
||||||
|
"broad_beans": "Broad beans",
|
||||||
|
"broccoli_florets_large": "Broccoli florets (large)",
|
||||||
|
"broccoli_florets_medium": "Broccoli florets (medium)",
|
||||||
|
"broccoli_florets_small": "Broccoli florets (small)",
|
||||||
|
"broccoli_whole_large": "Broccoli (whole, large)",
|
||||||
|
"broccoli_whole_medium": "Broccoli (whole, medium)",
|
||||||
|
"broccoli_whole_small": "Broccoli (whole, small)",
|
||||||
|
"brown_lentils": "Brown lentils",
|
||||||
|
"bruehwurst_sausages": "Brühwurst sausages",
|
||||||
|
"brussels_sprout": "Brussels sprout",
|
||||||
|
"bulgur": "Bulgur",
|
||||||
|
"bunched_carrots_cut_into_batons": "Bunched carrots (cut into batons)",
|
||||||
|
"bunched_carrots_diced": "Bunched carrots (diced)",
|
||||||
|
"bunched_carrots_halved": "Bunched carrots (halved)",
|
||||||
|
"bunched_carrots_quartered": "Bunched carrots (quartered)",
|
||||||
|
"bunched_carrots_sliced": "Bunched carrots (sliced)",
|
||||||
|
"bunched_carrots_whole_large": "Bunched carrots (whole, large)",
|
||||||
|
"bunched_carrots_whole_medium": "Bunched carrots (whole, medium)",
|
||||||
|
"bunched_carrots_whole_small": "Bunched carrots (whole, small)",
|
||||||
|
"cafe_au_lait": "Café au lait",
|
||||||
|
"caffe_latte": "Caffè latte",
|
||||||
|
"cappuccino": "Cappuccino",
|
||||||
|
"cappuccino_italiano": "Cappuccino Italiano",
|
||||||
|
"carp": "Carp",
|
||||||
|
"carrots_cut_into_batons": "Carrots (cut into batons)",
|
||||||
|
"carrots_diced": "Carrots (diced)",
|
||||||
|
"carrots_halved": "Carrots (halved)",
|
||||||
|
"carrots_quartered": "Carrots (quartered)",
|
||||||
|
"carrots_sliced": "Carrots (sliced)",
|
||||||
|
"carrots_whole_large": "Carrots (whole, large)",
|
||||||
|
"carrots_whole_medium": "Carrots (whole, medium)",
|
||||||
|
"carrots_whole_small": "Carrots (whole, small)",
|
||||||
|
"cauliflower_florets_large": "Cauliflower florets (large)",
|
||||||
|
"cauliflower_florets_medium": "Cauliflower florets (medium)",
|
||||||
|
"cauliflower_florets_small": "Cauliflower florets (small)",
|
||||||
|
"cauliflower_whole_large": "Cauliflower (whole, large)",
|
||||||
|
"cauliflower_whole_medium": "Cauliflower (whole, medium)",
|
||||||
|
"cauliflower_whole_small": "Cauliflower (whole, small)",
|
||||||
|
"celeriac_cut_into_batons": "Celeriac (cut into batons)",
|
||||||
|
"celeriac_diced": "Celeriac (diced)",
|
||||||
|
"celeriac_sliced": "Celeriac (sliced)",
|
||||||
|
"celery_pieces": "Celery (pieces)",
|
||||||
|
"celery_sliced": "Celery (sliced)",
|
||||||
|
"cep": "Cep",
|
||||||
|
"chanterelle": "Chanterelle",
|
||||||
|
"char": "Char",
|
||||||
|
"check_appliance": "Check appliance",
|
||||||
|
"cheesecake_one_large": "Cheesecake (one large)",
|
||||||
|
"cheesecake_several_small": "Cheesecake (several small)",
|
||||||
|
"chick_peas": "Chick peas",
|
||||||
|
"chicken_tikka_masala_with_rice": "Chicken Tikka Masala with rice",
|
||||||
|
"chinese_cabbage_cut": "Chinese cabbage (cut)",
|
||||||
|
"chongming_rapid_steam_cooking": "Chongming (rapid steam cooking)",
|
||||||
|
"chongming_steam_cooking": "Chongming (steam cooking)",
|
||||||
|
"christmas_pudding_cooking": "Christmas pudding (cooking)",
|
||||||
|
"christmas_pudding_heating": "Christmas pudding (heating)",
|
||||||
|
"clean_machine": "Clean machine",
|
||||||
|
"coalfish_fillet_2_cm": "Coalfish (fillet, 2 cm)",
|
||||||
|
"coalfish_fillet_3_cm": "Coalfish (fillet, 3 cm)",
|
||||||
|
"coalfish_piece": "Coalfish (piece)",
|
||||||
|
"cockles": "Cockles",
|
||||||
|
"codfish_fillet": "Codfish (fillet)",
|
||||||
|
"codfish_piece": "Codfish (piece)",
|
||||||
|
"coffee": "Coffee",
|
||||||
|
"coffee_pot": "Coffee pot",
|
||||||
|
"common_beans": "Common beans",
|
||||||
|
"common_sole_fillet_1_cm": "Common sole (fillet, 1 cm)",
|
||||||
|
"common_sole_fillet_2_cm": "Common sole (fillet, 2 cm)",
|
||||||
|
"conventional_heat": "Conventional heat",
|
||||||
|
"cook_bacon": "Cook bacon",
|
||||||
|
"cool_air": "Cool air",
|
||||||
|
"corn_on_the_cob": "Corn on the cob",
|
||||||
|
"cottons": "Cottons",
|
||||||
|
"cottons_eco": "Cottons ECO",
|
||||||
|
"cottons_hygiene": "Cottons hygiene",
|
||||||
|
"courgette_diced": "Courgette (diced)",
|
||||||
|
"courgette_sliced": "Courgette (sliced)",
|
||||||
|
"cranberries": "Cranberries",
|
||||||
|
"crevettes": "Crevettes",
|
||||||
|
"curtains": "Curtains",
|
||||||
|
"dark_garments": "Dark garments",
|
||||||
|
"decrystallise_honey": "Decrystallise honey",
|
||||||
|
"defrost": "Defrost",
|
||||||
|
"defrosting_with_microwave": "Defrosting with microwave",
|
||||||
|
"defrosting_with_steam": "Defrosting with steam",
|
||||||
|
"delicates": "Delicates",
|
||||||
|
"denim": "Denim",
|
||||||
|
"descale": "Descale",
|
||||||
|
"descaling": "Appliance descaling",
|
||||||
|
"dissolve_gelatine": "Dissolve gelatine",
|
||||||
|
"down_duvets": "Down duvets",
|
||||||
|
"down_filled_items": "Down-filled items",
|
||||||
|
"drain_spin": "Drain/spin",
|
||||||
|
"dutch_hash": "Dutch hash",
|
||||||
|
"eco": "ECO",
|
||||||
|
"eco_40_60": "ECO 40-60",
|
||||||
|
"eco_fan_heat": "ECO fan heat",
|
||||||
|
"eco_steam_cooking": "ECO steam cooking",
|
||||||
|
"economy_grill": "Economy grill",
|
||||||
|
"eggplant_diced": "Eggplant (diced)",
|
||||||
|
"eggplant_sliced": "Eggplant (sliced)",
|
||||||
|
"endive_halved": "Endive (halved)",
|
||||||
|
"endive_quartered": "Endive (quartered)",
|
||||||
|
"endive_strips": "Endive (strips)",
|
||||||
|
"espresso": "Espresso",
|
||||||
|
"espresso_macchiato": "Espresso macchiato",
|
||||||
|
"express": "Express",
|
||||||
|
"express_20": "Express 20'",
|
||||||
|
"extra_quiet": "Extra quiet",
|
||||||
|
"fan_grill": "Fan grill",
|
||||||
|
"fan_plus": "Fan plus",
|
||||||
|
"fennel_halved": "Fennel (halved)",
|
||||||
|
"fennel_quartered": "Fennel (quartered)",
|
||||||
|
"fennel_strips": "Fennel (strips)",
|
||||||
|
"first_wash": "First wash",
|
||||||
|
"flat_white": "Flat white",
|
||||||
|
"freshen_up": "Freshen up",
|
||||||
|
"fruit_tea": "Fruit tea",
|
||||||
|
"full_grill": "Full grill",
|
||||||
|
"gentle": "Gentle",
|
||||||
|
"gentle_denim": "Gentle denim",
|
||||||
|
"gentle_minimum_iron": "Gentle minimum iron",
|
||||||
|
"gentle_smoothing": "Gentle smoothing",
|
||||||
|
"german_turnip_cut_into_batons": "German turnip (cut into batons)",
|
||||||
|
"german_turnip_sliced": "German turnip (sliced)",
|
||||||
|
"gilt_head_bream_fillet": "Gilt-head bream (fillet)",
|
||||||
|
"gilt_head_bream_whole": "Gilt-head bream (whole)",
|
||||||
|
"glasses_warm": "Glasses warm",
|
||||||
|
"gnocchi_fresh": "Gnocchi (fresh)",
|
||||||
|
"goose_barnacles": "Goose barnacles",
|
||||||
|
"gooseberries": "Gooseberries",
|
||||||
|
"goulash_soup": "Goulash soup",
|
||||||
|
"green_asparagus_medium": "Green asparagus (medium)",
|
||||||
|
"green_asparagus_thick": "Green asparagus (thick)",
|
||||||
|
"green_asparagus_thin": "Green asparagus (thin)",
|
||||||
|
"green_beans_cut": "Green beans (cut)",
|
||||||
|
"green_beans_whole": "Green beans (whole)",
|
||||||
|
"green_cabbage_cut": "Green cabbage (cut)",
|
||||||
|
"green_spelt_cracked": "Green spelt (cracked)",
|
||||||
|
"green_spelt_whole": "Green spelt (whole)",
|
||||||
|
"green_split_peas": "Green split peas",
|
||||||
|
"green_tea": "Green tea",
|
||||||
|
"greenage_plums": "Greenage plums",
|
||||||
|
"halibut_fillet_2_cm": "Halibut (fillet, 2 cm)",
|
||||||
|
"halibut_fillet_3_cm": "Halibut (fillet, 3 cm)",
|
||||||
|
"heat_crockery": "Heat crockery",
|
||||||
|
"heating_damp_flannels": "Heating damp flannels",
|
||||||
|
"hens_eggs_size_l_hard": "Hen’s eggs (size „L“, hard)",
|
||||||
|
"hens_eggs_size_l_medium": "Hen’s eggs (size „L“, medium)",
|
||||||
|
"hens_eggs_size_l_soft": "Hen’s eggs (size „L“, soft)",
|
||||||
|
"hens_eggs_size_m_hard": "Hen’s eggs (size „M“, hard)",
|
||||||
|
"hens_eggs_size_m_medium": "Hen’s eggs (size „M“, medium)",
|
||||||
|
"hens_eggs_size_m_soft": "Hen’s eggs (size „M“, soft)",
|
||||||
|
"hens_eggs_size_s_hard": "Hen’s eggs (size „S“, hard)",
|
||||||
|
"hens_eggs_size_s_medium": "Hen’s eggs (size „S“, medium)",
|
||||||
|
"hens_eggs_size_s_soft": "Hen’s eggs (size „S“, soft)",
|
||||||
|
"hens_eggs_size_xl_hard": "Hen’s eggs (size „XL“, hard)",
|
||||||
|
"hens_eggs_size_xl_medium": "Hen’s eggs (size „XL“, medium)",
|
||||||
|
"hens_eggs_size_xl_soft": "Hen’s eggs (size „XL“, soft)",
|
||||||
|
"herbal_tea": "Herbal tea",
|
||||||
|
"hot_milk": "Hot milk",
|
||||||
|
"hot_water": "Hot water",
|
||||||
|
"huanghuanian_rapid_steam_cooking": "Huanghuanian (rapid steam cooking)",
|
||||||
|
"huanghuanian_steam_cooking": "Huanghuanian (steam cooking)",
|
||||||
|
"hygiene": "Hygiene",
|
||||||
|
"intensive": "Intensive",
|
||||||
|
"intensive_bake": "Intensive bake",
|
||||||
|
"iridescent_shark_fillet": "Iridescent shark (fillet)",
|
||||||
|
"japanese_tea": "Japanese tea",
|
||||||
|
"jasmine_rice_rapid_steam_cooking": "Jasmine rice (rapid steam cooking)",
|
||||||
|
"jasmine_rice_steam_cooking": "Jasmine rice (steam cooking)",
|
||||||
|
"jerusalem_artichoke_diced": "Jerusalem artichoke (diced)",
|
||||||
|
"jerusalem_artichoke_sliced": "Jerusalem artichoke (sliced)",
|
||||||
|
"kale_cut": "Kale (cut)",
|
||||||
|
"kasseler_piece": "Kasseler (piece)",
|
||||||
|
"kasseler_slice": "Kasseler (slice)",
|
||||||
|
"keeping_warm": "Keeping warm",
|
||||||
|
"king_prawns": "King prawns",
|
||||||
|
"knuckle_of_pork_cured": "Knuckle of pork (cured)",
|
||||||
|
"knuckle_of_pork_fresh": "Knuckle of pork (fresh)",
|
||||||
|
"large_pillows": "Large pillows",
|
||||||
|
"large_shrimps": "Large shrimps",
|
||||||
|
"latte_macchiato": "Latte macchiato",
|
||||||
|
"leek_pieces": "Leek (pieces)",
|
||||||
|
"leek_rings": "Leek (rings)",
|
||||||
|
"long_coffee": "Long coffee",
|
||||||
|
"long_grain_rice_general_rapid_steam_cooking": "Long grain rice (general, rapid steam cooking)",
|
||||||
|
"long_grain_rice_general_steam_cooking": "Long grain rice (general, steam cooking)",
|
||||||
|
"maintenance": "Maintenance program",
|
||||||
|
"make_yoghurt": "Make yoghurt",
|
||||||
|
"mangel_cut": "Mangel (cut)",
|
||||||
|
"meat_for_soup_back_or_top_rib": "Meat for soup (back or top rib)",
|
||||||
|
"meat_for_soup_brisket": "Meat for soup (brisket)",
|
||||||
|
"meat_for_soup_leg_steak": "Meat for soup (leg steak)",
|
||||||
|
"meat_with_rice": "Meat with rice",
|
||||||
|
"melt_chocolate": "Melt chocolate",
|
||||||
|
"menu_cooking": "Menu cooking",
|
||||||
|
"microwave": "Microwave",
|
||||||
|
"milk_foam": "Milk foam",
|
||||||
|
"milk_pipework_clean": "Milk pipework clean",
|
||||||
|
"milk_pipework_rinse": "Milk pipework rinse",
|
||||||
|
"millet": "Millet",
|
||||||
|
"minimum_iron": "Minimum iron",
|
||||||
|
"mirabelles": "Mirabelles",
|
||||||
|
"moisture_plus_auto_roast": "Moisture plus + Auto roast",
|
||||||
|
"moisture_plus_conventional_heat": "Moisture plus + Conventional heat",
|
||||||
|
"moisture_plus_fan_plus": "Moisture plus + Fan plus",
|
||||||
|
"moisture_plus_intensive_bake": "Moisture plus + Intensive bake",
|
||||||
|
"mushrooms_diced": "Mushrooms (diced)",
|
||||||
|
"mushrooms_halved": "Mushrooms (halved)",
|
||||||
|
"mushrooms_quartered": "Mushrooms (quartered)",
|
||||||
|
"mushrooms_sliced": "Mushrooms (sliced)",
|
||||||
|
"mushrooms_whole": "Mushrooms (whole)",
|
||||||
|
"mussels": "Mussels",
|
||||||
|
"mussels_in_sauce": "Mussels in sauce",
|
||||||
|
"nectarines_peaches_halved_skinning": "Nectarines/peaches (halved, skinning)",
|
||||||
|
"nectarines_peaches_halved_steam_cooking": "Nectarines/peaches (halved, steam cooking)",
|
||||||
|
"nectarines_peaches_quartered": "Nectarines/peaches (quartered)",
|
||||||
|
"nectarines_peaches_wedges": "Nectarines/peaches (wedges)",
|
||||||
|
"nile_perch_fillet_2_cm": "Nile perch (fillet, 2 cm)",
|
||||||
|
"nile_perch_fillet_3_cm": "Nile perch (fillet, 3 cm)",
|
||||||
|
"no_program": "No program",
|
||||||
|
"normal": "[%key:common::state::normal%]",
|
||||||
|
"oats_cracked": "Oats (cracked)",
|
||||||
|
"oats_whole": "Oats (whole)",
|
||||||
|
"outerwear": "Outerwear",
|
||||||
|
"oyster_mushroom_diced": "Oyster mushroom (diced)",
|
||||||
|
"oyster_mushroom_strips": "Oyster mushroom (strips)",
|
||||||
|
"oyster_mushroom_whole": "Oyster mushroom (whole)",
|
||||||
|
"parboiled_rice_rapid_steam_cooking": "Parboiled rice (rapid steam cooking)",
|
||||||
|
"parboiled_rice_steam_cooking": "Parboiled rice (steam cooking)",
|
||||||
|
"parisian_carrots_large": "Parisian carrots (large)",
|
||||||
|
"parisian_carrots_medium": "Parisian carrots (medium)",
|
||||||
|
"parisian_carrots_small": "Parisian carrots (small)",
|
||||||
|
"parsley_root_cut_into_batons": "Parsley root (cut into batons)",
|
||||||
|
"parsley_root_diced": "Parsley root (diced)",
|
||||||
|
"parsley_root_sliced": "Parsley root (sliced)",
|
||||||
|
"parsnip_cut_into_batons": "Parsnip (cut into batons)",
|
||||||
|
"parsnip_diced": "Parsnip (diced)",
|
||||||
|
"parsnip_sliced": "Parsnip (sliced)",
|
||||||
|
"pasta_paela": "Pasta/Paela",
|
||||||
|
"pears_halved": "Pears (halved)",
|
||||||
|
"pears_quartered": "Pears (quartered)",
|
||||||
|
"pears_to_cook_large_halved": "Pears to cook (large, halved)",
|
||||||
|
"pears_to_cook_large_quartered": "Pears to cook (large, quartered)",
|
||||||
|
"pears_to_cook_large_whole": "Pears to cook (large, whole)",
|
||||||
|
"pears_to_cook_medium_halved": "Pears to cook (medium, halved)",
|
||||||
|
"pears_to_cook_medium_quartered": "Pears to cook (medium, quartered)",
|
||||||
|
"pears_to_cook_medium_whole": "Pears to cook (medium, whole)",
|
||||||
|
"pears_to_cook_small_halved": "Pears to cook (small, halved)",
|
||||||
|
"pears_to_cook_small_quartered": "Pears to cook (small, quartered)",
|
||||||
|
"pears_to_cook_small_whole": "Pears to cook (small, whole)",
|
||||||
|
"pears_wedges": "Pears (wedges)",
|
||||||
|
"peas": "Peas",
|
||||||
|
"pepper_diced": "Pepper (diced)",
|
||||||
|
"pepper_halved": "Pepper (halved)",
|
||||||
|
"pepper_quartered": "Pepper (quartered)",
|
||||||
|
"pepper_strips": "Pepper (strips)",
|
||||||
|
"perch_fillet_2_cm": "Perch (fillet, 2 cm)",
|
||||||
|
"perch_fillet_3_cm": "Perch (fillet, 3 cm)",
|
||||||
|
"perch_whole": "Perch (whole)",
|
||||||
|
"pike_fillet": "Pike (fillet)",
|
||||||
|
"pike_piece": "Pike (piece)",
|
||||||
|
"pillows": "Pillows",
|
||||||
|
"pinto_beans": "Pinto beans",
|
||||||
|
"plaice_fillet_1_cm": "Plaice (fillet, 1 cm)",
|
||||||
|
"plaice_fillet_2_cm": "Plaice (fillet, 2 cm)",
|
||||||
|
"plaice_whole_2_cm": "Plaice (whole, 2 cm)",
|
||||||
|
"plaice_whole_3_cm": "Plaice (whole, 3 cm)",
|
||||||
|
"plaice_whole_4_cm": "Plaice (whole, 4 cm)",
|
||||||
|
"plums_halved": "Plums (halved)",
|
||||||
|
"plums_whole": "Plums (whole)",
|
||||||
|
"pointed_cabbage_cut": "Pointed cabbage (cut)",
|
||||||
|
"polenta": "Polenta",
|
||||||
|
"polenta_swiss_style_coarse_polenta": "Polenta Swiss style (coarse polenta)",
|
||||||
|
"polenta_swiss_style_fine_polenta": "Polenta Swiss style (fine polenta)",
|
||||||
|
"polenta_swiss_style_medium_polenta": "Polenta Swiss style (medium polenta)",
|
||||||
|
"popcorn": "Popcorn",
|
||||||
|
"pork_tenderloin_medaillons_3_cm": "Pork tenderloin (medaillons, 3 cm)",
|
||||||
|
"pork_tenderloin_medaillons_4_cm": "Pork tenderloin (medaillons, 4 cm)",
|
||||||
|
"pork_tenderloin_medaillons_5_cm": "Pork tenderloin (medaillons, 5 cm)",
|
||||||
|
"potato_dumplings_half_half_boil_in_bag": "Potato dumplings (half/half, boil-in-bag)",
|
||||||
|
"potato_dumplings_half_half_deep_frozen": "Potato dumplings (half/half, deep-frozen)",
|
||||||
|
"potato_dumplings_raw_boil_in_bag": "Potato dumplings (raw, boil-in-bag)",
|
||||||
|
"potato_dumplings_raw_deep_frozen": "Potato dumplings (raw, deep-frozen)",
|
||||||
|
"potatoes_floury_diced": "Potatoes (floury, diced)",
|
||||||
|
"potatoes_floury_halved": "Potatoes (floury, halved)",
|
||||||
|
"potatoes_floury_quartered": "Potatoes (floury, quartered)",
|
||||||
|
"potatoes_floury_whole_large": "Potatoes (floury, whole, large)",
|
||||||
|
"potatoes_floury_whole_medium": "Potatoes (floury, whole, medium)",
|
||||||
|
"potatoes_floury_whole_small": "Potatoes (floury, whole, small)",
|
||||||
|
"potatoes_in_the_skin_floury_large": "Potatoes (in the skin, floury, large)",
|
||||||
|
"potatoes_in_the_skin_floury_medium": "Potatoes (in the skin, floury, medium)",
|
||||||
|
"potatoes_in_the_skin_floury_small": "Potatoes (in the skin, floury, small)",
|
||||||
|
"potatoes_in_the_skin_mainly_waxy_large": "Potatoes (in the skin, mainly waxy, large)",
|
||||||
|
"potatoes_in_the_skin_mainly_waxy_medium": "Potatoes (in the skin, mainly waxy, medium)",
|
||||||
|
"potatoes_in_the_skin_mainly_waxy_small": "Potatoes (in the skin, mainly waxy, small)",
|
||||||
|
"potatoes_in_the_skin_waxy_large_rapid_steam_cooking": "Potatoes (in the skin, waxy, large, rapid steam cooking)",
|
||||||
|
"potatoes_in_the_skin_waxy_large_steam_cooking": "Potatoes (in the skin, waxy, large, steam cooking)",
|
||||||
|
"potatoes_in_the_skin_waxy_medium_rapid_steam_cooking": "Potatoes (in the skin, waxy, medium, rapid steam cooking)",
|
||||||
|
"potatoes_in_the_skin_waxy_medium_steam_cooking": "Potatoes (in the skin, waxy, medium, steam cooking)",
|
||||||
|
"potatoes_in_the_skin_waxy_small_rapid_steam_cooking": "Potatoes (in the skin, waxy, small, rapid steam cooking)",
|
||||||
|
"potatoes_in_the_skin_waxy_small_steam_cooking": "Potatoes (in the skin, waxy, small, steam cooking)",
|
||||||
|
"potatoes_mainly_waxy_diced": "Potatoes (mainly waxy, diced)",
|
||||||
|
"potatoes_mainly_waxy_halved": "Potatoes (mainly waxy, halved)",
|
||||||
|
"potatoes_mainly_waxy_large": "Potatoes (mainly waxy, large)",
|
||||||
|
"potatoes_mainly_waxy_medium": "Potatoes (mainly waxy, medium)",
|
||||||
|
"potatoes_mainly_waxy_quartered": "Potatoes (mainly waxy, quartered)",
|
||||||
|
"potatoes_mainly_waxy_small": "Potatoes (mainly waxy, small)",
|
||||||
|
"potatoes_waxy_diced": "Potatoes (waxy, diced)",
|
||||||
|
"potatoes_waxy_halved": "Potatoes (waxy, halved)",
|
||||||
|
"potatoes_waxy_quartered": "Potatoes (waxy, quartered)",
|
||||||
|
"potatoes_waxy_whole_large": "Potatoes (waxy, whole, large)",
|
||||||
|
"potatoes_waxy_whole_medium": "Potatoes (waxy, whole, medium)",
|
||||||
|
"potatoes_waxy_whole_small": "Potatoes (waxy, whole, small)",
|
||||||
|
"poularde_breast": "Poularde breast",
|
||||||
|
"poularde_whole": "Poularde (whole)",
|
||||||
|
"power_wash": "PowerWash",
|
||||||
|
"prawns": "Prawns",
|
||||||
|
"proofing": "Proofing",
|
||||||
|
"prove_15_min": "Prove for 15 min",
|
||||||
|
"prove_30_min": "Prove for 30 min",
|
||||||
|
"prove_45_min": "Prove for 45 min",
|
||||||
|
"prove_dough": "Prove dough",
|
||||||
|
"pumpkin_diced": "Pumpkin (diced)",
|
||||||
|
"pumpkin_soup": "Pumpkin soup",
|
||||||
|
"quick_mw": "Quick MW",
|
||||||
|
"quick_power_wash": "QuickPowerWash",
|
||||||
|
"quinces_diced": "Quinces (diced)",
|
||||||
|
"quinoa": "Quinoa",
|
||||||
|
"rapid_steam_cooking": "Rapid steam cooking",
|
||||||
|
"ravioli_fresh": "Ravioli (fresh)",
|
||||||
|
"razor_clams_large": "Razor clams (large)",
|
||||||
|
"razor_clams_medium": "Razor clams (medium)",
|
||||||
|
"razor_clams_small": "Razor clams (small)",
|
||||||
|
"red_beans": "Red beans",
|
||||||
|
"red_cabbage_cut": "Red cabbage (cut)",
|
||||||
|
"red_lentils": "Red lentils",
|
||||||
|
"red_snapper_fillet_2_cm": "Red snapper (fillet, 2 cm)",
|
||||||
|
"red_snapper_fillet_3_cm": "Red snapper (fillet, 3 cm)",
|
||||||
|
"redfish_fillet_2_cm": "Redfish (fillet, 2 cm)",
|
||||||
|
"redfish_fillet_3_cm": "Redfish (fillet, 3 cm)",
|
||||||
|
"redfish_piece": "Redfish (piece)",
|
||||||
|
"reheating_with_microwave": "Reheating with microwave",
|
||||||
|
"reheating_with_steam": "Reheating with steam",
|
||||||
|
"rhubarb_chunks": "Rhubarb chunks",
|
||||||
|
"rice_pudding_rapid_steam_cooking": "Rice pudding (rapid steam cooking)",
|
||||||
|
"rice_pudding_steam_cooking": "Rice pudding (steam cooking)",
|
||||||
|
"rinse": "Rinse",
|
||||||
|
"rinse_out_lint": "Rinse out lint",
|
||||||
|
"risotto": "Risotto",
|
||||||
|
"ristretto": "Ristretto",
|
||||||
|
"romanesco_florets_large": "Romanesco florets (large)",
|
||||||
|
"romanesco_florets_medium": "Romanesco florets (medium)",
|
||||||
|
"romanesco_florets_small": "Romanesco florets (small)",
|
||||||
|
"romanesco_whole_large": "Romanesco (whole, large)",
|
||||||
|
"romanesco_whole_medium": "Romanesco (whole, medium)",
|
||||||
|
"romanesco_whole_small": "Romanesco (whole, small)",
|
||||||
|
"round_grain_rice_general_rapid_steam_cooking": "Round grain rice (general, rapid steam cooking)",
|
||||||
|
"round_grain_rice_general_steam_cooking": "Round grain rice (general, steam cooking)",
|
||||||
|
"runner_beans_pieces": "Runner beans (pieces)",
|
||||||
|
"runner_beans_sliced": "Runner beans (sliced)",
|
||||||
|
"runner_beans_whole": "Runner beans (whole)",
|
||||||
|
"rye_cracked": "Rye (cracked)",
|
||||||
|
"rye_whole": "Rye (whole)",
|
||||||
|
"salmon_fillet_2_cm": "Salmon (fillet, 2 cm)",
|
||||||
|
"salmon_fillet_3_cm": "Salmon (fillet, 3 cm)",
|
||||||
|
"salmon_piece": "Salmon (piece)",
|
||||||
|
"salmon_steak_2_cm": "Salmon (steak, 2 cm)",
|
||||||
|
"salmon_steak_3_cm": "Salmon (steak, 3 cm)",
|
||||||
|
"salmon_trout": "Salmon trout",
|
||||||
|
"saucisson": "Saucisson",
|
||||||
|
"savoy_cabbage_cut": "Savoy cabbage (cut)",
|
||||||
|
"scallops": "Scallops",
|
||||||
|
"schupfnudeln_potato_noodels": "Schupfnudeln (potato noodels)",
|
||||||
|
"sea_devil_fillet_3_cm": "Sea devil (fillet, 3 cm)",
|
||||||
|
"sea_devil_fillet_4_cm": "Sea devil (fillet, 4 cm)",
|
||||||
|
"separate_rinse_starch": "Separate rinse/starch",
|
||||||
|
"sheyang_rapid_steam_cooking": "Sheyang (rapid steam cooking)",
|
||||||
|
"sheyang_steam_cooking": "Sheyang (steam cooking)",
|
||||||
|
"shirts": "Shirts",
|
||||||
|
"silent": "Silent",
|
||||||
|
"silks": "Silks",
|
||||||
|
"silks_handcare": "Silks handcare",
|
||||||
|
"silverside_10_cm": "Silverside (10 cm)",
|
||||||
|
"silverside_5_cm": "Silverside (5 cm)",
|
||||||
|
"silverside_7_5_cm": "Silverside (7.5 cm)",
|
||||||
|
"simiao_rapid_steam_cooking": "Simiao (rapid steam cooking)",
|
||||||
|
"simiao_steam_cooking": "Simiao (steam cooking)",
|
||||||
|
"small_shrimps": "Small shrimps",
|
||||||
|
"smoothing": "Smoothing",
|
||||||
|
"snow_pea": "Snow pea",
|
||||||
|
"soak": "Soak",
|
||||||
|
"solar_save": "SolarSave",
|
||||||
|
"soup_hen": "Soup hen",
|
||||||
|
"sour_cherries": "Sour cherries",
|
||||||
|
"sous_vide": "Sous-vide",
|
||||||
|
"spaetzle_fresh": "Spätzle (fresh)",
|
||||||
|
"spelt_cracked": "Spelt (cracked)",
|
||||||
|
"spelt_whole": "Spelt (whole)",
|
||||||
|
"spinach": "Spinach",
|
||||||
|
"sportswear": "Sportswear",
|
||||||
|
"spot": "Spot",
|
||||||
|
"standard_pillows": "Standard pillows",
|
||||||
|
"starch": "Starch",
|
||||||
|
"steam_care": "Steam care",
|
||||||
|
"steam_cooking": "Steam cooking",
|
||||||
|
"steam_smoothing": "Steam smoothing",
|
||||||
|
"stuffed_cabbage": "Stuffed cabbage",
|
||||||
|
"sweat_onions": "Sweat onions",
|
||||||
|
"swede_cut_into_batons": "Swede (cut into batons)",
|
||||||
|
"swede_diced": "Swede (diced)",
|
||||||
|
"sweet_cheese_dumplings": "Sweet cheese dumplings",
|
||||||
|
"sweet_cherries": "Sweet cherries",
|
||||||
|
"swiss_toffee_cream_100_ml": "Swiss toffee cream (100 ml)",
|
||||||
|
"swiss_toffee_cream_150_ml": "Swiss toffee cream (150 ml)",
|
||||||
|
"tagliatelli_fresh": "Tagliatelli (fresh)",
|
||||||
|
"tall_items": "Tall items",
|
||||||
|
"teltow_turnip_diced": "Teltow turnip (diced)",
|
||||||
|
"teltow_turnip_sliced": "Teltow turnip (sliced)",
|
||||||
|
"tilapia_fillet_1_cm": "Tilapia (fillet, 1 cm)",
|
||||||
|
"tilapia_fillet_2_cm": "Tilapia (fillet, 2 cm)",
|
||||||
|
"toffee_date_dessert_one_large": "Toffee-date dessert (one large)",
|
||||||
|
"toffee_date_dessert_several_small": "Toffee-date dessert (several small)",
|
||||||
|
"top_heat": "Top heat",
|
||||||
|
"tortellini_fresh": "Tortellini (fresh)",
|
||||||
|
"trainers": "Trainers",
|
||||||
|
"treacle_sponge_pudding_one_large": "Treacle sponge pudding (one large)",
|
||||||
|
"treacle_sponge_pudding_several_small": "Treacle sponge pudding (several small)",
|
||||||
|
"trout": "Trout",
|
||||||
|
"tuna_fillet_2_cm": "Tuna (fillet, 2 cm)",
|
||||||
|
"tuna_fillet_3_cm": "Tuna (fillet, 3 cm)",
|
||||||
|
"tuna_steak": "Tuna (steak)",
|
||||||
|
"turbo": "Turbo",
|
||||||
|
"turbot_fillet_2_cm": "Turbot (fillet, 2 cm)",
|
||||||
|
"turbot_fillet_3_cm": "Turbot (fillet, 3 cm)",
|
||||||
|
"turkey_breast": "Turkey breast",
|
||||||
|
"uonumma_koshihikari_rapid_steam_cooking": "Uonumma Koshihikari (rapid steam cooking)",
|
||||||
|
"uonumma_koshihikari_steam_cooking": "Uonumma Koshihikari (steam cooking)",
|
||||||
|
"veal_fillet_medaillons_1_cm": "Veal fillet (medaillons, 1 cm)",
|
||||||
|
"veal_fillet_medaillons_2_cm": "Veal fillet (medaillons, 2 cm)",
|
||||||
|
"veal_fillet_medaillons_3_cm": "Veal fillet (medaillons, 3 cm)",
|
||||||
|
"veal_fillet_whole": "Veal fillet (whole)",
|
||||||
|
"veal_sausages": "Veal sausages",
|
||||||
|
"venus_clams": "Venus clams",
|
||||||
|
"very_hot_water": "Very hot water",
|
||||||
|
"viennese_silverside": "Viennese silverside",
|
||||||
|
"warm_air": "Warm air",
|
||||||
|
"wheat_cracked": "Wheat (cracked)",
|
||||||
|
"wheat_whole": "Wheat (whole)",
|
||||||
|
"white_asparagus_medium": "White asparagus (medium)",
|
||||||
|
"white_asparagus_thick": "White asparagus (thick)",
|
||||||
|
"white_asparagus_thin": "White asparagus (thin)",
|
||||||
|
"white_beans": "White beans",
|
||||||
|
"white_tea": "White tea",
|
||||||
|
"whole_ham_reheating": "Whole ham (reheating)",
|
||||||
|
"whole_ham_steam_cooking": "Whole ham (steam cooking)",
|
||||||
|
"wholegrain_rice": "Wholegrain rice",
|
||||||
|
"wild_rice": "Wild rice",
|
||||||
|
"woollens": "Woollens",
|
||||||
|
"woollens_handcare": "Woollens hand care",
|
||||||
|
"wuchang_rapid_steam_cooking": "Wuchang (rapid steam cooking)",
|
||||||
|
"wuchang_steam_cooking": "Wuchang (steam cooking)",
|
||||||
|
"yam_halved": "Yam (halved)",
|
||||||
|
"yam_quartered": "Yam (quartered)",
|
||||||
|
"yam_strips": "Yam (strips)",
|
||||||
|
"yeast_dumplings_fresh": "Yeast dumplings (fresh)",
|
||||||
|
"yellow_beans_cut": "Yellow beans (cut)",
|
||||||
|
"yellow_beans_whole": "Yellow beans (whole)",
|
||||||
|
"yellow_split_peas": "Yellow split peas",
|
||||||
|
"zander_fillet": "Zander (fillet)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spin_speed": {
|
||||||
|
"name": "Spin speed"
|
||||||
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"name": "Status",
|
"name": "Status",
|
||||||
"state": {
|
"state": {
|
||||||
@ -196,6 +837,15 @@
|
|||||||
"waiting_to_start": "Waiting to start"
|
"waiting_to_start": "Waiting to start"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"temperature_zone_2": {
|
||||||
|
"name": "Temperature zone 2"
|
||||||
|
},
|
||||||
|
"temperature_zone_3": {
|
||||||
|
"name": "Temperature zone 3"
|
||||||
|
},
|
||||||
|
"water_consumption": {
|
||||||
|
"name": "Water consumption"
|
||||||
|
},
|
||||||
"core_temperature": {
|
"core_temperature": {
|
||||||
"name": "Core temperature"
|
"name": "Core temperature"
|
||||||
},
|
},
|
||||||
|
534
tests/components/miele/fixtures/5_devices.json
Normal file
534
tests/components/miele/fixtures/5_devices.json
Normal file
@ -0,0 +1,534 @@
|
|||||||
|
{
|
||||||
|
"Dummy_Appliance_1": {
|
||||||
|
"ident": {
|
||||||
|
"type": {
|
||||||
|
"key_localized": "Device type",
|
||||||
|
"value_raw": 20,
|
||||||
|
"value_localized": "Freezer"
|
||||||
|
},
|
||||||
|
"deviceName": "",
|
||||||
|
"protocolVersion": 201,
|
||||||
|
"deviceIdentLabel": {
|
||||||
|
"fabNumber": "Dummy_Appliance_1",
|
||||||
|
"fabIndex": "21",
|
||||||
|
"techType": "FNS 28463 E ed/",
|
||||||
|
"matNumber": "10805070",
|
||||||
|
"swids": ["4497"]
|
||||||
|
},
|
||||||
|
"xkmIdentLabel": {
|
||||||
|
"techType": "EK042",
|
||||||
|
"releaseVersion": "31.17"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"ProgramID": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program name"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"value_raw": 5,
|
||||||
|
"value_localized": "In use",
|
||||||
|
"key_localized": "status"
|
||||||
|
},
|
||||||
|
"programType": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program type"
|
||||||
|
},
|
||||||
|
"programPhase": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program phase"
|
||||||
|
},
|
||||||
|
"remainingTime": [0, 0],
|
||||||
|
"startTime": [],
|
||||||
|
"targetTemperature": [
|
||||||
|
{
|
||||||
|
"value_raw": -1800,
|
||||||
|
"value_localized": -18,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"coreTargetTemperature": [],
|
||||||
|
"temperature": [
|
||||||
|
{
|
||||||
|
"value_raw": -1800,
|
||||||
|
"value_localized": -18,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"coreTemperature": [],
|
||||||
|
"signalInfo": false,
|
||||||
|
"signalFailure": false,
|
||||||
|
"signalDoor": false,
|
||||||
|
"remoteEnable": {
|
||||||
|
"fullRemoteControl": true,
|
||||||
|
"smartGrid": false,
|
||||||
|
"mobileStart": false
|
||||||
|
},
|
||||||
|
"ambientLight": null,
|
||||||
|
"light": null,
|
||||||
|
"elapsedTime": [],
|
||||||
|
"spinningSpeed": {
|
||||||
|
"unit": "rpm",
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": null,
|
||||||
|
"key_localized": "Spin speed"
|
||||||
|
},
|
||||||
|
"dryingStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Drying level"
|
||||||
|
},
|
||||||
|
"ventilationStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Fan level"
|
||||||
|
},
|
||||||
|
"plateStep": [],
|
||||||
|
"ecoFeedback": null,
|
||||||
|
"batteryLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Dummy_Appliance_2": {
|
||||||
|
"ident": {
|
||||||
|
"type": {
|
||||||
|
"key_localized": "Device type",
|
||||||
|
"value_raw": 19,
|
||||||
|
"value_localized": "Refrigerator"
|
||||||
|
},
|
||||||
|
"deviceName": "",
|
||||||
|
"protocolVersion": 201,
|
||||||
|
"deviceIdentLabel": {
|
||||||
|
"fabNumber": "Dummy_Appliance_2",
|
||||||
|
"fabIndex": "17",
|
||||||
|
"techType": "KS 28423 D ed/c",
|
||||||
|
"matNumber": "10804770",
|
||||||
|
"swids": ["4497"]
|
||||||
|
},
|
||||||
|
"xkmIdentLabel": {
|
||||||
|
"techType": "EK042",
|
||||||
|
"releaseVersion": "31.17"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"ProgramID": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program name"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"value_raw": 5,
|
||||||
|
"value_localized": "In use",
|
||||||
|
"key_localized": "status"
|
||||||
|
},
|
||||||
|
"programType": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program type"
|
||||||
|
},
|
||||||
|
"programPhase": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program phase"
|
||||||
|
},
|
||||||
|
"remainingTime": [0, 0],
|
||||||
|
"startTime": [0, 0],
|
||||||
|
"targetTemperature": [
|
||||||
|
{
|
||||||
|
"value_raw": 400,
|
||||||
|
"value_localized": 4,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"coreTargetTemperature": [],
|
||||||
|
"temperature": [
|
||||||
|
{
|
||||||
|
"value_raw": 400,
|
||||||
|
"value_localized": 4,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"coreTemperature": [],
|
||||||
|
"signalInfo": false,
|
||||||
|
"signalFailure": false,
|
||||||
|
"signalDoor": false,
|
||||||
|
"remoteEnable": {
|
||||||
|
"fullRemoteControl": true,
|
||||||
|
"smartGrid": false,
|
||||||
|
"mobileStart": false
|
||||||
|
},
|
||||||
|
"ambientLight": null,
|
||||||
|
"light": null,
|
||||||
|
"elapsedTime": [],
|
||||||
|
"spinningSpeed": {
|
||||||
|
"unit": "rpm",
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": null,
|
||||||
|
"key_localized": "Spin speed"
|
||||||
|
},
|
||||||
|
"dryingStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Drying level"
|
||||||
|
},
|
||||||
|
"ventilationStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Fan level"
|
||||||
|
},
|
||||||
|
"plateStep": [],
|
||||||
|
"ecoFeedback": null,
|
||||||
|
"batteryLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Dummy_Appliance_3": {
|
||||||
|
"ident": {
|
||||||
|
"type": {
|
||||||
|
"key_localized": "Device type",
|
||||||
|
"value_raw": 1,
|
||||||
|
"value_localized": "Washing machine"
|
||||||
|
},
|
||||||
|
"deviceName": "",
|
||||||
|
"protocolVersion": 4,
|
||||||
|
"deviceIdentLabel": {
|
||||||
|
"fabNumber": "Dummy_Appliance_3",
|
||||||
|
"fabIndex": "44",
|
||||||
|
"techType": "WCI870",
|
||||||
|
"matNumber": "11387290",
|
||||||
|
"swids": [
|
||||||
|
"5975",
|
||||||
|
"20456",
|
||||||
|
"25213",
|
||||||
|
"25191",
|
||||||
|
"25446",
|
||||||
|
"25205",
|
||||||
|
"25447",
|
||||||
|
"25319"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"xkmIdentLabel": {
|
||||||
|
"techType": "EK057",
|
||||||
|
"releaseVersion": "08.32"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"ProgramID": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program name"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"value_raw": 1,
|
||||||
|
"value_localized": "Off",
|
||||||
|
"key_localized": "status"
|
||||||
|
},
|
||||||
|
"programType": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program type"
|
||||||
|
},
|
||||||
|
"programPhase": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program phase"
|
||||||
|
},
|
||||||
|
"remainingTime": [0, 0],
|
||||||
|
"startTime": [0, 0],
|
||||||
|
"targetTemperature": [
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"coreTargetTemperature": [
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temperature": [
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"coreTemperature": [
|
||||||
|
{
|
||||||
|
"value_raw": -32768,
|
||||||
|
"value_localized": null,
|
||||||
|
"unit": "Celsius"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"signalInfo": false,
|
||||||
|
"signalFailure": false,
|
||||||
|
"signalDoor": true,
|
||||||
|
"remoteEnable": {
|
||||||
|
"fullRemoteControl": true,
|
||||||
|
"smartGrid": false,
|
||||||
|
"mobileStart": false
|
||||||
|
},
|
||||||
|
"ambientLight": null,
|
||||||
|
"light": null,
|
||||||
|
"elapsedTime": [0, 0],
|
||||||
|
"spinningSpeed": {
|
||||||
|
"unit": "rpm",
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": null,
|
||||||
|
"key_localized": "Spin speed"
|
||||||
|
},
|
||||||
|
"dryingStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Drying level"
|
||||||
|
},
|
||||||
|
"ventilationStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Fan level"
|
||||||
|
},
|
||||||
|
"plateStep": [],
|
||||||
|
"ecoFeedback": null,
|
||||||
|
"batteryLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Dummy_Appliance_4": {
|
||||||
|
"ident": {
|
||||||
|
"type": {
|
||||||
|
"key_localized": "Device type",
|
||||||
|
"value_raw": 12,
|
||||||
|
"value_localized": "Oven"
|
||||||
|
},
|
||||||
|
"deviceName": "",
|
||||||
|
"protocolVersion": 4,
|
||||||
|
"deviceIdentLabel": {
|
||||||
|
"fabNumber": "",
|
||||||
|
"fabIndex": "00",
|
||||||
|
"techType": "H7264B",
|
||||||
|
"matNumber": "",
|
||||||
|
"swids": ["swid00"]
|
||||||
|
},
|
||||||
|
"xkmIdentLabel": { "techType": "EK057", "releaseVersion": "08.21" }
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"ProgramID": {
|
||||||
|
"value_raw": 13,
|
||||||
|
"value_localized": "Fan plus",
|
||||||
|
"key_localized": "Program name"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"value_raw": 3,
|
||||||
|
"value_localized": "Programmed",
|
||||||
|
"key_localized": "status"
|
||||||
|
},
|
||||||
|
"programType": {
|
||||||
|
"value_raw": 1,
|
||||||
|
"value_localized": "Own program",
|
||||||
|
"key_localized": "Program type"
|
||||||
|
},
|
||||||
|
"programPhase": {
|
||||||
|
"value_raw": 0,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Program phase"
|
||||||
|
},
|
||||||
|
"remainingTime": [0, 0],
|
||||||
|
"startTime": [0, 0],
|
||||||
|
"targetTemperature": [
|
||||||
|
{ "value_raw": 18000, "value_localized": "180.0", "unit": "Celsius" },
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" },
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" }
|
||||||
|
],
|
||||||
|
"temperature": [
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" },
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" },
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" }
|
||||||
|
],
|
||||||
|
"signalInfo": false,
|
||||||
|
"signalFailure": false,
|
||||||
|
"signalDoor": false,
|
||||||
|
"remoteEnable": {
|
||||||
|
"fullRemoteControl": true,
|
||||||
|
"smartGrid": false,
|
||||||
|
"mobileStart": false
|
||||||
|
},
|
||||||
|
"ambientLight": null,
|
||||||
|
"light": 2,
|
||||||
|
"elapsedTime": [0, 0],
|
||||||
|
"spinningSpeed": {
|
||||||
|
"unit": "rpm",
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": null,
|
||||||
|
"key_localized": "Spin speed"
|
||||||
|
},
|
||||||
|
"dryingStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Drying level"
|
||||||
|
},
|
||||||
|
"ventilationStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Fan level"
|
||||||
|
},
|
||||||
|
"plateStep": [],
|
||||||
|
"ecoFeedback": null,
|
||||||
|
"batteryLevel": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Dummy_Appliance_5": {
|
||||||
|
"ident": {
|
||||||
|
"type": {
|
||||||
|
"key_localized": "Device type",
|
||||||
|
"value_raw": 7,
|
||||||
|
"value_localized": "Dishwasher"
|
||||||
|
},
|
||||||
|
"deviceName": "",
|
||||||
|
"protocolVersion": 2,
|
||||||
|
"deviceIdentLabel": {
|
||||||
|
"fabNumber": "<fabNumber5>",
|
||||||
|
"fabIndex": "64",
|
||||||
|
"techType": "G6865-W",
|
||||||
|
"matNumber": "<matNumber1>",
|
||||||
|
"swids": ["<swid1>", "<swid2>", "<swid3>", "<...>"]
|
||||||
|
},
|
||||||
|
"xkmIdentLabel": { "techType": "EK039W", "releaseVersion": "02.72" }
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"ProgramID": {
|
||||||
|
"value_raw": 99938,
|
||||||
|
"value_localized": "QuickPowerWash",
|
||||||
|
"key_localized": "Program name"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"value_raw": 5,
|
||||||
|
"value_localized": "In use",
|
||||||
|
"key_localized": "status"
|
||||||
|
},
|
||||||
|
"programType": {
|
||||||
|
"value_raw": 9992,
|
||||||
|
"value_localized": "Automatic programme",
|
||||||
|
"key_localized": "Program type"
|
||||||
|
},
|
||||||
|
"programPhase": {
|
||||||
|
"value_raw": 9991799,
|
||||||
|
"value_localized": "Drying",
|
||||||
|
"key_localized": "Program phase"
|
||||||
|
},
|
||||||
|
"remainingTime": [0, 15],
|
||||||
|
"startTime": [0, 0],
|
||||||
|
"targetTemperature": [
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" }
|
||||||
|
],
|
||||||
|
"temperature": [
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" },
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" },
|
||||||
|
{ "value_raw": -32768, "value_localized": null, "unit": "Celsius" }
|
||||||
|
],
|
||||||
|
"signalInfo": false,
|
||||||
|
"signalFailure": false,
|
||||||
|
"signalDoor": false,
|
||||||
|
"remoteEnable": {
|
||||||
|
"fullRemoteControl": true,
|
||||||
|
"smartGrid": false,
|
||||||
|
"mobileStart": false
|
||||||
|
},
|
||||||
|
"ambientLight": null,
|
||||||
|
"light": null,
|
||||||
|
"elapsedTime": [0, 59],
|
||||||
|
"spinningSpeed": {
|
||||||
|
"unit": "rpm",
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": null,
|
||||||
|
"key_localized": "Spin speed"
|
||||||
|
},
|
||||||
|
"dryingStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Drying level"
|
||||||
|
},
|
||||||
|
"ventilationStep": {
|
||||||
|
"value_raw": null,
|
||||||
|
"value_localized": "",
|
||||||
|
"key_localized": "Fan level"
|
||||||
|
},
|
||||||
|
"plateStep": [],
|
||||||
|
"ecoFeedback": {
|
||||||
|
"currentWaterConsumption": {
|
||||||
|
"unit": "l",
|
||||||
|
"value": 12
|
||||||
|
},
|
||||||
|
"currentEnergyConsumption": {
|
||||||
|
"unit": "kWh",
|
||||||
|
"value": 1.4
|
||||||
|
},
|
||||||
|
"waterForecast": 0.2,
|
||||||
|
"energyForecast": 0.1
|
||||||
|
},
|
||||||
|
"batteryLevel": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -6,24 +6,24 @@
|
|||||||
'area_id': None,
|
'area_id': None,
|
||||||
'capabilities': dict({
|
'capabilities': dict({
|
||||||
'options': list([
|
'options': list([
|
||||||
|
'autocleaning',
|
||||||
|
'failure',
|
||||||
|
'idle',
|
||||||
|
'in_use',
|
||||||
|
'not_connected',
|
||||||
'off',
|
'off',
|
||||||
'on',
|
'on',
|
||||||
'programmed',
|
|
||||||
'waiting_to_start',
|
|
||||||
'in_use',
|
|
||||||
'pause',
|
'pause',
|
||||||
'program_ended',
|
'program_ended',
|
||||||
'failure',
|
|
||||||
'program_interrupted',
|
'program_interrupted',
|
||||||
'idle',
|
'programmed',
|
||||||
'rinse_hold',
|
'rinse_hold',
|
||||||
'service',
|
'service',
|
||||||
'superfreezing',
|
|
||||||
'supercooling',
|
'supercooling',
|
||||||
'superheating',
|
|
||||||
'supercooling_superfreezing',
|
'supercooling_superfreezing',
|
||||||
'autocleaning',
|
'superfreezing',
|
||||||
'not_connected',
|
'superheating',
|
||||||
|
'waiting_to_start',
|
||||||
]),
|
]),
|
||||||
}),
|
}),
|
||||||
'config_entry_id': <ANY>,
|
'config_entry_id': <ANY>,
|
||||||
@ -61,24 +61,24 @@
|
|||||||
'friendly_name': 'Freezer',
|
'friendly_name': 'Freezer',
|
||||||
'icon': 'mdi:fridge-industrial-outline',
|
'icon': 'mdi:fridge-industrial-outline',
|
||||||
'options': list([
|
'options': list([
|
||||||
|
'autocleaning',
|
||||||
|
'failure',
|
||||||
|
'idle',
|
||||||
|
'in_use',
|
||||||
|
'not_connected',
|
||||||
'off',
|
'off',
|
||||||
'on',
|
'on',
|
||||||
'programmed',
|
|
||||||
'waiting_to_start',
|
|
||||||
'in_use',
|
|
||||||
'pause',
|
'pause',
|
||||||
'program_ended',
|
'program_ended',
|
||||||
'failure',
|
|
||||||
'program_interrupted',
|
'program_interrupted',
|
||||||
'idle',
|
'programmed',
|
||||||
'rinse_hold',
|
'rinse_hold',
|
||||||
'service',
|
'service',
|
||||||
'superfreezing',
|
|
||||||
'supercooling',
|
'supercooling',
|
||||||
'superheating',
|
|
||||||
'supercooling_superfreezing',
|
'supercooling_superfreezing',
|
||||||
'autocleaning',
|
'superfreezing',
|
||||||
'not_connected',
|
'superheating',
|
||||||
|
'waiting_to_start',
|
||||||
]),
|
]),
|
||||||
}),
|
}),
|
||||||
'context': <ANY>,
|
'context': <ANY>,
|
||||||
@ -148,24 +148,24 @@
|
|||||||
'area_id': None,
|
'area_id': None,
|
||||||
'capabilities': dict({
|
'capabilities': dict({
|
||||||
'options': list([
|
'options': list([
|
||||||
|
'autocleaning',
|
||||||
|
'failure',
|
||||||
|
'idle',
|
||||||
|
'in_use',
|
||||||
|
'not_connected',
|
||||||
'off',
|
'off',
|
||||||
'on',
|
'on',
|
||||||
'programmed',
|
|
||||||
'waiting_to_start',
|
|
||||||
'in_use',
|
|
||||||
'pause',
|
'pause',
|
||||||
'program_ended',
|
'program_ended',
|
||||||
'failure',
|
|
||||||
'program_interrupted',
|
'program_interrupted',
|
||||||
'idle',
|
'programmed',
|
||||||
'rinse_hold',
|
'rinse_hold',
|
||||||
'service',
|
'service',
|
||||||
'superfreezing',
|
|
||||||
'supercooling',
|
'supercooling',
|
||||||
'superheating',
|
|
||||||
'supercooling_superfreezing',
|
'supercooling_superfreezing',
|
||||||
'autocleaning',
|
'superfreezing',
|
||||||
'not_connected',
|
'superheating',
|
||||||
|
'waiting_to_start',
|
||||||
]),
|
]),
|
||||||
}),
|
}),
|
||||||
'config_entry_id': <ANY>,
|
'config_entry_id': <ANY>,
|
||||||
@ -203,24 +203,24 @@
|
|||||||
'friendly_name': 'Hood',
|
'friendly_name': 'Hood',
|
||||||
'icon': 'mdi:turbine',
|
'icon': 'mdi:turbine',
|
||||||
'options': list([
|
'options': list([
|
||||||
|
'autocleaning',
|
||||||
|
'failure',
|
||||||
|
'idle',
|
||||||
|
'in_use',
|
||||||
|
'not_connected',
|
||||||
'off',
|
'off',
|
||||||
'on',
|
'on',
|
||||||
'programmed',
|
|
||||||
'waiting_to_start',
|
|
||||||
'in_use',
|
|
||||||
'pause',
|
'pause',
|
||||||
'program_ended',
|
'program_ended',
|
||||||
'failure',
|
|
||||||
'program_interrupted',
|
'program_interrupted',
|
||||||
'idle',
|
'programmed',
|
||||||
'rinse_hold',
|
'rinse_hold',
|
||||||
'service',
|
'service',
|
||||||
'superfreezing',
|
|
||||||
'supercooling',
|
'supercooling',
|
||||||
'superheating',
|
|
||||||
'supercooling_superfreezing',
|
'supercooling_superfreezing',
|
||||||
'autocleaning',
|
'superfreezing',
|
||||||
'not_connected',
|
'superheating',
|
||||||
|
'waiting_to_start',
|
||||||
]),
|
]),
|
||||||
}),
|
}),
|
||||||
'context': <ANY>,
|
'context': <ANY>,
|
||||||
@ -238,24 +238,24 @@
|
|||||||
'area_id': None,
|
'area_id': None,
|
||||||
'capabilities': dict({
|
'capabilities': dict({
|
||||||
'options': list([
|
'options': list([
|
||||||
|
'autocleaning',
|
||||||
|
'failure',
|
||||||
|
'idle',
|
||||||
|
'in_use',
|
||||||
|
'not_connected',
|
||||||
'off',
|
'off',
|
||||||
'on',
|
'on',
|
||||||
'programmed',
|
|
||||||
'waiting_to_start',
|
|
||||||
'in_use',
|
|
||||||
'pause',
|
'pause',
|
||||||
'program_ended',
|
'program_ended',
|
||||||
'failure',
|
|
||||||
'program_interrupted',
|
'program_interrupted',
|
||||||
'idle',
|
'programmed',
|
||||||
'rinse_hold',
|
'rinse_hold',
|
||||||
'service',
|
'service',
|
||||||
'superfreezing',
|
|
||||||
'supercooling',
|
'supercooling',
|
||||||
'superheating',
|
|
||||||
'supercooling_superfreezing',
|
'supercooling_superfreezing',
|
||||||
'autocleaning',
|
'superfreezing',
|
||||||
'not_connected',
|
'superheating',
|
||||||
|
'waiting_to_start',
|
||||||
]),
|
]),
|
||||||
}),
|
}),
|
||||||
'config_entry_id': <ANY>,
|
'config_entry_id': <ANY>,
|
||||||
@ -293,24 +293,24 @@
|
|||||||
'friendly_name': 'Refrigerator',
|
'friendly_name': 'Refrigerator',
|
||||||
'icon': 'mdi:fridge-industrial-outline',
|
'icon': 'mdi:fridge-industrial-outline',
|
||||||
'options': list([
|
'options': list([
|
||||||
|
'autocleaning',
|
||||||
|
'failure',
|
||||||
|
'idle',
|
||||||
|
'in_use',
|
||||||
|
'not_connected',
|
||||||
'off',
|
'off',
|
||||||
'on',
|
'on',
|
||||||
'programmed',
|
|
||||||
'waiting_to_start',
|
|
||||||
'in_use',
|
|
||||||
'pause',
|
'pause',
|
||||||
'program_ended',
|
'program_ended',
|
||||||
'failure',
|
|
||||||
'program_interrupted',
|
'program_interrupted',
|
||||||
'idle',
|
'programmed',
|
||||||
'rinse_hold',
|
'rinse_hold',
|
||||||
'service',
|
'service',
|
||||||
'superfreezing',
|
|
||||||
'supercooling',
|
'supercooling',
|
||||||
'superheating',
|
|
||||||
'supercooling_superfreezing',
|
'supercooling_superfreezing',
|
||||||
'autocleaning',
|
'superfreezing',
|
||||||
'not_connected',
|
'superheating',
|
||||||
|
'waiting_to_start',
|
||||||
]),
|
]),
|
||||||
}),
|
}),
|
||||||
'context': <ANY>,
|
'context': <ANY>,
|
||||||
@ -380,24 +380,24 @@
|
|||||||
'area_id': None,
|
'area_id': None,
|
||||||
'capabilities': dict({
|
'capabilities': dict({
|
||||||
'options': list([
|
'options': list([
|
||||||
|
'autocleaning',
|
||||||
|
'failure',
|
||||||
|
'idle',
|
||||||
|
'in_use',
|
||||||
|
'not_connected',
|
||||||
'off',
|
'off',
|
||||||
'on',
|
'on',
|
||||||
'programmed',
|
|
||||||
'waiting_to_start',
|
|
||||||
'in_use',
|
|
||||||
'pause',
|
'pause',
|
||||||
'program_ended',
|
'program_ended',
|
||||||
'failure',
|
|
||||||
'program_interrupted',
|
'program_interrupted',
|
||||||
'idle',
|
'programmed',
|
||||||
'rinse_hold',
|
'rinse_hold',
|
||||||
'service',
|
'service',
|
||||||
'superfreezing',
|
|
||||||
'supercooling',
|
'supercooling',
|
||||||
'superheating',
|
|
||||||
'supercooling_superfreezing',
|
'supercooling_superfreezing',
|
||||||
'autocleaning',
|
'superfreezing',
|
||||||
'not_connected',
|
'superheating',
|
||||||
|
'waiting_to_start',
|
||||||
]),
|
]),
|
||||||
}),
|
}),
|
||||||
'config_entry_id': <ANY>,
|
'config_entry_id': <ANY>,
|
||||||
@ -435,24 +435,24 @@
|
|||||||
'friendly_name': 'Washing machine',
|
'friendly_name': 'Washing machine',
|
||||||
'icon': 'mdi:washing-machine',
|
'icon': 'mdi:washing-machine',
|
||||||
'options': list([
|
'options': list([
|
||||||
|
'autocleaning',
|
||||||
|
'failure',
|
||||||
|
'idle',
|
||||||
|
'in_use',
|
||||||
|
'not_connected',
|
||||||
'off',
|
'off',
|
||||||
'on',
|
'on',
|
||||||
'programmed',
|
|
||||||
'waiting_to_start',
|
|
||||||
'in_use',
|
|
||||||
'pause',
|
'pause',
|
||||||
'program_ended',
|
'program_ended',
|
||||||
'failure',
|
|
||||||
'program_interrupted',
|
'program_interrupted',
|
||||||
'idle',
|
'programmed',
|
||||||
'rinse_hold',
|
'rinse_hold',
|
||||||
'service',
|
'service',
|
||||||
'superfreezing',
|
|
||||||
'supercooling',
|
'supercooling',
|
||||||
'superheating',
|
|
||||||
'supercooling_superfreezing',
|
'supercooling_superfreezing',
|
||||||
'autocleaning',
|
'superfreezing',
|
||||||
'not_connected',
|
'superheating',
|
||||||
|
'waiting_to_start',
|
||||||
]),
|
]),
|
||||||
}),
|
}),
|
||||||
'context': <ANY>,
|
'context': <ANY>,
|
||||||
@ -463,3 +463,430 @@
|
|||||||
'state': 'off',
|
'state': 'off',
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_energy_consumption-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'config_subentry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
||||||
|
'entity_id': 'sensor.washing_machine_energy_consumption',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.ENERGY: 'energy'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Energy consumption',
|
||||||
|
'platform': 'miele',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'energy_consumption',
|
||||||
|
'unique_id': 'Dummy_Appliance_3-current_energy_consumption',
|
||||||
|
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_energy_consumption-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'energy',
|
||||||
|
'friendly_name': 'Washing machine Energy consumption',
|
||||||
|
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
|
||||||
|
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.washing_machine_energy_consumption',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': '0.0',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_program-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'options': list([
|
||||||
|
'automatic_plus',
|
||||||
|
'clean_machine',
|
||||||
|
'cool_air',
|
||||||
|
'cottons',
|
||||||
|
'cottons_eco',
|
||||||
|
'cottons_hygiene',
|
||||||
|
'curtains',
|
||||||
|
'dark_garments',
|
||||||
|
'delicates',
|
||||||
|
'denim',
|
||||||
|
'down_duvets',
|
||||||
|
'down_filled_items',
|
||||||
|
'drain_spin',
|
||||||
|
'eco_40_60',
|
||||||
|
'express_20',
|
||||||
|
'first_wash',
|
||||||
|
'freshen_up',
|
||||||
|
'minimum_iron',
|
||||||
|
'no_program',
|
||||||
|
'outerwear',
|
||||||
|
'pillows',
|
||||||
|
'proofing',
|
||||||
|
'quick_power_wash',
|
||||||
|
'rinse',
|
||||||
|
'rinse_out_lint',
|
||||||
|
'separate_rinse_starch',
|
||||||
|
'shirts',
|
||||||
|
'silks',
|
||||||
|
'sportswear',
|
||||||
|
'starch',
|
||||||
|
'steam_care',
|
||||||
|
'trainers',
|
||||||
|
'warm_air',
|
||||||
|
'woollens',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'config_subentry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': None,
|
||||||
|
'entity_id': 'sensor.washing_machine_program',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Program',
|
||||||
|
'platform': 'miele',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'program_id',
|
||||||
|
'unique_id': 'Dummy_Appliance_3-state_program_id',
|
||||||
|
'unit_of_measurement': None,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_program-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'enum',
|
||||||
|
'friendly_name': 'Washing machine Program',
|
||||||
|
'options': list([
|
||||||
|
'automatic_plus',
|
||||||
|
'clean_machine',
|
||||||
|
'cool_air',
|
||||||
|
'cottons',
|
||||||
|
'cottons_eco',
|
||||||
|
'cottons_hygiene',
|
||||||
|
'curtains',
|
||||||
|
'dark_garments',
|
||||||
|
'delicates',
|
||||||
|
'denim',
|
||||||
|
'down_duvets',
|
||||||
|
'down_filled_items',
|
||||||
|
'drain_spin',
|
||||||
|
'eco_40_60',
|
||||||
|
'express_20',
|
||||||
|
'first_wash',
|
||||||
|
'freshen_up',
|
||||||
|
'minimum_iron',
|
||||||
|
'no_program',
|
||||||
|
'outerwear',
|
||||||
|
'pillows',
|
||||||
|
'proofing',
|
||||||
|
'quick_power_wash',
|
||||||
|
'rinse',
|
||||||
|
'rinse_out_lint',
|
||||||
|
'separate_rinse_starch',
|
||||||
|
'shirts',
|
||||||
|
'silks',
|
||||||
|
'sportswear',
|
||||||
|
'starch',
|
||||||
|
'steam_care',
|
||||||
|
'trainers',
|
||||||
|
'warm_air',
|
||||||
|
'woollens',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.washing_machine_program',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'no_program',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_program_phase-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'options': list([
|
||||||
|
'anti_crease',
|
||||||
|
'cleaning',
|
||||||
|
'cooling_down',
|
||||||
|
'disinfecting',
|
||||||
|
'drain',
|
||||||
|
'drying',
|
||||||
|
'finished',
|
||||||
|
'freshen_up_and_moisten',
|
||||||
|
'hygiene',
|
||||||
|
'main_wash',
|
||||||
|
'not_running',
|
||||||
|
'pre_wash',
|
||||||
|
'rinse',
|
||||||
|
'rinse_hold',
|
||||||
|
'soak',
|
||||||
|
'spin',
|
||||||
|
'starch_stop',
|
||||||
|
'steam_smoothing',
|
||||||
|
'venting',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'config_subentry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': None,
|
||||||
|
'entity_id': 'sensor.washing_machine_program_phase',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Program phase',
|
||||||
|
'platform': 'miele',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'program_phase',
|
||||||
|
'unique_id': 'Dummy_Appliance_3-state_program_phase',
|
||||||
|
'unit_of_measurement': None,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_program_phase-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'enum',
|
||||||
|
'friendly_name': 'Washing machine Program phase',
|
||||||
|
'options': list([
|
||||||
|
'anti_crease',
|
||||||
|
'cleaning',
|
||||||
|
'cooling_down',
|
||||||
|
'disinfecting',
|
||||||
|
'drain',
|
||||||
|
'drying',
|
||||||
|
'finished',
|
||||||
|
'freshen_up_and_moisten',
|
||||||
|
'hygiene',
|
||||||
|
'main_wash',
|
||||||
|
'not_running',
|
||||||
|
'pre_wash',
|
||||||
|
'rinse',
|
||||||
|
'rinse_hold',
|
||||||
|
'soak',
|
||||||
|
'spin',
|
||||||
|
'starch_stop',
|
||||||
|
'steam_smoothing',
|
||||||
|
'venting',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.washing_machine_program_phase',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'not_running',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_program_type-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'options': list([
|
||||||
|
'automatic_program',
|
||||||
|
'cleaning_care_program',
|
||||||
|
'maintenance_program',
|
||||||
|
'normal_operation_mode',
|
||||||
|
'own_program',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'config_subentry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
||||||
|
'entity_id': 'sensor.washing_machine_program_type',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Program type',
|
||||||
|
'platform': 'miele',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'program_type',
|
||||||
|
'unique_id': 'Dummy_Appliance_3-state_program_type',
|
||||||
|
'unit_of_measurement': None,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_program_type-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'enum',
|
||||||
|
'friendly_name': 'Washing machine Program type',
|
||||||
|
'options': list([
|
||||||
|
'automatic_program',
|
||||||
|
'cleaning_care_program',
|
||||||
|
'maintenance_program',
|
||||||
|
'normal_operation_mode',
|
||||||
|
'own_program',
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.washing_machine_program_type',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'normal_operation_mode',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_spin_speed-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': None,
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'config_subentry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
||||||
|
'entity_id': 'sensor.washing_machine_spin_speed',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': None,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Spin speed',
|
||||||
|
'platform': 'miele',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'spin_speed',
|
||||||
|
'unique_id': 'Dummy_Appliance_3-state_spinning_speed',
|
||||||
|
'unit_of_measurement': 'rpm',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_spin_speed-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'friendly_name': 'Washing machine Spin speed',
|
||||||
|
'unit_of_measurement': 'rpm',
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.washing_machine_spin_speed',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': 'unknown',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_water_consumption-entry]
|
||||||
|
EntityRegistryEntrySnapshot({
|
||||||
|
'aliases': set({
|
||||||
|
}),
|
||||||
|
'area_id': None,
|
||||||
|
'capabilities': dict({
|
||||||
|
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
|
||||||
|
}),
|
||||||
|
'config_entry_id': <ANY>,
|
||||||
|
'config_subentry_id': <ANY>,
|
||||||
|
'device_class': None,
|
||||||
|
'device_id': <ANY>,
|
||||||
|
'disabled_by': None,
|
||||||
|
'domain': 'sensor',
|
||||||
|
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
|
||||||
|
'entity_id': 'sensor.washing_machine_water_consumption',
|
||||||
|
'has_entity_name': True,
|
||||||
|
'hidden_by': None,
|
||||||
|
'icon': None,
|
||||||
|
'id': <ANY>,
|
||||||
|
'labels': set({
|
||||||
|
}),
|
||||||
|
'name': None,
|
||||||
|
'options': dict({
|
||||||
|
}),
|
||||||
|
'original_device_class': <SensorDeviceClass.WATER: 'water'>,
|
||||||
|
'original_icon': None,
|
||||||
|
'original_name': 'Water consumption',
|
||||||
|
'platform': 'miele',
|
||||||
|
'previous_unique_id': None,
|
||||||
|
'supported_features': 0,
|
||||||
|
'translation_key': 'water_consumption',
|
||||||
|
'unique_id': 'Dummy_Appliance_3-current_water_consumption',
|
||||||
|
'unit_of_measurement': <UnitOfVolume.LITERS: 'L'>,
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
# name: test_sensor_states[platforms0][sensor.washing_machine_water_consumption-state]
|
||||||
|
StateSnapshot({
|
||||||
|
'attributes': ReadOnlyDict({
|
||||||
|
'device_class': 'water',
|
||||||
|
'friendly_name': 'Washing machine Water consumption',
|
||||||
|
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
|
||||||
|
'unit_of_measurement': <UnitOfVolume.LITERS: 'L'>,
|
||||||
|
}),
|
||||||
|
'context': <ANY>,
|
||||||
|
'entity_id': 'sensor.washing_machine_water_consumption',
|
||||||
|
'last_changed': <ANY>,
|
||||||
|
'last_reported': <ANY>,
|
||||||
|
'last_updated': <ANY>,
|
||||||
|
'state': '0.0',
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
@ -5,14 +5,14 @@ from unittest.mock import MagicMock
|
|||||||
import pytest
|
import pytest
|
||||||
from syrupy import SnapshotAssertion
|
from syrupy import SnapshotAssertion
|
||||||
|
|
||||||
from homeassistant.const import Platform
|
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers import entity_registry as er
|
from homeassistant.helpers import entity_registry as er
|
||||||
|
|
||||||
from tests.common import MockConfigEntry, snapshot_platform
|
from tests.common import MockConfigEntry, snapshot_platform
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("platforms", [(Platform.SENSOR,)])
|
@pytest.mark.parametrize("platforms", [(SENSOR_DOMAIN,)])
|
||||||
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
||||||
async def test_sensor_states(
|
async def test_sensor_states(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user