Update CHANGELOG and documentation for Task Hygiene improvements; enhance error handling in anycubic_lan.py; add Anycubic task display in wand.html.
This commit is contained in:
1 parent
ead7e5718e
commit
b20f8a7779
8 files changed
+467
-67
No files matched your search
+30
-10
@@ -246,21 +246,29 @@ def start_print(host, filename, bed_leveling=False, ams_settings=None):
|
||||
MQTT selbst (auto_leveling aus App-Property; ams_settings aus .acm /
|
||||
Identity-Fallback). Bei bed_leveling oder gesetzter Grotti-ams_settings
|
||||
startet Grotti per MQTTS :9883 und legt die Map explizit in die Payload.
|
||||
|
||||
Vor dem reinen Moonraker-Pfad: best-effort ensure_task_free — Rinkhals
|
||||
wandelt Start oft intern zu MQTT um; hängende gkapi-Tasks (10101) blocken.
|
||||
"""
|
||||
use_mqtt = bool(bed_leveling) or bool(ams_settings)
|
||||
if not use_mqtt:
|
||||
return post_json(host, "/printer/print/start", {"filename": filename})
|
||||
from grotti import anycubic_lan
|
||||
|
||||
if use_mqtt:
|
||||
try:
|
||||
return anycubic_lan.start_print(
|
||||
host,
|
||||
filename,
|
||||
auto_leveling=bool(bed_leveling),
|
||||
ams_settings=ams_settings,
|
||||
)
|
||||
except anycubic_lan.LanError as exc:
|
||||
raise PrinterError(exc.message) from exc
|
||||
|
||||
try:
|
||||
return anycubic_lan.start_print(
|
||||
host,
|
||||
filename,
|
||||
auto_leveling=bool(bed_leveling),
|
||||
ams_settings=ams_settings,
|
||||
)
|
||||
except anycubic_lan.LanError as exc:
|
||||
raise PrinterError(exc.message) from exc
|
||||
anycubic_lan.ensure_task_free(host)
|
||||
except Exception:
|
||||
pass
|
||||
return post_json(host, "/printer/print/start", {"filename": filename})
|
||||
|
||||
|
||||
def command(host, action):
|
||||
@@ -908,9 +916,20 @@ def query(host):
|
||||
"extrude_factor": extrude_factor,
|
||||
"slots": slots(host, status),
|
||||
"exclude": exclude_status(host),
|
||||
"anycubic_task": _anycubic_task_field(host),
|
||||
}
|
||||
|
||||
|
||||
def _anycubic_task_field(host):
|
||||
"""gkapi-Task aus print_info (TTL-Cache in anycubic_lan), best-effort."""
|
||||
try:
|
||||
from grotti import anycubic_lan
|
||||
|
||||
return anycubic_lan.anycubic_task(host)
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
|
||||
def snapshot(printers):
|
||||
def one(printer):
|
||||
card = {
|
||||
@@ -935,6 +954,7 @@ def snapshot(printers):
|
||||
"speed_factor": None,
|
||||
"extrude_factor": None,
|
||||
"slots": [],
|
||||
"anycubic_task": None,
|
||||
})
|
||||
card.update(mesh_fields(printer["host"]))
|
||||
return card
|
||||
|
||||
Reference in new issue
Block a user