washer: fix swapped Towels/Bedding, add missing Table_02 course names

Issue #343: DA_WM_TP1_21_COMMON's washer_cycle_table_02 had course
codes 24 and 33 transposed -- selecting "Towels" in HA ran the
washer's Bedding cycle and vice versa (confirmed against the
reporter's diagnostics dump: Course_24 selected, courseTable
Table_02). Swapped both codes' labels back in line with the 69/6A-
79/88 family's own Bedding/Towels pair (6f/70), across every locale
catalog.

Issue #342: added the four course codes the reporter's editCourseList
carried with no catalog entry -- 06 (XXL Laundry), 08 (Rinse+Spin),
and a0 (15' Quick Wash) were missing outright; 74 (Drum Clean) turned
out to already be translated by the time this landed.

The download-course request in the same issue (selecting which
program a "Download" cycle fetches) is left for a follow-up -- still
waiting on a confirmed local write path before building anything on
top of the OneTimeCloudCourse/CloudCourse fields.
This commit is contained in:
Marc Billow
2026-08-09 16:00:27 +00:00
parent 248e473abe
commit 895fd87d2c
8 changed files with 59 additions and 16 deletions
@@ -609,6 +609,8 @@
"state": {
"01": "Normální",
"04": "Rychlé praní",
"06": "XXL prádlo",
"08": "Máchání+odstřeďování",
"17": "Stažený program",
"1b": "Bavlna",
"1c": "Eco 40-60",
@@ -619,7 +621,7 @@
"21": "Barevné prádlo",
"22": "Vlna",
"23": "Outdoor",
"24": "Ručníky",
"24": "Ložní prádlo",
"25": "Syntetika",
"26": "Jemné prádlo",
"27": "Máchání+odstřeďování",
@@ -632,7 +634,7 @@
"2f": "Sportovní oblečení",
"30": "Zataženo",
"32": "Košile",
"33": "Ložní prádlo",
"33": "Ručníky",
"34": "Smíšené",
"36": "Praní+sušení",
"37": "Sušení vzduchem",
@@ -674,6 +676,7 @@
"88": "Péče o domácí mazlíčky",
"8f": "Intenzivní studená",
"96": "Méně mikrovláken",
"a0": "15min rychlé praní",
"35": "Eko bavlna"
}
},
@@ -572,6 +572,8 @@
"state": {
"01": "Normal",
"04": "Schnellwäsche",
"06": "XXL-Wäsche",
"08": "Spülen + Schleudern",
"1b": "Baumwolle",
"1c": "Eco 40-60",
"1d": "Super Speed",
@@ -581,7 +583,7 @@
"21": "Buntwäsche",
"22": "Wolle",
"23": "Outdoor",
"24": "Handtücher",
"24": "Bettwäsche",
"25": "Pflegeleicht",
"26": "Feinwäsche",
"27": "Spülen + Schleudern",
@@ -594,7 +596,7 @@
"2f": "Sportkleidung",
"30": "Bewölkter Tag",
"32": "Hemden",
"33": "XXL-Wäsche",
"33": "Handtücher",
"34": "Mischwäsche",
"36": "Waschen + Trocknen",
"37": "Air Wash",
@@ -618,6 +620,7 @@
"87": "Download",
"8f": "Kaltwäsche Intensiv",
"96": "Weniger Mikrofasern",
"a0": "Schnelle Wäsche 15'",
"17": "Heruntergeladen",
"69": "KI-Wäsche",
"6a": "Wolle",
@@ -609,6 +609,8 @@
"state": {
"01": "Normal",
"04": "Quick Wash",
"06": "XXL Laundry",
"08": "Rinse+Spin",
"17": "Downloaded",
"1b": "Cotton",
"1c": "Eco 40-60",
@@ -619,7 +621,7 @@
"21": "Colors",
"22": "Wool",
"23": "Outdoor",
"24": "Towels",
"24": "Bedding",
"25": "Synthetics",
"26": "Delicates",
"27": "Rinse+Spin",
@@ -632,7 +634,7 @@
"2f": "Activewear",
"30": "Cloudy Day",
"32": "Shirts",
"33": "Bedding",
"33": "Towels",
"34": "Mixed",
"35": "E Cotton",
"36": "Wash+Dry",
@@ -674,7 +676,8 @@
"87": "Download",
"88": "Pet Care",
"8f": "Intense Cold",
"96": "Less Microfiber"
"96": "Less Microfiber",
"a0": "15' Quick Wash"
}
},
"washer_dry_level": {
@@ -758,6 +758,8 @@
"state": {
"01": "Normal",
"04": "Lavado rápido",
"06": "Colada XXL",
"08": "Aclarar + Centrifugar",
"17": "Descargado",
"1b": "Algodón",
"1c": "Eco 40-60",
@@ -768,7 +770,7 @@
"21": "Color",
"22": "Lana",
"23": "Exterior",
"24": "Toallas",
"24": "Ropa de cama",
"25": "Sintéticos",
"26": "Delicados",
"27": "Aclarar + Centrifugar",
@@ -781,7 +783,7 @@
"2f": "Ropa deportiva",
"30": "Día nublado",
"32": "Camisas",
"33": "Ropa de cama",
"33": "Toallas",
"34": "Mezcla",
"36": "Lavado + Secado",
"37": "Lavado con aire",
@@ -805,6 +807,7 @@
"87": "Descarga de Programas",
"8f": "Lavado en frío",
"96": "Menos microfibras",
"a0": "Lavado rápido 15'",
"69": "Lavado IA",
"6a": "Lana",
"6b": "Denim",
@@ -609,6 +609,8 @@
"state": {
"01": "Normale",
"04": "Lavaggio rapido",
"06": "Bucato XXL",
"08": "Risciacquo+Centrifuga",
"17": "Scaricato",
"1b": "Cotone",
"1c": "Eco 40-60",
@@ -619,7 +621,7 @@
"21": "Colorati",
"22": "Lana",
"23": "Capi outdoor",
"24": "Asciugamani",
"24": "Biancheria da letto",
"25": "Sintetici",
"26": "Delicati",
"27": "Risciacquo+Centrifuga",
@@ -632,7 +634,7 @@
"2f": "Abbigliamento sportivo",
"30": "Giornata nuvolosa",
"32": "Camicie",
"33": "Biancheria da letto",
"33": "Asciugamani",
"34": "Misti",
"36": "Lavaggio+Asciugatura",
"37": "Lavaggio ad aria",
@@ -674,7 +676,8 @@
"78": "Risciacquo+Centrifuga",
"79": "Solo centrifuga",
"88": "Cura animali",
"35": "Cotone E"
"35": "Cotone E",
"a0": "Rapido 15'"
}
},
"washer_dry_level": {
@@ -609,6 +609,8 @@
"state": {
"01": "표준세탁",
"04": "쾌속세탁",
"06": "XXL 세탁",
"08": "헹굼+탈수",
"17": "다운로드 코스",
"1b": "면",
"1c": "에코 40-60",
@@ -619,7 +621,7 @@
"21": "컬러 의류",
"22": "울",
"23": "아웃도어",
"24": "타월",
"24": "이불",
"25": "합성섬유",
"26": "섬세의류",
"27": "헹굼+탈수",
@@ -632,7 +634,7 @@
"2f": "피트니스",
"30": "흐린 날",
"32": "셔츠",
"33": "이불",
"33": "타월",
"34": "혼합",
"36": "세탁+건조",
"37": "에어워시",
@@ -656,6 +658,7 @@
"87": "다운로드",
"8f": "강력 냉수 세탁",
"96": "미세플라스틱저감",
"a0": "15분 쾌속세탁",
"69": "AI 맞춤세탁",
"6a": "울",
"6b": "데님",
@@ -609,6 +609,8 @@
"state": {
"01": "Normaal",
"04": "Snelle was",
"06": "XXL was",
"08": "Spoelen+centrifugeren",
"17": "Gedownload",
"1b": "Katoen",
"1c": "Eco 40-60",
@@ -619,7 +621,7 @@
"21": "Bonte was",
"22": "Wol",
"23": "Outdoor",
"24": "Handdoeken",
"24": "Beddengoed",
"25": "Synthetisch",
"26": "Fijne was",
"27": "Spoelen+centrifugeren",
@@ -632,7 +634,7 @@
"2f": "Sportkleding",
"30": "Bewolkte dag",
"32": "Overhemden",
"33": "Beddengoed",
"33": "Handdoeken",
"34": "Gemengd",
"36": "Wassen+drogen",
"37": "Air Wash",
@@ -674,6 +676,7 @@
"88": "Huisdierverzorging",
"8f": "Intensief koud",
"96": "Minder microvezels",
"a0": "15' Snelle was",
"35": "Eco katoen"
}
},
+22
View File
@@ -160,6 +160,28 @@ def test_confirmed_korean_table_02_washer_course_names():
}
def test_confirmed_washer_table_02_towels_bedding_are_not_swapped():
"""Issue #343: DA_WM_TP1_21_COMMON's Table_02 had 24/33 transposed --
selecting 'Towels' in HA ran the washer's Bedding cycle and vice versa.
24 must agree with the 69/6A-79/88 family's own Bedding/Towels pair
(6f/70), not with each other."""
states = _load("en")["entity"]["select"]["washer_cycle_table_02"]["state"]
assert states["24"] == states["6f"] == "Bedding"
assert states["33"] == states["70"] == "Towels"
def test_confirmed_washer_table_02_missing_course_names():
"""Issue #342: 06/08/a0 had no translation and fell back to the raw
device code in the UI."""
states = _load("en")["entity"]["select"]["washer_cycle_table_02"]["state"]
assert {code: states[code] for code in ("06", "08", "74", "a0")} == {
"06": "XXL Laundry",
"08": "Rinse+Spin",
"74": "Drum Clean",
"a0": "15' Quick Wash",
}
def test_confirmed_dishwasher_course_names():
states = _load("en")["entity"]["select"]["dishwasher_cycle"]["state"]
assert {