From 9cf9c002bb2a5439e2221d955beb6b9b45130111 Mon Sep 17 00:00:00 2001 From: phieb Date: Sat, 8 Aug 2026 15:46:49 +0200 Subject: [PATCH 1/2] Explain the printer's error codes instead of relaying numbers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bambuddy's `hms_errors` entries carry no description at all — the schema is code/attr/module/severity/actions/full_code, and `code` is only the low half of the identifier. So an alert read "⚠️ Fehler: 0x4003", which tells nobody what to go and do. The sentence behind a code lives in Bambu's public catalogue, the same one Bambu Studio queries. `hms.py` looks it up against a bundled copy (both languages, ~65/40 kB gzipped) — bundled rather than fetched so the bot can still explain an error while the internet is down. `scripts/refresh_hms_codes.py` regenerates it after a firmware update. Both namespaces the printer mixes into that one list are covered: 16-char HMS codes (which encode the AMS unit and slot, so the text names the real slot) and 8-char print_error codes. An unlisted code still goes out as a number — that's what the wiki and support ask for. Severity picks the marker: 🛑 / ⚠️ / ℹ️. Used by the intervention alert, !progress (on its own line — an explained error is a full sentence and would wreck the " · " status strip) and the failure notice, which previously said nothing at all when Bambuddy left error_message empty, i.e. almost always. Alert identity now keys on the full code, so two different faults in the same module no longer collapse into one incident. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 17 ++++ handlers.py | 61 ++++-------- hms.py | 175 +++++++++++++++++++++++++++++++++++ hms_data/hms_de.json.gz | Bin 0 -> 66690 bytes hms_data/hms_en.json.gz | Bin 0 -> 41757 bytes i18n.py | 16 +++- scripts/refresh_hms_codes.py | 57 ++++++++++++ tests/test_hms.py | 141 ++++++++++++++++++++++++++++ tests/test_intervention.py | 26 ++++++ 9 files changed, 447 insertions(+), 46 deletions(-) create mode 100644 hms.py create mode 100755 hms_data/hms_de.json.gz create mode 100755 hms_data/hms_en.json.gz create mode 100644 scripts/refresh_hms_codes.py create mode 100644 tests/test_hms.py diff --git a/README.md b/README.md index 90f5ff4..7265cb4 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,23 @@ message when it recovers. There are deliberately no repeat reminders. Note that *low filament* warning is not possible: every AMS tray reports `remain: -1` for third-party spools, so detection is reactive only. +**Error codes are explained, not just relayed.** Bambuddy hands over the number +only (its `hms_errors` entries carry no description), so an alert used to read +`⚠️ Fehler: 0x4003`. `hms.py` resolves the code against Bambu's official +catalogue — bundled offline under `hms_data/`, both languages — and the alert, +`!progress` and the failure notice now say what is actually wrong: + +``` +⚠️ 0700-2000-0002-0001 — AMS A Slot 1 Filament ist aufgebraucht. Bitte legen Sie + ein neues Filament ein. +``` + +Severity picks the marker (🛑 fatal · ⚠️ warning · ℹ️ info). Both code namespaces +the printer uses are covered — 16-char HMS codes and 8-char `print_error` codes — +and an unlisted code still goes out as a number, which is what the Bambu wiki and +support ask for. Refresh the catalogue after a firmware update with +`./.venv/bin/python scripts/refresh_hms_codes.py` and commit the result. + ## Localization Replies are available in **German (default)** and **English**, chosen **per diff --git a/handlers.py b/handlers.py index af2644f..9d367cc 100644 --- a/handlers.py +++ b/handlers.py @@ -19,6 +19,7 @@ import classify import colors import config +import hms import i18n import signal_client import slicing @@ -1525,15 +1526,15 @@ async def _progress(group_id): rem = s.get("remaining_time") active = state.upper() in _ACTIVE_STATES or (isinstance(prog, (int, float)) and 0 < prog < 100) paused = state.upper() in _PAUSED_STATES - hms = _hms_detail(s, lang) + hms_detail = _hms_detail(s, lang) # not `hms` — that's the module if not (name and active): text = i18n.t(lang, "progress_idle", state=state.lower()) # Nothing printing *and* the plate isn't confirmed clear → say why the # queue is stalled, so checking in an hour actually explains itself. if s.get("awaiting_plate_clear"): text += "\n" + i18n.t(lang, "progress_awaiting_clear") - if hms: - text += "\n" + i18n.t(lang, "progress_hms", detail=hms) + if hms_detail: + text += "\n" + i18n.t(lang, "progress_hms", detail=hms_detail) await signal_client.send_to_group(group_id, text, attachments=attachments) return parts = [f'{"⏸️" if paused else "🖨️"} „{name}" — {state}'] @@ -1552,9 +1553,12 @@ async def _progress(group_id): clock = (datetime.datetime.now() + datetime.timedelta(minutes=r)).strftime("%H:%M") parts.append(i18n.t(lang, "progress_remaining", dur=dur)) parts.append(i18n.t(lang, "progress_done_at", clock=clock)) - if hms: - parts.append(i18n.t(lang, "progress_hms", detail=hms)) - await signal_client.send_to_group(group_id, " · ".join(parts), attachments=attachments) + # The error goes on its own line, not into the " · " status strip: an + # explained code is a full sentence and would make that strip unreadable. + text = " · ".join(parts) + if hms_detail: + text += "\n" + i18n.t(lang, "progress_hms", detail=hms_detail) + await signal_client.send_to_group(group_id, text, attachments=attachments) async def _go(group_id): @@ -1583,40 +1587,10 @@ async def poll_completions(interval=60): # ----- intervention alerts: the printer is stopped and needs a human ----- -def _hms_entry(e): - """(code, description) from one hms_errors entry. Bambuddy returns a list, but - the element shape isn't contractually pinned — accept dicts or bare strings, - and never raise: an exception in the poller kills that whole cycle for *every* - tracker, not just this one.""" - if isinstance(e, dict): - code = (e.get("code") or e.get("hms_code") or e.get("attr") or "") - desc = (e.get("description") or e.get("desc") or e.get("message") or "") - return str(code).strip(), str(desc).strip() - return str(e).strip(), "" - - -def _hms_codes(pstatus): - """Sorted HMS error codes as strings, or [] when the printer is healthy.""" - try: - entries = (pstatus or {}).get("hms_errors") or [] - codes = [c for c, _ in (_hms_entry(e) for e in entries) if c] - return sorted(set(codes)) - except Exception: - log.warning("could not read hms_errors", exc_info=True) - return [] - - -def _hms_detail(pstatus, lang="de"): - """': 0500-4003 Filament ausgegangen' — code + text, max 3, or '' if healthy.""" - try: - entries = (pstatus or {}).get("hms_errors") or [] - except Exception: - return "" - bits = [] - for e in entries[:3]: - code, desc = _hms_entry(e) - bits.append(f"{code} {desc}".strip() or i18n.t(lang, "hms_unknown")) - return (": " + "; ".join(bits)) if bits else "" +# Reading and explaining the printer's error codes lives in hms.py — Bambuddy +# ships the number only, the sentence comes from Bambu's bundled catalogue. +_hms_codes = hms.codes +_hms_detail = hms.detail def _condition(pstatus): @@ -1626,7 +1600,7 @@ def _condition(pstatus): codes = _hms_codes(pstatus) if codes: return "hms:" + ",".join(codes) - if (pstatus or {}).get("hms_errors"): + if hms.entries(pstatus): return "hms:unknown" # errors present but unparseable — still alert if ((pstatus or {}).get("state") or "").upper() in _PAUSED_STATES: return "pause" @@ -1726,7 +1700,10 @@ async def _check_completions(): ) store.set_stage(job["id"], "done") elif status == "failed": - detail = (f": {item.get('error_message')}" if item.get("error_message") else ".") + # Bambuddy rarely fills error_message; the *why* usually sits in the + # printer's HMS codes, which are still standing at that moment. + detail = (f": {item.get('error_message')}" if item.get("error_message") + else _hms_detail(pstatus, lang) or ".") await signal_client.send_to_group( job["group_id"], i18n.t(lang, "completion_failed", name=job["model_name"], detail=detail), diff --git a/hms.py b/hms.py new file mode 100644 index 0000000..253f9bb --- /dev/null +++ b/hms.py @@ -0,0 +1,175 @@ +"""Translate the printer's error numbers into sentences a human can act on. + +Bambuddy hands us ``hms_errors`` entries that carry **no description at all** +(schema: ``code``/``attr``/``module``/``severity``/``actions``/``full_code``) — +so the bot used to relay something like „⚠️ Fehler: 0x4003", which tells nobody +anything. The sentence behind a code lives in Bambu's public catalogue (the one +Bambu Studio queries); we bundle it under ``hms_data/`` and look it up offline, +see ``scripts/refresh_hms_codes.py``. + +Two code namespaces, both delivered in the same ``hms_errors`` list: + +* **HMS** — 16 hex chars, ``f"{attr:08X}{code:08X}"``, printed as + ``0700-8004-0002-0001``. Encodes the module *and* which AMS/slot is meant, so + the catalogue text names the actual slot. +* **print_error** — 8 hex chars, printed as ``0500-8061``. Same list, shorter + key, its own catalogue table. + +Everything here is defensive on purpose: this runs inside the completion poller, +where one exception kills that cycle for *every* tracker, not just the entry +that was malformed. +""" +import functools +import gzip +import json +import logging +import os +import re + +import i18n + +log = logging.getLogger("hms") + +_DATA = os.path.join(os.path.dirname(os.path.abspath(__file__)), "hms_data") +_HEX = re.compile(r"[^0-9A-Fa-f]") + +# Severity as Bambuddy reports it ((attr >> 8) & 0xF). Bambu's own scale: +# 1 fatal, 2 serious, 3 common, 4 info. +_SEVERITY_EMOJI = {1: "🛑", 2: "⚠️", 3: "⚠️", 4: "ℹ️"} +# Fallback when severity isn't reported: the error code's top nibble carries it +# (0x4xxx fatal, 0x8xxx serious/warning, 0xCxxx prompt) — see Bambuddy's parser. +_NIBBLE_SEVERITY = {"4": 1, "8": 2, "C": 4} + + +@functools.lru_cache(maxsize=4) +def _table(lang): + """{'hms': {code: text}, 'err': {code: text}} for a language, or empty dicts. + + Cached: the file is ~4500 entries and gets hit once per poll per error.""" + path = os.path.join(_DATA, f"hms_{i18n.normalize(lang)}.json.gz") + try: + with gzip.open(path, "rt", encoding="utf-8") as fh: + data = json.load(fh) + return {"hms": data.get("hms") or {}, "err": data.get("err") or {}} + except Exception: + log.warning("HMS catalogue %s unavailable — codes stay unexplained", path, + exc_info=True) + return {"hms": {}, "err": {}} + + +def _hexkey(value): + """'0x4003' / '0500-4003' / 4003 → bare uppercase hex, or '' if nothing usable.""" + if isinstance(value, int): + return f"{value:X}" + text = str(value or "").strip() + if text[:2].lower() == "0x": + text = text[2:] + text = _HEX.sub("", text) + return text.upper() + + +def _fields(entry): + """(full_code, severity, actions) from one ``hms_errors`` element. + + Accepts every shape seen in the wild: Bambuddy's dict, a dict carrying only + the legacy ``code``/``hms_code``, or a bare string. ``full_code`` is the + catalogue key — reconstructed from ``attr`` + ``code`` when Bambuddy omits + it, since ``code`` alone is just the low 32 bits.""" + if not isinstance(entry, dict): + return _hexkey(entry), None, [] + full = _hexkey(entry.get("full_code")) + code, attr = entry.get("code"), entry.get("attr") + if len(full) not in (8, 16): + if isinstance(attr, int) and code is not None and _hexkey(code): + full = f"{attr:08X}{int(_hexkey(code), 16):08X}" + else: + full = _hexkey(code or entry.get("hms_code") or entry.get("attr")) + severity = entry.get("severity") + actions = entry.get("actions") + return full, (severity if isinstance(severity, int) else None), \ + [str(a) for a in actions] if isinstance(actions, list) else [] + + +def _display(full_code): + """'07008004' → '0700-8004'; 16-char codes get the four-group form.""" + if len(full_code) in (8, 16): + return "-".join(full_code[i:i + 4] for i in range(0, len(full_code), 4)) + return full_code or "?" + + +def _text(full_code, lang): + """The catalogue sentence for a code, or '' when it isn't listed.""" + table = _table(lang) + if len(full_code) == 16: + return table["hms"].get(full_code, "") + if len(full_code) == 8: + # print_error lives in the short table; a few short codes only exist on + # the HMS side, so try both before giving up. + return table["err"].get(full_code) or table["hms"].get(full_code, "") + return "" + + +def _severity(full_code, reported): + if reported in _SEVERITY_EMOJI: + return reported + # The error half of the code (low 16 bits) starts with the severity nibble. + nibble = full_code[8:9] if len(full_code) == 16 else full_code[4:5] + return _NIBBLE_SEVERITY.get(nibble.upper(), 2) + + +def describe(entry, lang="de"): + """One printable line: '⚠️ 0700-8004 — AMS A Slot 1: Filament ist alle …'. + + Falls back to a bare code line when the catalogue doesn't know it — the code + is still worth showing, it's what the Bambu wiki and support ask for.""" + lang = i18n.normalize(lang) + try: + full, reported, _ = _fields(entry) + # An explicit description (older Bambuddy builds, tests) wins over the + # catalogue: it's what this specific installation decided to say. + text = "" + if isinstance(entry, dict): + text = str(entry.get("description") or entry.get("desc") + or entry.get("message") or "").strip() + text = text or _text(full, lang) + emoji = _SEVERITY_EMOJI.get(_severity(full, reported), "⚠️") + code = _display(full) + if not text: + return f"{emoji} {code} — {i18n.t(lang, 'hms_unknown')}" + return f"{emoji} {code} — {text}" + except Exception: + log.warning("could not describe HMS entry %r", entry, exc_info=True) + return f"⚠️ {i18n.t(lang, 'hms_unknown')}" + + +def entries(pstatus): + """The raw ``hms_errors`` list, tolerating any junk in that field.""" + try: + raw = (pstatus or {}).get("hms_errors") + except Exception: + return [] + return list(raw) if isinstance(raw, (list, tuple)) else [] + + +def codes(pstatus): + """Sorted canonical codes — the identity used to decide 'is this the same + incident as last poll?'. Empty when the printer is healthy.""" + try: + found = {_fields(e)[0] for e in entries(pstatus)} + return sorted(c for c in found if c) + except Exception: + log.warning("could not read hms_errors", exc_info=True) + return [] + + +def detail(pstatus, lang="de", limit=3): + """':\\n\\n' for the ``{detail}`` slot of the alert templates, or + '' when nothing is wrong. Capped so a cascade of follow-up codes doesn't + bury the message.""" + found = entries(pstatus) + if not found: + return "" + lines = [describe(e, lang) for e in found[:limit]] + if len(found) > limit: + lines.append(i18n.t(i18n.normalize(lang), "hms_more", n=len(found) - limit)) + return ":\n" + "\n".join(lines) diff --git a/hms_data/hms_de.json.gz b/hms_data/hms_de.json.gz new file mode 100755 index 0000000000000000000000000000000000000000..3e6392fd6d6ebb4271add610bd1c584f592c54be GIT binary patch literal 66690 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 literal 0 HcmV?d00001 diff --git a/hms_data/hms_en.json.gz b/hms_data/hms_en.json.gz new file mode 100755 index 0000000000000000000000000000000000000000..007b6eb9290dc6678923cda46a5646b15f9be082 GIT binary patch literal 41757 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 W-=oLFyWMrtb#7?Ri0tm4IQ}1yEyl$F literal 0 HcmV?d00001 diff --git a/i18n.py b/i18n.py index ea4e555..22c5724 100644 --- a/i18n.py +++ b/i18n.py @@ -448,8 +448,10 @@ def normalize(lang): "en": "⏸️ paused — waiting for you", }, "progress_hms": { - "de": "⚠️ Fehler{detail}", - "en": "⚠️ error{detail}", + # {detail} already starts with ':' and carries a severity emoji per + # line (see hms.detail) — no second warning sign here. + "de": "Der Drucker meldet{detail}", + "en": "The printer reports{detail}", }, "progress_awaiting_clear": { "de": "🧹 Die Platte ist noch voll — schick !go, wenn sie frei ist.", @@ -472,8 +474,14 @@ def normalize(lang): "en": "▶️ „{name}\" is running again.", }, "hms_unknown": { - "de": "unbekannter Fehler", - "en": "unknown error", + # Shown when Bambu's catalogue doesn't list the code (new firmware). + # The number still goes out — it's what the wiki and support ask for. + "de": "unbekannter Fehlercode (in der Bambu-Wiki nachschlagen)", + "en": "unknown error code (look it up in the Bambu wiki)", + }, + "hms_more": { + "de": "… und {n} weitere Meldung(en)", + "en": "… and {n} more message(s)", }, # ----- !go ----- diff --git a/scripts/refresh_hms_codes.py b/scripts/refresh_hms_codes.py new file mode 100644 index 0000000..7957e2a --- /dev/null +++ b/scripts/refresh_hms_codes.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +"""Re-fetch Bambu's official HMS/print-error catalogue into ``hms_data/``. + +The printer only ever sends a *number* (Bambuddy hands us ``full_code``); the +human sentence behind it lives in Bambu's public catalogue, the same one Bambu +Studio queries. We bundle it instead of calling out at runtime: the bot must be +able to explain an error while the internet is down, and the payload barely +compresses to 60 kB per language. + +Run it when codes look unknown (new firmware adds some): + + ./.venv/bin/python scripts/refresh_hms_codes.py + +then commit the regenerated ``hms_data/hms_*.json.gz``. +""" +import gzip +import json +import os +import sys +import urllib.request + +URL = "https://e.bambulab.com/query.php?lang={lang}" +OUT = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "hms_data") + + +def fetch(lang): + # The endpoint 403s a bare urllib request — it wants a browser-ish UA. + req = urllib.request.Request(URL.format(lang=lang), + headers={"User-Agent": "Mozilla/5.0 (bambu-bot hms refresh)"}) + with urllib.request.urlopen(req, timeout=60) as r: + payload = json.load(r) + data = payload["data"] + # device_hms = the 16-hex HMS codes, device_error = the 8-hex print_error + # codes. Both are lists of {ecode, intro}; we only need the mapping. + hms = {e["ecode"].upper(): e["intro"].strip() + for e in data["device_hms"][lang] if e.get("ecode") and e.get("intro")} + err = {e["ecode"].upper(): e["intro"].strip() + for e in data["device_error"][lang] if e.get("ecode") and e.get("intro")} + return {"lang": lang, "ver": data["device_hms"].get("ver"), "hms": hms, "err": err} + + +def main(langs=("de", "en")): + os.makedirs(OUT, exist_ok=True) + for lang in langs: + table = fetch(lang) + path = os.path.join(OUT, f"hms_{lang}.json.gz") + blob = json.dumps(table, ensure_ascii=False, sort_keys=True).encode() + # mtime=0 → byte-identical output for unchanged input, so a re-run that + # changes nothing produces no git diff. + with open(path, "wb") as fh: + fh.write(gzip.compress(blob, 9, mtime=0)) + print(f"{path}: {len(table['hms'])} HMS + {len(table['err'])} print-error codes " + f"(ver {table['ver']}), {os.path.getsize(path) // 1024} kB") + + +if __name__ == "__main__": + main(tuple(sys.argv[1:]) or ("de", "en")) diff --git a/tests/test_hms.py b/tests/test_hms.py new file mode 100644 index 0000000..fa9d13b --- /dev/null +++ b/tests/test_hms.py @@ -0,0 +1,141 @@ +"""Explaining the printer's error codes. + +Bambuddy sends the *number* only — its ``hms_errors`` schema has no description +field at all — so before this the bot relayed „⚠️ Fehler: 0x4003" and left the +reader none the wiser. The catalogue under ``hms_data/`` supplies the sentence. +""" +import os +import sys + +import pytest + +sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) +import hms # noqa: E402 +import i18n # noqa: E402 + + +def bambuddy_entry(full_code, severity=2, actions=()): + """The shape Bambuddy really posts (schemas/printer.py HMSErrorResponse): + ``code`` is only the low 32 bits, ``full_code`` is the catalogue key.""" + attr, code = int(full_code[:8], 16), int(full_code[8:] or "0", 16) + return {"code": f"0x{code:x}", "attr": attr, "module": (attr >> 24) & 0xFF, + "severity": severity, "actions": list(actions), "job_id": None, + "full_code": full_code} + + +# A real HMS code + its real catalogue text. Verified against Bambu's published +# table; if a firmware refresh ever renames it, that's worth noticing. +RUNOUT = "0700200000020001" +RUNOUT_TEXT = "AMS A Slot 1 Filament ist aufgebraucht" + + +def test_catalogue_is_bundled_for_both_languages(): + for lang in i18n.LANGS: + table = hms._table(lang) + assert len(table["hms"]) > 1000 and len(table["err"]) > 100 + + +def test_explains_a_real_hms_code(): + line = hms.describe(bambuddy_entry(RUNOUT)) + assert RUNOUT_TEXT in line + assert "0700-2000-0002-0001" in line # printer-screen grouping + + +def test_explains_in_english_too(): + line = hms.describe(bambuddy_entry(RUNOUT), "en") + assert "AMS A Slot 1" in line and "run out" in line + + +def test_explains_a_print_error_code(): + """print_error rides in the same list with an 8-char code and its own table.""" + line = hms.describe(bambuddy_entry("07028002"), "de") + assert "0702-8002" in line and "Schneid" in line + + +def test_code_is_reconstructed_when_full_code_is_missing(): + """`code` alone is the low half — useless as a key. attr + code rebuilds it.""" + entry = bambuddy_entry(RUNOUT) + del entry["full_code"] + assert RUNOUT_TEXT in hms.describe(entry) + + +def test_unknown_code_still_reports_the_number(): + line = hms.describe(bambuddy_entry("FFFFFFFFFFFFFFFF")) + assert "FFFF-FFFF-FFFF-FFFF" in line and "unbekannt" in line + + +def test_severity_picks_the_emoji(): + assert hms.describe(bambuddy_entry(RUNOUT, severity=1)).startswith("🛑") + assert hms.describe(bambuddy_entry(RUNOUT, severity=4)).startswith("ℹ️") + # No severity reported → derived from the code's severity nibble (0x8 = warn). + assert hms.describe({"full_code": RUNOUT}).startswith("⚠️") + + +def test_an_explicit_description_wins_over_the_catalogue(): + """Older Bambuddy builds may caption it themselves — don't overrule them.""" + line = hms.describe({"code": "0500-4003", "description": "Filament ausgegangen"}) + assert "Filament ausgegangen" in line and "0500-4003" in line + + +@pytest.mark.parametrize("entry", [None, "", "junk", {}, {"code": None}, 42, []]) +def test_junk_entries_never_raise(entry): + """This runs in the completion poller: one exception kills the whole cycle.""" + assert hms.describe(entry) + + +@pytest.mark.parametrize("status", [None, {}, {"hms_errors": None}, + {"hms_errors": "not-a-list"}, "nonsense"]) +def test_broken_status_reads_as_healthy(status): + assert hms.entries(status) == [] and hms.codes(status) == [] + assert hms.detail(status) == "" + + +def test_detail_is_one_line_per_error_and_capped(): + status = {"hms_errors": [bambuddy_entry(RUNOUT)] * 4} + out = hms.detail(status, "de", limit=3) + assert out.startswith(":\n") + assert out.count(RUNOUT_TEXT) == 3 + assert "1 weitere" in out + + +def test_codes_identify_the_incident(): + """The alert 'is this still the same problem?' key must be the full code — + two different faults in one module must not collapse into one.""" + status = {"hms_errors": [bambuddy_entry(RUNOUT), bambuddy_entry("0700200000020005")]} + assert hms.codes(status) == [RUNOUT, "0700200000020005"] + assert hms.codes({"hms_errors": []}) == [] + + +# ----- the failure message ---------------------------------------------------- + +def test_failure_message_falls_back_to_the_hms_reason(tmp_path, monkeypatch): + """Bambuddy usually leaves error_message empty; the printer's standing HMS + code is what actually says why the print died.""" + import asyncio + import config + import handlers + import store + + config.DB_PATH = str(tmp_path / "t.db") + store.init_db() + store.add_queued("group.x", "+1", "Benchy", 4, 42) + sent = [] + + async def _none(): + return None + monkeypatch.setattr(handlers.signal_client, "send_to_group", + lambda gid, msg, **kw: sent.append(msg) or _none()) + + async def _item(_id): + return {"status": "failed"} + + async def _pstatus(_pid): + return {"state": "FAILED", "hms_errors": [ + {"code": "0x20001", "attr": 0x07002000, "severity": 2, + "full_code": "0700200000020001"}]} + monkeypatch.setattr(handlers.bambuddy, "get_queue_item", _item) + monkeypatch.setattr(handlers.bambuddy, "printer_status", _pstatus) + + asyncio.run(handlers._check_completions()) + assert "fehlgeschlagen" in sent[0] + assert "AMS A Slot 1 Filament ist aufgebraucht" in sent[0] diff --git a/tests/test_intervention.py b/tests/test_intervention.py index 9c7f327..b257ed8 100644 --- a/tests/test_intervention.py +++ b/tests/test_intervention.py @@ -131,6 +131,18 @@ def test_hms_alerts_once_and_a_new_code_alerts_again(tmp_path, monkeypatch): assert len(sent) == 2 and "0300-0100" in sent[1][1] +def test_alert_explains_a_real_bambuddy_error(tmp_path, monkeypatch): + """Bambuddy sends no description — the alert must still say what happened.""" + printer = {"state": "PAUSE", "hms_errors": [ + {"code": "0x20001", "attr": 0x07002000, "module": 7, "severity": 2, + "actions": [], "job_id": None, "full_code": "0700200000020001"}]} + sent = _setup(tmp_path, monkeypatch, {"status": "printing"}, printer) + _poll(3) + assert len(sent) == 1 + assert "AMS A Slot 1 Filament ist aufgebraucht" in sent[0][1] + assert "0700-2000-0002-0001" in sent[0][1] + + def test_hms_wins_over_pause(tmp_path, monkeypatch): """A pause caused by an error should read as the error, not a bare pause.""" printer = {"state": "PAUSE", "hms_errors": [{"code": "0500-4003", "description": "x"}]} @@ -231,6 +243,20 @@ def test_progress_reports_hms(tmp_path, monkeypatch): assert "0500-4003" in sent[-1] +def test_progress_explains_a_real_bambuddy_error(tmp_path, monkeypatch): + config.DB_PATH = str(tmp_path / "t.db") + store.init_db() + sent = _progress_setup(monkeypatch, { + "state": "PAUSE", "current_print": "Box1", "progress": 42, + "hms_errors": [{"code": "0x20001", "attr": 0x07002000, "severity": 2, + "full_code": "0700200000020001"}]}) + asyncio.run(handlers._progress("group.x")) + out = sent[-1] + assert "AMS A Slot 1 Filament ist aufgebraucht" in out + # the explanation is a sentence — it must not be crammed into the " · " strip + assert "\n" in out and " · AMS" not in out + + def test_progress_idle_explains_awaiting_plate_clear(tmp_path, monkeypatch): config.DB_PATH = str(tmp_path / "t.db") store.init_db() From 735c885a57306e09c22d631f827732adfdccd0c6 Mon Sep 17 00:00:00 2001 From: phieb Date: Sat, 8 Aug 2026 15:55:34 +0200 Subject: [PATCH 2/2] Merge the P1S-scoped catalogue into the bundled tables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bambu's catalogue endpoint takes `?d=` — `01P` is our P1S, the same three characters Bambuddy keys its HMS action table off. Checked what that actually changes: nothing in the wording. Of the ~3900 codes the scoped and the generic list share, zero differ in text; scoping only filters the set. The P1S list omits 35 codes for hardware it doesn't have and knows 4 that the generic list leaves out — part-cooling fan, Ethernet accessory, SD-card wear. So fetch both and merge. Taking only the scoped list would leave rarer codes unexplained; taking only the generic one loses the fan fault on the single printer that can report it. A test pins the P1S-exclusive codes so a future refresh can't quietly drop the device fetch. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 7 +++++ hms_data/hms_de.json.gz | Bin 66690 -> 66844 bytes hms_data/hms_en.json.gz | Bin 41757 -> 41882 bytes scripts/refresh_hms_codes.py | 49 ++++++++++++++++++++++++++++------- tests/test_hms.py | 11 ++++++++ 5 files changed, 57 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 7265cb4..a249b94 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,13 @@ and an unlisted code still goes out as a number, which is what the Bambu wiki an support ask for. Refresh the catalogue after a firmware update with `./.venv/bin/python scripts/refresh_hms_codes.py` and commit the result. +The catalogue can be **scoped to one machine** by serial prefix (`?d=01P` is the +P1S). That only filters the code set — of the ~3900 codes the scoped and the +generic list share, none differ in wording. The refresh script fetches both and +merges them, so the four codes only the P1S knows (part-cooling fan, Ethernet +accessory, SD-card wear) are present without losing an explanation for anything +else a firmware might emit. + ## Localization Replies are available in **German (default)** and **English**, chosen **per diff --git a/hms_data/hms_de.json.gz b/hms_data/hms_de.json.gz index 3e6392fd6d6ebb4271add610bd1c584f592c54be..76ace3ee364d1eb3f1bcfa46f97633e598c2c98a 100755 GIT binary patch literal 66844 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 literal 66690 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 diff --git a/hms_data/hms_en.json.gz b/hms_data/hms_en.json.gz index 007b6eb9290dc6678923cda46a5646b15f9be082..11796e7319961b35e69363c94aa5eccec4169efa 100755 GIT binary patch literal 41882 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 W-=oLFyWMrtb#7?Ri0tm4IQ}1yEyl$F diff --git a/scripts/refresh_hms_codes.py b/scripts/refresh_hms_codes.py index 7957e2a..47854c4 100644 --- a/scripts/refresh_hms_codes.py +++ b/scripts/refresh_hms_codes.py @@ -7,6 +7,17 @@ able to explain an error while the internet is down, and the payload barely compresses to 60 kB per language. +``?d=`` scopes the catalogue to one machine — ``01P`` is the P1S +(our serial is ``01P00C571300842``; Bambuddy keys its action table off the same +three characters). Verified 2026-08-08: scoping only *filters* the code set, it +never changes the wording — of the ~3900 codes both lists share, **zero** differ +in text. The P1S list drops 35 codes for hardware it doesn't have and adds 4 it +alone knows (part-cooling fan ``0300-3100-…``, the Ethernet accessory, an SD-card +warning). So we fetch both and **merge**: the device list contributes its +exclusive codes, the generic one keeps an explanation available for anything an +odd firmware might emit. A wrong-but-plausible sentence isn't a risk here — the +texts are identical where they overlap. + Run it when codes look unknown (new firmware adds some): ./.venv/bin/python scripts/refresh_hms_codes.py @@ -21,22 +32,40 @@ URL = "https://e.bambulab.com/query.php?lang={lang}" OUT = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "hms_data") +# Serial prefix of the machine we print on. Other known values: 00M/00W = X1 +# series, 03W/039 = H2D family. An unknown one answers `result: 201`. +DEVICE = "01P" -def fetch(lang): +def _get(url): # The endpoint 403s a bare urllib request — it wants a browser-ish UA. - req = urllib.request.Request(URL.format(lang=lang), - headers={"User-Agent": "Mozilla/5.0 (bambu-bot hms refresh)"}) + req = urllib.request.Request( + url, headers={"User-Agent": "Mozilla/5.0 (bambu-bot hms refresh)"}) with urllib.request.urlopen(req, timeout=60) as r: payload = json.load(r) - data = payload["data"] + # `result: 0` is success; anything else comes with an empty string as data + # (e.g. 201 for a device id Bambu doesn't publish a catalogue for). + if payload.get("result") != 0 or not isinstance(payload.get("data"), dict): + raise RuntimeError(f"{url} → result {payload.get('result')}, no catalogue") + return payload["data"] + + +def _codes(data, key, lang): + """{ECODE: text} from one catalogue section (list of {ecode, intro}).""" + return {e["ecode"].upper(): e["intro"].strip() + for e in data.get(key, {}).get(lang, []) + if e.get("ecode") and e.get("intro")} + + +def fetch(lang, device=DEVICE): + generic = _get(URL.format(lang=lang)) + scoped = _get(URL.format(lang=lang) + f"&d={device}") # device_hms = the 16-hex HMS codes, device_error = the 8-hex print_error - # codes. Both are lists of {ecode, intro}; we only need the mapping. - hms = {e["ecode"].upper(): e["intro"].strip() - for e in data["device_hms"][lang] if e.get("ecode") and e.get("intro")} - err = {e["ecode"].upper(): e["intro"].strip() - for e in data["device_error"][lang] if e.get("ecode") and e.get("intro")} - return {"lang": lang, "ver": data["device_hms"].get("ver"), "hms": hms, "err": err} + # codes. Device entries last so they win on any future disagreement. + hms = {**_codes(generic, "device_hms", lang), **_codes(scoped, "device_hms", lang)} + err = {**_codes(generic, "device_error", lang), **_codes(scoped, "device_error", lang)} + return {"lang": lang, "device": device, + "ver": scoped.get("device_hms", {}).get("ver"), "hms": hms, "err": err} def main(langs=("de", "en")): diff --git a/tests/test_hms.py b/tests/test_hms.py index fa9d13b..f7c7262 100644 --- a/tests/test_hms.py +++ b/tests/test_hms.py @@ -139,3 +139,14 @@ async def _pstatus(_pid): asyncio.run(handlers._check_completions()) assert "fehlgeschlagen" in sent[0] assert "AMS A Slot 1 Filament ist aufgebraucht" in sent[0] + + +def test_p1s_specific_codes_are_bundled(): + """The catalogue is scoped by serial prefix (?d=01P). Those four codes exist + only in the P1S list — if a refresh ever drops the device fetch, they vanish + and the part-cooling-fan fault reads as 'unknown' on the one printer that + can report it.""" + for lang in i18n.LANGS: + table = hms._table(lang) + assert "0300310000010001" in table["hms"] # part cooling fan stalled + assert "0500C011" in table["err"] # SD card degraded