github DonSidro/LocalRock v1.1.0
LocalRock v1.1.0

latest release: v1.2.0
18 days ago

LocalRock v1.1.0 adds support for the V2-region onboarding introduced in local_roborock_server v1.1.0, alongside a redesigned core experience.

Server requirement: this release works with your existing server. Only the V2-region pairing flow needs a server on v1.1.0 or newer — everything else here works on 1.0.x too. The app degrades cleanly: it falls back to connected && has_public_key when the server does not send the newer complete field, and ignores the status field when it is absent.

Onboarding

  • Pairing no longer reports success too early. The app treated "connected" as done, but the server defines success as connected and the device's public key recovered. Without the key the MQTT bridge cannot work, so a vacuum could appear paired and then never show any data. Pairing now waits for the server's complete, and distinguishes connected-without-a-key, an identity conflict, and a plain timeout.
  • Fixed phantom devices. The app called /nc/prepare on every device refresh and discarded the result, but the server turns a bare nc/prepare into a persisted device — which is where ghost entries like rr_<id> came from. The call is gone.
  • Support for the server's newer onboarding fields (complete, status, and the recovering key state).

Camera live view

  • Pattern PIN. Newer models draw the camera PIN as a pattern on a 3x3 grid rather than typing it. That input is now the default, with the numeric keypad kept behind a toggle for older robots.
  • Clearer failures. The two ways a robot refuses a stream now explain themselves instead of showing raw error JSON: -1007 means remote viewing is not enabled, and -10012 means the camera is not authorized for preview.
  • Fixed a bug where the app read the robot's client_id: "none" — meaning nobody is using the camera — as a rival client, and sent five pointless stop_camera_preview calls before every connection attempt.

Known limitation: on models such as the Qrevo Curv 2 Flow, remote viewing can currently only be enabled from the manufacturer's own app while the robot is bound to the manufacturer's cloud, and the setting is lost when the robot is moved back to a local server. The authorization lives in a bit of camera_status that the firmware will not let a local client write, and no device command sets it. Live view is verified working on hardware where remote viewing is already enabled.

Connection reliability

  • Bringing the app to the foreground no longer tears down a healthy MQTT session.
  • Map polling slowed from every 2s to 8s while cleaning (60s idle) — the old rate was saturating the link with a 13KB map and competing with the status poll.
  • Repeated RPC timeouts alone no longer count as a dead socket; reconnects require actual silence or a dropped connection.
  • Added silent re-login, so an expired server session recovers by itself instead of showing a "sign in again" banner.

Redesign

Reworked device list, vacuum detail and map rendering, a new server setup step in onboarding, and revised light and dark palettes.

Don't miss a new LocalRock release

NewReleases is sending notifications on new releases.