maziggy
e01d3a7979
feat(mqtt): one-shot device identification probe for unknown models
...
Logs device.dev_model_name / dev_product_name / dev_id / project_name
at INFO level once per client session, falling back to device.keys()
if none of the known fields are present.
The MQTT push_status carries the model code in device.dev_model_name
on every message, but nothing in bambu_mqtt.py reads or logs that
field — so adding a new printer model meant chasing the code through
either Bambu cloud or a manual mosquitto_sub. A2L (#1684 ) was the
case that surfaced this: get_version also failed because the firmware
disconnected right after request topic subscription, so the support
bundle had no way to disclose the model.
INFO level so the line lands in support bundles without enabling
debug. One-shot via _device_id_logged, mirroring the existing
_nozzle_fields_logged flag at line 2095, so push_status spam is
avoided.
Future-proofs against Bambu renaming the field (the fallback dumps
device.keys() so a rename like model_name without the dev_ prefix
is still observable). 3 unit tests in TestDeviceIdentificationProbe
pin all three branches.
2026-06-10 07:38:02 +02:00
..
2026-06-06 10:41:28 +02:00
2026-06-10 07:38:02 +02:00
2026-06-04 11:30:26 +02:00
2026-04-26 09:40:02 +02:00
2026-06-03 10:14:57 +02:00
2026-04-27 16:14:31 +02:00
2026-05-30 13:49:09 +02:00
2026-05-14 08:58:33 +02:00
2026-05-22 10:02:41 +02:00
2026-06-06 13:40:56 +02:00
2026-04-27 16:32:10 +02:00
2026-04-17 08:38:22 +02:00
2026-06-06 13:40:56 +02:00
2026-06-05 13:53:26 +02:00
2026-04-18 08:14:53 +02:00
2026-05-24 12:51:24 +02:00
2026-05-08 09:01:51 +02:00
2026-05-15 15:43:37 +02:00
2026-05-08 11:52:42 +02:00
2026-05-24 10:16:30 +02:00
2026-04-11 11:14:54 +02:00
2026-06-05 13:53:26 +02:00
2026-04-26 14:24:28 +02:00
2026-05-29 10:55:41 +02:00
2026-05-24 08:49:21 +02:00
2026-06-09 07:38:59 +02:00
2026-05-28 08:40:43 +02:00
2026-06-05 13:53:26 +02:00
2026-06-06 13:30:13 +02:00
2026-04-27 16:02:40 +02:00
2026-04-27 16:32:10 +02:00
2026-05-11 12:27:41 +02:00
2026-05-03 08:12:36 +02:00
2026-04-24 16:02:55 +02:00
2026-05-08 14:06:40 +02:00
2026-05-16 14:35:47 +02:00
2026-04-11 11:33:49 +02:00
2026-06-02 14:51:08 +02:00
2026-04-22 11:14:42 +02:00
2026-06-02 14:51:08 +02:00
2026-05-22 10:22:14 +02:00
2026-06-04 10:17:10 +02:00
2026-04-26 10:01:17 +02:00
2026-06-05 09:29:53 +02:00
2026-04-24 16:48:59 +02:00
2026-06-02 10:02:17 +02:00
2026-06-02 10:02:17 +02:00
2026-06-02 12:42:16 +02:00
2026-05-21 08:45:59 +02:00
2026-04-13 09:54:26 +02:00
2026-05-15 08:50:37 +02:00
2026-05-15 08:50:37 +02:00
2026-05-15 08:50:37 +02:00
2026-05-15 08:50:37 +02:00
2026-05-08 11:52:42 +02:00
2026-05-13 13:23:21 +02:00
2026-04-22 17:48:53 +02:00
2026-04-29 11:17:43 +02:00
2026-05-17 09:30:02 +02:00
2026-05-20 08:12:17 +02:00
2026-06-09 09:16:36 +02:00
2026-05-11 14:08:23 +02:00
2026-06-10 07:29:31 +02:00
2026-05-21 08:30:17 +02:00
2026-05-04 10:34:36 +02:00
2026-06-08 08:18:13 +02:00
2026-05-05 16:00:22 +02:00
2026-06-02 10:02:17 +02:00
2026-05-19 10:53:36 +02:00
2026-04-07 09:20:58 +02:00
2026-05-25 09:04:47 +02:00
2026-06-02 12:12:54 +02:00
2026-05-24 09:18:38 +02:00
2026-04-13 09:12:12 +02:00
2026-04-28 17:19:17 +02:00
2026-06-09 10:43:07 +02:00
2026-05-20 11:25:45 +02:00
2026-06-05 13:53:26 +02:00
2026-05-24 09:18:38 +02:00
2026-06-08 07:54:24 +02:00
2026-04-24 13:24:00 +02:00
2026-05-14 15:28:41 +02:00
2026-05-06 09:42:15 +02:00
2026-06-04 15:50:44 +02:00
2026-04-20 17:32:34 +02:00
2026-04-29 09:13:33 +02:00
2026-04-25 13:24:49 +02:00
2026-05-12 16:02:24 +02:00
2026-05-08 11:52:42 +02:00
2026-05-08 14:28:41 +02:00
2026-04-09 08:16:54 +02:00
2026-05-08 11:52:42 +02:00
2026-05-18 08:51:27 +02:00
2026-05-17 09:10:20 +02:00
2026-05-12 08:48:30 +02:00
2026-05-20 11:00:54 +02:00
2026-06-09 09:16:36 +02:00
2026-05-08 11:52:42 +02:00
2026-05-22 09:05:25 +02:00
2026-05-22 16:31:16 +02:00
2026-06-08 10:23:02 +02:00
2026-05-24 12:30:12 +02:00
2026-05-12 09:20:53 +02:00
2026-04-26 14:24:28 +02:00
2026-05-15 08:50:37 +02:00
2026-06-09 09:16:36 +02:00
2026-06-05 17:19:16 +02:00
2026-05-30 13:34:10 +02:00
2026-05-30 13:34:10 +02:00
2026-05-30 13:34:10 +02:00
2026-06-02 14:33:20 +02:00
2026-06-05 09:50:59 +02:00
2026-06-09 08:22:38 +02:00
2026-06-03 10:04:37 +02:00