A survey of every laundry diagnostics dump attached to an issue turned up 14 devices, 4 of which carry cloud-course tokens. Two were already known; the two new ones are both useful, and one contradicts something the investigation write-up asserted. A DW5000C dishwasher (issues #113/#123) advertises four downloaded programs and carries no payload token for any of them. That is a shape the corpus didn't have: the feature is not washer-only (DA_DW, not DA_WM), and a device can name programs whose payloads have never been observed. The existing code already handles it correctly -- nothing learnable, nothing offered, gap still counted for the Repairs issue -- so this adds the fixture, golden, and tests that keep it that way. A second WW5000C (issues #259/#343, firmware _B048) holds the same saved program as the first one's captured "Towels", and the two payloads differ at exactly one byte: byte 3, 04 against 06. Everything else -- id, slot, all four varying tag values, the whole tail -- is identical. So byte 3 is neither a per-board constant nor a property of the program, and the doc's claim that it is always 04 on this board was wrong. That is also the strongest argument yet for learning payloads per device: a catalog keyed on program id would have shipped one unit's byte 3 to the other. Nothing changes in the implementation as a result -- it never had a catalog -- but the reasoning is now backed by evidence rather than caution. Also recorded: both WW5000C units advertise the byte-identical slot list despite different firmware, so the program set looks factory- or region-assigned rather than user-curated; and a sentinel's byte 2 equals the selected course on one dump but not the other, so it stays unused.
27 lines
478 B
JSON
27 lines
478 B
JSON
{
|
|
"state_keys": [
|
|
"alarm_code",
|
|
"auto_release_dry",
|
|
"child_lock",
|
|
"completion_minutes",
|
|
"cycle",
|
|
"cycle_active",
|
|
"delay_start_hours",
|
|
"diagnosis_status",
|
|
"energy_saved_kwh",
|
|
"filter_status",
|
|
"filter_usage",
|
|
"finish_time",
|
|
"firmware_update",
|
|
"heated_dry",
|
|
"machine_state",
|
|
"power_switch",
|
|
"progress",
|
|
"progress_percentage",
|
|
"remote_control",
|
|
"sanitize",
|
|
"storm_wash",
|
|
"water_liters"
|
|
]
|
|
}
|