Skip to content

v2.5.4

Choose a tag to compare

@thecodingdad thecodingdad released this 15 May 22:13
· 105 commits to main since this release

Highlights

Big WS-V2 firmware sweep driven by GizmoGoody's F2 Ultra UV retest (#4) plus a Studio-bundle audit across every model.

Fixes

  • Entity-ID migration: stable across reloads. The legacy ↔ friendly-name ping-pong is gone; orphaned legacy entries from earlier cycles are cleaned up so recorder history rebinds correctly.
  • DEVICE_CONFIG push fan-out: Studio ↔ HA toggle desync (Beep / Cover check / Fill light / IR LED) — switches now reflect device-side changes within one push cycle instead of waiting 5 s for the next poll.
  • Job events fire when launched from xTool Studio, not just from the controller button. Driven directly off /work/result + /device/status pushes.
  • DuctFanV3 (IF2 2.0) M9082 parser: positional token parsing — the firmware version string used to leak into other fields.
  • Camera snap proceeds past /v1/filetransfer/download code -99 errors (F2 Ultra UV firmware 40.130.021); the file_stream descriptor still works.

New entities

  • Safety key binary sensor — reclassified machine_lock as USB safety-key presence (PLUG device class, polarity flipped). Studio reads the same field as UsbKeyLockStatus.
  • Stops when moved switch — V2 workingMode HANDLE/NORMAL enum, replacing the old (wrongly-wired) Lock check.
  • Device sleep switch — F1 / F2 family, drives autoSleepEnable.
  • Z-axis homing button — F2 Ultra UV, sends Studio's /v1/laser-head/focus/control {action:"goTo", autoHome:1}.
  • Fill light front / Fill light back — F2 family dual-LED enclosure (split from the single-channel entity).
  • IF2 2.0 — single Fan Select with 7 options (Auto Regular, Auto Quiet, Off, 1–4) backed by M9064 <mode><gear>. Replaces the prior mode + manual-gear pair.
  • IF2 2.0 — post-run timer Number entity backed by M9085 T<seconds>.

Renames (Studio-aligned)

  • Beep → Buzzer reminders
  • Gap check → Stops when enclosure opened
  • IR LED global → Red dot
  • IF2 BT-buzzer switch → Buzzer
  • IF2 preset select → Fan

Removed

  • Flame-alarm 3-state Select + Flame-level Select (firmware exposes only an on/off flameAlarm toggle).
  • Fill-light auto-off Number + Filter check switch (no firmware backing — Studio-bundle audit confirmed).
  • Working-mode diagnostic sensor (redundant with the new Stops when moved switch).
  • Lock check switch (was wired to the wrong field; replaced by Stops when moved).
  • IF2 standalone serial-number sensor (now on the connected-device's serial_number).
  • Beep / Cover check / Lock check diagnostic mirror binary sensors (redundant — config switches reflect state correctly in both directions).
  • /v1/device/operate-log probe (returned code -2: invalid request on every reconnect; not exposed by any V2 firmware audited).

Quality of life

  • Cameras consolidated 4 → 2 on F2 family — one entity per physical lens serves both stills and live MJPEG.
  • REST poll cycles short-circuit when a device is offline (helps multi-device setups where one device drops off the network).
  • IF2 accessory's product SN now appears as the connected device's serial_number on the HA device page.
  • M1 Ultra (V2) gets the Safety key + Stops-when-moved entity set.