Marc Billow
84465aee72
water_purifier, range: drop invalid device_class='lock' from switches
...
SwitchDeviceClass only ever supported 'outlet'/'switch', not 'lock'.
switch.py passes desc.device_class straight to SwitchDeviceClass(...),
so any board with these hrefs raised ValueError during switch platform
setup and lost every switch entity for the device, not just the lock
ones (issue #349 , TP2X_WATERPURIFIER_20K).
KIDS_LOCK_GENERIC/_VS_FALLBACK dodged this same bug (issues #181/#183)
by moving to a read-only BinarySensorDesc, but the water-purifier and
cooktop locks are genuinely writable, so they stay SwitchDesc and just
drop the invalid device_class (with an mdi:lock icon standing in for
the one entity_category=config gave them for free).
Added a registry-wide test that instantiates SwitchDeviceClass for
every SwitchDesc.device_class across every by_type registry, so a
future capability can't reintroduce the same crash.
2026-08-10 16:33:39 +00:00
..
2026-08-09 21:46:29 +00:00
2026-08-08 19:42:20 +00:00
2026-06-30 16:32:37 -05:00
2026-08-09 00:58:26 +00:00
2026-08-02 23:56:38 +00:00
2026-08-03 00:03:08 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00
2026-08-04 15:25:12 +09:00
2026-08-02 23:56:38 +00:00
2026-08-04 14:44:54 +09:00
2026-08-09 00:37:09 +00:00
2026-08-03 00:14:58 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-07 15:52:46 +00:00
2026-08-08 19:49:25 +00:00
2026-08-07 16:38:09 +00:00
2026-08-09 16:25:12 +00:00
2026-08-03 19:07:03 +00:00
2026-08-08 19:49:25 +00:00
2026-08-07 16:38:09 +00:00
2026-08-04 14:47:42 +09:00
2026-08-02 23:56:38 +00:00
2026-08-03 00:03:08 +00:00
2026-08-03 00:14:58 +00:00
2026-08-08 19:49:25 +00:00
2026-08-03 19:22:06 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-10 10:43:01 +00:00
2026-08-10 10:16:00 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-09 16:25:12 +00:00
2026-08-02 23:56:38 +00:00
2026-08-03 18:59:22 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-09 21:21:10 +00:00
2026-08-09 21:21:10 +00:00
2026-08-03 19:38:57 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-04 14:47:42 +09:00
2026-08-03 00:03:08 +00:00
2026-08-03 00:11:05 +00:00
2026-08-02 23:56:38 +00:00
2026-08-03 19:24:59 +00:00
2026-08-02 23:56:38 +00:00
2026-08-07 15:52:46 +00:00
2026-08-09 21:46:29 +00:00
2026-08-03 00:11:05 +00:00
2026-08-04 14:47:42 +09:00
2026-08-10 12:19:21 -04:00
2026-08-03 00:14:58 +00:00
2026-08-08 19:49:25 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00
2026-08-09 18:21:26 +00:00
2026-08-03 00:03:08 +00:00
2026-08-07 15:52:46 +00:00
2026-08-03 00:11:05 +00:00
2026-08-02 23:56:38 +00:00
2026-08-03 00:03:08 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-09 00:58:26 +00:00
2026-08-02 23:56:38 +00:00
2026-08-07 15:52:46 +00:00
2026-08-09 01:25:23 +00:00
2026-08-09 01:25:23 +00:00
2026-08-09 01:25:23 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-10 03:16:07 +00:00
2026-08-08 21:17:43 +00:00
2026-08-03 00:11:05 +00:00
2026-08-09 18:21:26 +00:00
2026-08-07 23:46:28 +00:00
2026-08-08 21:24:02 +00:00
2026-08-10 15:23:43 +09:00
2026-08-10 16:33:39 +00:00
2026-08-10 15:19:13 +09:00
2026-08-03 00:03:08 +00:00
2026-08-09 21:21:10 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00