Напрямую через Moonraker, без Home Assistant
Если у вас Klipper-принтер (Fluidd/Mainsail), но HA как хаб автоматизации не стоит — можно обойтись совсем без него. Moonraker сам отдаёт статус печати по WebSocket (тот же протокол, которым пользуются Fluidd, Mainsail и Spoolman), а наш пример-скрипт слушает его и напрямую зовёт PUT /print-jobs/{id}.
3D Print Pricing ◄──PUT /print-jobs/{id}── moonraker-order-watcher.py ◄──WebSocket── Moonraker (Klipper)Скрипт находит id заказа прямо в имени G-code файла — назовите файл при экспорте из слайсера как <id заказа>.gcode (id берётся из карточки заказа или из sandbox на странице REST API). Дальше скрипт сам следит за print_stats.state и меняет статус: printing → печать началась, complete → done, error → print_error, cancelled → cancelled.
pip install websockets
python3 moonraker-order-watcher.py \
--moonraker-ip 192.168.1.50 \
--api-base https://3dprintpricing.pro/api \
--token pat_xxxxxxxxxxxxxxxxxxxxxxxx