[RELEASE] Wyze Vacuum Integration (Cloud)

Summary

  • Adds a complete native Hubitat integration for Wyze Robot Vacuums (model JA_RO2/200S), including an app for device discovery and configuration, a driver for device control, and comprehensive documentation

  • hubitat/Wyze-Vacuum at master · bdwilson/hubitat · GitHub (also available in HPM).

  • Only tested on the above model of Vacuum.

  • Authoring assisted by Claude; essentially converted my old driver that relied on wyze-sdk to be native Hubitat app so that I wouldn't have to do all my programming/scheduling logic in Nodered.

Wyze Vacuum Connect App (Wyze-Vacuum-App.groovy): Full-featured app (~1900 lines) that:

  • Authenticates with Wyze's private API using developer credentials

  • Discovers and manages robot vacuum devices

  • Implements intelligent room-based rotation cleaning with configurable cycle lengths and high-traffic room prioritization

  • Provides room timing learning mode to measure actual clean times per room

  • Supports time-budget and fixed-count rotation modes

  • Includes low battery protection, bin emptiness tracking, and fault notifications

  • Dynamically adjusts polling intervals based on vacuum state (fast while cleaning, slow while idle)

  • Handles 2FA authentication and token refresh

Wyze Robot Vacuum Driver (Wyze-Vacuum-Driver.groovy): Child device driver that:

  • Exposes standard capabilities (Battery, Refresh, Switch)
  • Provides commands for start, pause, dock, suction level control
  • Implements room-specific cleaning commands (both named rooms and fixed slot-based buttons)
  • Displays comprehensive status attributes including battery, cleaning time/area, fault codes, and rotation state

Documentation:

  • README.md: Setup instructions, API prerequisites, attribute reference, and usage guide
  • TODO.md: Detailed changelog and implementation notes for 22 completed features/fixes
  • packageManifest.json: HPM package metadata
  • CLAUDE.md: Repository conventions for importUrl management

Notable Implementation Details

  • Uses reverse-engineered Wyze API (same as wyze-sdk, homebridge-wyze-robovac) since no official public API exists
  • Room rotation intelligently tracks per-room clean times and prioritizes overdue rooms
  • Defers room dispatches if vacuum is mid-return-to-dock to avoid silent command drops
  • Includes safety net for stale active clean runs that never confirm cleaning
  • Dynamic polling prevents missed state transitions while avoiding unnecessary API calls
  • All network calls centralized in app; driver is stateless relay for commands/events

Here are some of the options & controls available.

And what it looks like in my custom dashboard.