⚠️ Upgrading from 1.x? 2.0.0 removed the 1:1 camera.*_map and the pixel clean_zone contract — repoint your map card to camera.*_map_hd with calibration_source: {camera: true}. See v2.0.0.
Changed
- Rejected start commands now raise an error instead of only logging one — a map-card tap or an automation step no longer looks successful while the robot stays put. Applies to
vacuum.start, narwal.clean_rooms and narwal.clean_zone; narwal.resume stays log-only (it is sent blind by design).
- Rejection reasons are spelled out, including the newly decoded result code 4 (
NOT_READY): the robot declines to start until it has charged — observed right after a long clean (rejected at 23-26% battery, accepted at 30%; a running mop-drying cycle is not what blocks it). The error carries the current battery level.
Added
- Map gallery screenshots: a full-session HD map and a live zone clean with the amber active-zone overlay.
Full changelog