iobroker.miele-local 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/enums.js ADDED
@@ -0,0 +1,836 @@
1
+ 'use strict';
2
+ // Auto-generiert aus der RE-Referenz (ha-miele-at-lan/enums.py). Klartext-Dekodierung.
3
+
4
+ const TABLES = {
5
+ "StateStatus": {
6
+ "0": "reserved",
7
+ "1": "off",
8
+ "2": "on",
9
+ "3": "programmed",
10
+ "4": "waiting_to_start",
11
+ "5": "in_use",
12
+ "6": "pause",
13
+ "7": "program_ended",
14
+ "8": "failure",
15
+ "9": "program_interrupted",
16
+ "10": "idle",
17
+ "11": "rinse_hold",
18
+ "12": "service",
19
+ "13": "superfreezing",
20
+ "14": "supercooling",
21
+ "15": "superheating",
22
+ "146": "supercooling_superfreezing",
23
+ "147": "autocleaning",
24
+ "255": "not_connected"
25
+ },
26
+ "StateProgramType": {
27
+ "0": "normal_operation_mode",
28
+ "1": "own_program",
29
+ "2": "automatic_program",
30
+ "3": "automatic_program",
31
+ "4": "maintenance_program"
32
+ },
33
+ "StateDryingStep": {
34
+ "0": "extra_dry",
35
+ "1": "normal_plus",
36
+ "2": "normal",
37
+ "3": "slightly_dry",
38
+ "4": "hand_iron_1",
39
+ "5": "hand_iron_2",
40
+ "6": "machine_iron",
41
+ "7": "smoothing"
42
+ },
43
+ "ProgramPhaseWashingMachine": {
44
+ "0": "not_running",
45
+ "256": "not_running",
46
+ "257": "pre_wash",
47
+ "258": "soak",
48
+ "259": "pre_wash",
49
+ "260": "main_wash",
50
+ "261": "rinse",
51
+ "262": "rinse_hold",
52
+ "263": "cleaning",
53
+ "264": "cooling_down",
54
+ "265": "drain",
55
+ "266": "spin",
56
+ "267": "anti_crease",
57
+ "268": "finished",
58
+ "269": "venting",
59
+ "270": "starch_stop",
60
+ "271": "freshen_up_and_moisten",
61
+ "272": "steam_smoothing",
62
+ "279": "hygiene",
63
+ "280": "drying",
64
+ "285": "disinfecting",
65
+ "295": "steam_smoothing",
66
+ "11004": "main_wash",
67
+ "11005": "rinse",
68
+ "11010": "spin",
69
+ "11012": "finished",
70
+ "11029": "anti_crease",
71
+ "11044": "automatic_start",
72
+ "11047": "flex_load_active",
73
+ "65535": "not_running"
74
+ },
75
+ "ProgramPhaseDishwasher": {
76
+ "0": "not_running",
77
+ "1792": "not_running",
78
+ "1793": "reactivating",
79
+ "1794": "pre_dishwash",
80
+ "1795": "main_dishwash",
81
+ "1796": "rinse",
82
+ "1797": "interim_rinse",
83
+ "1798": "final_rinse",
84
+ "1799": "drying",
85
+ "1800": "finished",
86
+ "1801": "pre_dishwash",
87
+ "65535": "not_running"
88
+ },
89
+ "ProgramPhaseOven": {
90
+ "0": "not_running",
91
+ "3073": "heating_up",
92
+ "3074": "process_running",
93
+ "3078": "process_finished",
94
+ "3080": "searing",
95
+ "3081": "roasting",
96
+ "3084": "energy_save",
97
+ "3099": "pre_heating",
98
+ "65535": "not_running"
99
+ },
100
+ "ProgramPhaseTumbleDryer": {
101
+ "0": "not_running",
102
+ "512": "not_running",
103
+ "513": "program_running",
104
+ "514": "drying",
105
+ "515": "machine_iron",
106
+ "516": "hand_iron_2",
107
+ "517": "normal",
108
+ "518": "normal_plus",
109
+ "519": "cooling_down",
110
+ "520": "hand_iron_1",
111
+ "521": "anti_crease",
112
+ "522": "finished",
113
+ "523": "extra_dry",
114
+ "524": "hand_iron",
115
+ "526": "moisten",
116
+ "527": "thermo_spin",
117
+ "528": "timed_drying",
118
+ "529": "warm_air",
119
+ "530": "steam_smoothing",
120
+ "531": "comfort_cooling",
121
+ "532": "rinse_out_lint",
122
+ "533": "rinses",
123
+ "534": "smoothing",
124
+ "535": "not_running",
125
+ "536": "not_running",
126
+ "537": "not_running",
127
+ "538": "slightly_dry",
128
+ "539": "safety_cooling",
129
+ "11012": "finished",
130
+ "11018": "drying",
131
+ "11029": "anti_crease",
132
+ "11044": "automatic_start",
133
+ "11054": "perfect_dry_active",
134
+ "11055": "comfort_cooling",
135
+ "65535": "not_running"
136
+ },
137
+ "ProgramPhaseWasherDryer": {
138
+ "0": "not_running",
139
+ "256": "not_running",
140
+ "257": "pre_wash",
141
+ "258": "soak",
142
+ "259": "pre_wash",
143
+ "260": "main_wash",
144
+ "261": "rinse",
145
+ "262": "rinse_hold",
146
+ "263": "cleaning",
147
+ "264": "cooling_down",
148
+ "265": "drain",
149
+ "266": "spin",
150
+ "267": "anti_crease",
151
+ "268": "finished",
152
+ "269": "venting",
153
+ "270": "starch_stop",
154
+ "271": "freshen_up_and_moisten",
155
+ "272": "steam_smoothing",
156
+ "279": "hygiene",
157
+ "280": "drying",
158
+ "285": "disinfecting",
159
+ "295": "steam_smoothing",
160
+ "512": "not_running",
161
+ "513": "program_running",
162
+ "514": "drying",
163
+ "515": "machine_iron",
164
+ "516": "hand_iron_2",
165
+ "517": "normal",
166
+ "518": "normal_plus",
167
+ "519": "cooling_down",
168
+ "520": "hand_iron_1",
169
+ "521": "anti_crease",
170
+ "522": "finished",
171
+ "523": "extra_dry",
172
+ "524": "hand_iron",
173
+ "526": "moisten",
174
+ "527": "thermo_spin",
175
+ "528": "timed_drying",
176
+ "529": "warm_air",
177
+ "530": "steam_smoothing",
178
+ "531": "comfort_cooling",
179
+ "532": "rinse_out_lint",
180
+ "533": "rinses",
181
+ "534": "smoothing",
182
+ "535": "not_running",
183
+ "536": "not_running",
184
+ "537": "not_running",
185
+ "538": "slightly_dry",
186
+ "539": "safety_cooling",
187
+ "65535": "not_running"
188
+ },
189
+ "ProgramPhaseSteamOven": {
190
+ "0": "not_running",
191
+ "3863": "steam_reduction",
192
+ "7938": "process_running",
193
+ "7939": "waiting_for_start",
194
+ "7940": "heating_up_phase",
195
+ "7942": "process_finished",
196
+ "65535": "not_running"
197
+ },
198
+ "ProgramPhaseSteamOvenCombi": {
199
+ "0": "not_running",
200
+ "3073": "heating_up",
201
+ "3074": "process_running",
202
+ "3078": "process_finished",
203
+ "3080": "searing",
204
+ "3081": "roasting",
205
+ "3084": "energy_save",
206
+ "3099": "pre_heating",
207
+ "3863": "steam_reduction",
208
+ "7938": "process_running",
209
+ "7939": "waiting_for_start",
210
+ "7940": "heating_up_phase",
211
+ "7942": "process_finished",
212
+ "65535": "not_running"
213
+ },
214
+ "ProgramPhaseMicrowave": {
215
+ "0": "not_running",
216
+ "3329": "heating",
217
+ "3330": "process_running",
218
+ "3334": "process_finished",
219
+ "3340": "energy_save",
220
+ "65535": "not_running"
221
+ },
222
+ "ProgramPhaseCoffeeSystem": {
223
+ "0": "not_running",
224
+ "3073": "heating_up",
225
+ "4352": "not_running",
226
+ "4353": "espresso",
227
+ "4354": "hot_milk",
228
+ "4355": "milk_foam",
229
+ "4361": "dispensing",
230
+ "4369": "pre_brewing",
231
+ "4377": "grinding",
232
+ "4385": "second_espresso",
233
+ "4393": "second_pre_brewing",
234
+ "4401": "second_grinding",
235
+ "4404": "dispensing",
236
+ "4405": "rinse",
237
+ "65535": "not_running"
238
+ },
239
+ "ProgramPhaseWarmingDrawer": {
240
+ "0": "not_running",
241
+ "3073": "heating_up",
242
+ "3075": "door_open",
243
+ "3088": "cooling_down",
244
+ "3094": "keeping_warm",
245
+ "65535": "not_running"
246
+ },
247
+ "WashingMachineProgramId": {
248
+ "-1": "no_program",
249
+ "0": "no_program",
250
+ "1": "cottons",
251
+ "3": "minimum_iron",
252
+ "4": "delicates",
253
+ "8": "woollens",
254
+ "9": "silks",
255
+ "17": "starch",
256
+ "18": "rinse",
257
+ "21": "drain_spin",
258
+ "22": "curtains",
259
+ "23": "shirts",
260
+ "24": "denim",
261
+ "27": "proofing",
262
+ "29": "sportswear",
263
+ "31": "automatic_plus",
264
+ "37": "outerwear",
265
+ "39": "pillows",
266
+ "50": "dark_garments",
267
+ "52": "separate_rinse_starch",
268
+ "53": "first_wash",
269
+ "69": "cottons_hygiene",
270
+ "77": "trainers",
271
+ "91": "clean_machine",
272
+ "95": "down_duvets",
273
+ "122": "express_20",
274
+ "123": "denim",
275
+ "129": "down_filled_items",
276
+ "133": "cottons_eco",
277
+ "146": "quick_power_wash",
278
+ "190": "eco_40_60",
279
+ "10001": "cottons",
280
+ "10007": "eco_40_60",
281
+ "10016": "easy_care",
282
+ "10022": "delicates",
283
+ "10029": "express_20",
284
+ "10031": "quick_power_wash",
285
+ "10036": "drain_spin",
286
+ "10038": "shirts",
287
+ "10040": "woollens",
288
+ "10042": "silks",
289
+ "10047": "bed_linen",
290
+ "10048": "dark_jeans",
291
+ "10049": "outdoor_garments",
292
+ "10050": "down_duvets",
293
+ "10052": "sportswear",
294
+ "10053": "first_wash",
295
+ "10055": "curtains",
296
+ "10056": "trainers",
297
+ "10057": "proofing",
298
+ "10058": "rinse",
299
+ "10059": "pre_ironing",
300
+ "10065": "cottonrepair",
301
+ "10066": "trainers_refresh",
302
+ "10067": "clean_machine",
303
+ "10068": "smartmatic",
304
+ "10069": "stuffed_toys",
305
+ "10070": "game_pieces",
306
+ "10075": "powerfresh"
307
+ },
308
+ "DishWasherProgramId": {
309
+ "-1": "no_program",
310
+ "0": "no_program",
311
+ "1": "intensive",
312
+ "2": "maintenance",
313
+ "3": "eco",
314
+ "6": "automatic",
315
+ "7": "automatic",
316
+ "9": "solar_save",
317
+ "10": "gentle",
318
+ "11": "extra_quiet",
319
+ "12": "hygiene",
320
+ "13": "quick_power_wash",
321
+ "14": "pasta_paela",
322
+ "17": "tall_items",
323
+ "19": "glasses_warm",
324
+ "22": "eco",
325
+ "26": "intensive",
326
+ "27": "maintenance",
327
+ "28": "eco",
328
+ "30": "normal",
329
+ "31": "automatic",
330
+ "32": "automatic",
331
+ "34": "solar_save",
332
+ "35": "gentle",
333
+ "36": "extra_quiet",
334
+ "37": "hygiene",
335
+ "38": "quick_power_wash",
336
+ "42": "tall_items",
337
+ "44": "power_wash",
338
+ "200": "eco",
339
+ "202": "automatic",
340
+ "203": "comfort_wash",
341
+ "204": "power_wash",
342
+ "205": "intensive",
343
+ "207": "extra_quiet",
344
+ "209": "comfort_wash_plus",
345
+ "210": "gentle",
346
+ "214": "maintenance",
347
+ "215": "rinse_salt"
348
+ },
349
+ "OvenProgramId": {
350
+ "-1": "no_program",
351
+ "0": "no_program",
352
+ "1": "defrost",
353
+ "6": "eco_fan_heat",
354
+ "7": "auto_roast",
355
+ "9": "grill",
356
+ "10": "full_grill",
357
+ "11": "economy_grill",
358
+ "13": "fan_plus",
359
+ "14": "intensive_bake",
360
+ "19": "microwave",
361
+ "20": "microwave_auto_roast",
362
+ "21": "microwave_grill",
363
+ "22": "microwave_fan_plus",
364
+ "23": "microwave_fan_grill",
365
+ "24": "conventional_heat",
366
+ "25": "top_heat",
367
+ "29": "fan_grill",
368
+ "31": "bottom_heat",
369
+ "35": "moisture_plus_auto_roast",
370
+ "40": "moisture_plus_fan_plus",
371
+ "48": "moisture_plus_auto_roast",
372
+ "49": "moisture_plus_fan_plus",
373
+ "50": "moisture_plus_intensive_bake",
374
+ "51": "moisture_plus_conventional_heat",
375
+ "53": "popcorn",
376
+ "54": "quick_microwave",
377
+ "74": "moisture_plus_intensive_bake",
378
+ "76": "moisture_plus_conventional_heat",
379
+ "97": "custom_program_1",
380
+ "98": "custom_program_2",
381
+ "99": "custom_program_3",
382
+ "100": "custom_program_4",
383
+ "101": "custom_program_5",
384
+ "102": "custom_program_6",
385
+ "103": "custom_program_7",
386
+ "104": "custom_program_8",
387
+ "105": "custom_program_9",
388
+ "106": "custom_program_10",
389
+ "107": "custom_program_11",
390
+ "108": "custom_program_12",
391
+ "109": "custom_program_13",
392
+ "110": "custom_program_14",
393
+ "111": "custom_program_15",
394
+ "112": "custom_program_16",
395
+ "113": "custom_program_17",
396
+ "114": "custom_program_18",
397
+ "115": "custom_program_19",
398
+ "116": "custom_program_20",
399
+ "323": "pyrolytic",
400
+ "326": "descale",
401
+ "327": "evaporate_water",
402
+ "335": "shabbat_program",
403
+ "336": "yom_tov",
404
+ "356": "defrost",
405
+ "357": "drying",
406
+ "358": "heat_crockery",
407
+ "359": "prove_dough",
408
+ "360": "low_temperature_cooking",
409
+ "361": "steam_cooking",
410
+ "362": "keeping_warm",
411
+ "364": "apple_sponge",
412
+ "365": "apple_pie",
413
+ "367": "sponge_base",
414
+ "368": "swiss_roll",
415
+ "369": "butter_cake",
416
+ "373": "marble_cake",
417
+ "374": "fruit_streusel_cake",
418
+ "375": "madeira_cake",
419
+ "378": "blueberry_muffins",
420
+ "379": "walnut_muffins",
421
+ "382": "baguettes",
422
+ "383": "flat_bread",
423
+ "384": "plaited_loaf",
424
+ "385": "seeded_loaf",
425
+ "386": "white_bread_baking_tin",
426
+ "387": "white_bread_on_tray",
427
+ "394": "duck",
428
+ "396": "chicken_whole",
429
+ "397": "chicken_thighs",
430
+ "401": "turkey_whole",
431
+ "402": "turkey_drumsticks",
432
+ "406": "veal_fillet_roast",
433
+ "407": "veal_fillet_low_temperature_cooking",
434
+ "408": "veal_knuckle",
435
+ "409": "saddle_of_veal_roast",
436
+ "410": "saddle_of_veal_low_temperature_cooking",
437
+ "411": "braised_veal",
438
+ "415": "leg_of_lamb",
439
+ "419": "saddle_of_lamb_roast",
440
+ "420": "saddle_of_lamb_low_temperature_cooking",
441
+ "422": "beef_fillet_roast",
442
+ "423": "beef_fillet_low_temperature_cooking",
443
+ "427": "braised_beef",
444
+ "428": "roast_beef_roast",
445
+ "429": "roast_beef_low_temperature_cooking",
446
+ "435": "pork_smoked_ribs_roast",
447
+ "436": "pork_smoked_ribs_low_temperature_cooking",
448
+ "443": "ham_roast",
449
+ "449": "pork_fillet_roast",
450
+ "450": "pork_fillet_low_temperature_cooking",
451
+ "454": "saddle_of_venison",
452
+ "455": "rabbit",
453
+ "456": "saddle_of_roebuck",
454
+ "461": "salmon_fillet",
455
+ "464": "potato_cheese_gratin",
456
+ "486": "trout",
457
+ "491": "carp",
458
+ "492": "salmon_trout",
459
+ "496": "springform_tin_15cm",
460
+ "497": "springform_tin_20cm",
461
+ "498": "springform_tin_25cm",
462
+ "499": "fruit_flan_puff_pastry",
463
+ "500": "fruit_flan_short_crust_pastry",
464
+ "501": "sachertorte",
465
+ "502": "chocolate_hazlenut_cake_one_large",
466
+ "503": "chocolate_hazlenut_cake_several_small",
467
+ "504": "stollen",
468
+ "505": "drop_cookies_1_tray",
469
+ "506": "drop_cookies_2_trays",
470
+ "507": "linzer_augen_1_tray",
471
+ "508": "linzer_augen_2_trays",
472
+ "509": "almond_macaroons_1_tray",
473
+ "510": "almond_macaroons_2_trays",
474
+ "512": "biscuits_short_crust_pastry_1_tray",
475
+ "513": "biscuits_short_crust_pastry_2_trays",
476
+ "514": "vanilla_biscuits_1_tray",
477
+ "515": "vanilla_biscuits_2_trays",
478
+ "516": "choux_buns",
479
+ "518": "spelt_bread",
480
+ "519": "walnut_bread",
481
+ "520": "mixed_rye_bread",
482
+ "522": "dark_mixed_grain_bread",
483
+ "525": "multigrain_rolls",
484
+ "526": "rye_rolls",
485
+ "527": "white_rolls",
486
+ "528": "tart_flambe",
487
+ "529": "pizza_yeast_dough_baking_tray",
488
+ "530": "pizza_yeast_dough_round_baking_tine",
489
+ "531": "pizza_oil_cheese_dough_baking_tray",
490
+ "532": "pizza_oil_cheese_dough_round_baking_tine",
491
+ "533": "quiche_lorraine",
492
+ "534": "savoury_flan_puff_pastry",
493
+ "535": "savoury_flan_short_crust_pastry",
494
+ "536": "osso_buco",
495
+ "539": "beef_hash",
496
+ "543": "pork_with_crackling",
497
+ "550": "potato_gratin",
498
+ "551": "cheese_souffle",
499
+ "554": "baiser_one_large",
500
+ "555": "baiser_several_small",
501
+ "556": "lemon_meringue_pie",
502
+ "557": "viennese_apple_strudel",
503
+ "621": "prove_15_min",
504
+ "622": "prove_30_min",
505
+ "623": "prove_45_min",
506
+ "624": "belgian_sponge_cake",
507
+ "625": "goose_unstuffed",
508
+ "634": "rack_of_lamb_with_vegetables",
509
+ "635": "yorkshire_pudding",
510
+ "636": "meat_loaf",
511
+ "647": "defrost_meat",
512
+ "654": "defrost_vegetables",
513
+ "661": "heating_bakes_gratins",
514
+ "671": "heating_vegetables",
515
+ "695": "swiss_farmhouse_bread",
516
+ "696": "plaited_swiss_loaf",
517
+ "697": "tiger_bread",
518
+ "698": "ginger_loaf",
519
+ "699": "goose_stuffed",
520
+ "700": "beef_wellington",
521
+ "701": "pork_belly",
522
+ "702": "pikeperch_fillet_with_vegetables",
523
+ "17003": "no_program",
524
+ "99001": "steam_bake"
525
+ },
526
+ "TumbleDryerProgramId": {
527
+ "-1": "no_program",
528
+ "0": "no_program",
529
+ "1": "automatic_plus",
530
+ "2": "cottons",
531
+ "3": "minimum_iron",
532
+ "4": "woollens_handcare",
533
+ "5": "delicates",
534
+ "6": "warm_air",
535
+ "7": "cool_air",
536
+ "8": "express",
537
+ "9": "cottons_eco",
538
+ "10": "gentle_smoothing",
539
+ "11": "cottons_hygiene",
540
+ "12": "proofing",
541
+ "13": "denim",
542
+ "14": "shirts",
543
+ "15": "sportswear",
544
+ "16": "outerwear",
545
+ "17": "silks_handcare",
546
+ "19": "standard_pillows",
547
+ "20": "cottons",
548
+ "22": "basket_program",
549
+ "23": "cottons_hygiene",
550
+ "24": "smoothing",
551
+ "30": "minimum_iron",
552
+ "31": "bed_linen",
553
+ "40": "woollens_handcare",
554
+ "50": "delicates",
555
+ "60": "warm_air",
556
+ "66": "eco",
557
+ "70": "cool_air",
558
+ "80": "express",
559
+ "90": "cottons",
560
+ "100": "gentle_smoothing",
561
+ "120": "proofing",
562
+ "130": "denim",
563
+ "131": "gentle_denim",
564
+ "150": "sportswear",
565
+ "160": "outerwear",
566
+ "170": "silks_handcare",
567
+ "190": "standard_pillows",
568
+ "220": "basket_program",
569
+ "240": "smoothing",
570
+ "10001": "cottons",
571
+ "10016": "minimum_iron",
572
+ "10022": "delicates",
573
+ "10025": "warm_air",
574
+ "10027": "cool_air",
575
+ "10028": "express",
576
+ "10032": "quick_power_dry",
577
+ "10039": "denim",
578
+ "10040": "woollens",
579
+ "10044": "automatic",
580
+ "10047": "bed_linen",
581
+ "10049": "outerwear",
582
+ "10050": "downs_duvets",
583
+ "10052": "sportswear",
584
+ "10055": "curtains",
585
+ "10057": "proofing",
586
+ "10072": "basket_program",
587
+ "10073": "smoothing",
588
+ "10076": "quick_hygiene",
589
+ "10079": "eco",
590
+ "10080": "hygiene",
591
+ "10081": "woollens_handcare",
592
+ "10082": "silks_handcare",
593
+ "10092": "pillows_sanitize",
594
+ "13901": "custom_program_1",
595
+ "13902": "custom_program_2",
596
+ "13903": "custom_program_3",
597
+ "13904": "custom_program_4",
598
+ "13905": "custom_program_5",
599
+ "13906": "custom_program_6",
600
+ "13907": "custom_program_7",
601
+ "13908": "custom_program_8",
602
+ "13909": "custom_program_9",
603
+ "13910": "custom_program_10",
604
+ "13911": "custom_program_11",
605
+ "13912": "custom_program_12",
606
+ "13913": "custom_program_13",
607
+ "13914": "custom_program_14",
608
+ "13915": "custom_program_15",
609
+ "13916": "custom_program_16",
610
+ "13917": "custom_program_17",
611
+ "13918": "custom_program_18",
612
+ "13919": "custom_program_19",
613
+ "13920": "custom_program_20",
614
+ "99001": "steam_smoothing",
615
+ "99002": "bed_linen",
616
+ "99003": "cottons_eco",
617
+ "99004": "shirts",
618
+ "99005": "large_pillows"
619
+ },
620
+ "CoffeeSystemProgramId": {
621
+ "-1": "no_program",
622
+ "0": "no_program",
623
+ "17004": "check_appliance",
624
+ "24000": "ristretto",
625
+ "24001": "espresso",
626
+ "24002": "coffee",
627
+ "24003": "long_coffee",
628
+ "24004": "cappuccino",
629
+ "24005": "cappuccino_italiano",
630
+ "24006": "latte_macchiato",
631
+ "24007": "espresso_macchiato",
632
+ "24008": "cafe_au_lait",
633
+ "24009": "caffe_latte",
634
+ "24012": "flat_white",
635
+ "24013": "very_hot_water",
636
+ "24014": "hot_water",
637
+ "24015": "hot_milk",
638
+ "24016": "milk_foam",
639
+ "24017": "black_tea",
640
+ "24018": "herbal_tea",
641
+ "24019": "fruit_tea",
642
+ "24020": "green_tea",
643
+ "24021": "white_tea",
644
+ "24022": "japanese_tea",
645
+ "24032": "ristretto",
646
+ "24033": "espresso",
647
+ "24034": "coffee",
648
+ "24035": "long_coffee",
649
+ "24036": "cappuccino",
650
+ "24037": "cappuccino_italiano",
651
+ "24038": "latte_macchiato",
652
+ "24039": "espresso_macchiato",
653
+ "24040": "cafe_au_lait",
654
+ "24041": "caffe_latte",
655
+ "24044": "flat_white",
656
+ "24045": "very_hot_water",
657
+ "24046": "hot_water",
658
+ "24047": "hot_milk",
659
+ "24048": "milk_foam",
660
+ "24049": "black_tea",
661
+ "24050": "herbal_tea",
662
+ "24051": "fruit_tea",
663
+ "24052": "green_tea",
664
+ "24053": "white_tea",
665
+ "24064": "ristretto",
666
+ "24065": "espresso",
667
+ "24066": "coffee",
668
+ "24067": "long_coffee",
669
+ "24068": "cappuccino",
670
+ "24069": "cappuccino_italiano",
671
+ "24070": "latte_macchiato",
672
+ "24071": "espresso_macchiato",
673
+ "24072": "cafe_au_lait",
674
+ "24073": "caffe_latte",
675
+ "24076": "flat_white",
676
+ "24077": "very_hot_water",
677
+ "24078": "hot_water",
678
+ "24079": "hot_milk",
679
+ "24080": "milk_foam",
680
+ "24081": "black_tea",
681
+ "24082": "herbal_tea",
682
+ "24083": "fruit_tea",
683
+ "24084": "green_tea",
684
+ "24085": "white_tea",
685
+ "24086": "japanese_tea",
686
+ "24096": "ristretto",
687
+ "24097": "espresso",
688
+ "24098": "coffee",
689
+ "24099": "long_coffee",
690
+ "24100": "cappuccino",
691
+ "24101": "cappuccino_italiano",
692
+ "24102": "latte_macchiato",
693
+ "24104": "cafe_au_lait",
694
+ "24105": "caffe_latte",
695
+ "24108": "flat_white",
696
+ "24109": "very_hot_water",
697
+ "24110": "hot_water",
698
+ "24111": "hot_milk",
699
+ "24112": "milk_foam",
700
+ "24113": "black_tea",
701
+ "24114": "herbal_tea",
702
+ "24115": "fruit_tea",
703
+ "24116": "green_tea",
704
+ "24117": "white_tea",
705
+ "24118": "japanese_tea",
706
+ "24128": "ristretto",
707
+ "24129": "espresso",
708
+ "24130": "coffee",
709
+ "24131": "long_coffee",
710
+ "24132": "cappuccino",
711
+ "24133": "cappuccino_italiano",
712
+ "24134": "latte_macchiato",
713
+ "24135": "espresso_macchiato",
714
+ "24136": "cafe_au_lait",
715
+ "24137": "caffe_latte",
716
+ "24140": "flat_white",
717
+ "24141": "very_hot_water",
718
+ "24142": "hot_water",
719
+ "24143": "hot_milk",
720
+ "24144": "milk_foam",
721
+ "24145": "black_tea",
722
+ "24146": "herbal_tea",
723
+ "24147": "fruit_tea",
724
+ "24148": "green_tea",
725
+ "24149": "white_tea",
726
+ "24150": "japanese_tea",
727
+ "24400": "coffee_pot",
728
+ "24407": "barista_assistant",
729
+ "24750": "appliance_rinse",
730
+ "24751": "descaling",
731
+ "24753": "brewing_unit_degrease",
732
+ "24754": "milk_pipework_rinse",
733
+ "24758": "intermediate_rinsing",
734
+ "24759": "appliance_rinse",
735
+ "24773": "appliance_rinse",
736
+ "24778": "automatic_maintenance",
737
+ "24787": "appliance_rinse",
738
+ "24788": "appliance_rinse",
739
+ "24789": "milk_pipework_clean",
740
+ "29054": "japanese_tea"
741
+ },
742
+ "DishWarmerProgramId": {
743
+ "-1": "no_program",
744
+ "0": "no_program",
745
+ "1": "warm_cups_glasses",
746
+ "2": "warm_dishes_plates",
747
+ "3": "keep_warm",
748
+ "4": "slow_roasting"
749
+ },
750
+ "HobPlateStep": {
751
+ "0": "off",
752
+ "1": "1",
753
+ "2": "1.5",
754
+ "3": "2",
755
+ "4": "2.5",
756
+ "5": "3",
757
+ "6": "3.5",
758
+ "7": "4",
759
+ "8": "4.5",
760
+ "9": "5",
761
+ "10": "5.5",
762
+ "11": "6",
763
+ "12": "6.5",
764
+ "13": "7",
765
+ "14": "7.5",
766
+ "15": "8",
767
+ "16": "8.5",
768
+ "17": "9",
769
+ "18": "9.5",
770
+ "19": "10",
771
+ "20": "10.5",
772
+ "21": "11",
773
+ "22": "11.5",
774
+ "23": "12",
775
+ "100": "residual_heat_low",
776
+ "101": "residual_heat_low",
777
+ "102": "residual_heat_medium",
778
+ "103": "residual_heat_high",
779
+ "104": "residual_heat_low",
780
+ "105": "residual_heat_low",
781
+ "106": "residual_heat_medium",
782
+ "107": "residual_heat_high",
783
+ "110": "keep_warm",
784
+ "220": "keep_warm",
785
+ "117": "boost",
786
+ "118": "boost",
787
+ "218": "boost",
788
+ "217": "boost_plus"
789
+ },
790
+ "HobRemainingHeat": {
791
+ "0": "none",
792
+ "1": "low",
793
+ "2": "medium",
794
+ "3": "high"
795
+ }
796
+ };
797
+
798
+ // Gerätetyp (DeviceType aus /Ident) → passende Programm-/Phasen-Tabelle.
799
+ const BY_TYPE = {
800
+ 1: { program: 'WashingMachineProgramId', phase: 'ProgramPhaseWashingMachine' }, // Waschmaschine
801
+ 2: { program: 'TumbleDryerProgramId', phase: 'ProgramPhaseTumbleDryer' }, // Trockner
802
+ 24: { program: 'TumbleDryerProgramId', phase: 'ProgramPhaseWasherDryer' }, // Waschtrockner
803
+ 7: { program: 'DishWasherProgramId', phase: 'ProgramPhaseDishwasher' }, // Spülmaschine
804
+ 12: { program: 'OvenProgramId', phase: 'ProgramPhaseOven' }, // Backofen
805
+ 13: { program: 'OvenProgramId', phase: 'ProgramPhaseOven' }, // Backofen+Mikrowelle
806
+ 15: { program: 'OvenProgramId', phase: 'ProgramPhaseSteamOven' }, // Dampfgarer
807
+ 16: { program: 'OvenProgramId', phase: 'ProgramPhaseSteamOvenCombi' }, // Dampfbackofen
808
+ 17: { program: 'CoffeeSystemProgramId', phase: 'ProgramPhaseCoffeeSystem' }, // Kaffeevollautomat
809
+ 67: { program: 'DishWarmerProgramId', phase: 'ProgramPhaseWarmingDrawer' }, // Wärmeschublade
810
+ };
811
+
812
+ function lookup(table, value) {
813
+ const t = TABLES[table];
814
+ if (!t) return null;
815
+ return t[String(value)] || null;
816
+ }
817
+
818
+ /** Status-Klartext (geräteunabhängig). */
819
+ function statusText(v) { return lookup('StateStatus', v); }
820
+ /** Programmart-Klartext. */
821
+ function programTypeText(v) { return lookup('StateProgramType', v); }
822
+ /** Trockenstufe (Trockner). */
823
+ function dryingStepText(v) { return lookup('StateDryingStep', v); }
824
+
825
+ /** Programmname passend zum Gerätetyp. */
826
+ function programText(deviceType, programId) {
827
+ const map = BY_TYPE[deviceType];
828
+ return map ? lookup(map.program, programId) : null;
829
+ }
830
+ /** Phasenname passend zum Gerätetyp. */
831
+ function phaseText(deviceType, phase) {
832
+ const map = BY_TYPE[deviceType];
833
+ return map ? lookup(map.phase, phase) : null;
834
+ }
835
+
836
+ module.exports = { TABLES, BY_TYPE, lookup, statusText, programTypeText, dryingStepText, programText, phaseText };