Enhanced fork of SmartServicePL/worx_vision_cloud_plus_github. The original maintainer has been unresponsive for a while, so this fork keeps receiving fixes and new features in the meantime.
Custom Home Assistant integration for Worx Landroid Vision / Vision Cloud / RTK mowers.
This integration is built on top of the community pyworxcloud library and adds a cleaner Home Assistant entity layer for Vision mowers: mower controls, useful sensors, diagnostics, schedule calendar, RTK map rendering and live-ish robot position tracking.
Integration originally prepared by Smart Service.
- Estimated area mowed today sensor, computed locally to work around REST API staleness
- Estimated daily mowing progress sensor
- Periodic device refresh for up to date stats
- Next schedule now uses pyworxcloud's own computed value
- Schedule day names and calendar events localized to the UI language
- Last update sensor throttled to once per 24h instead of on every push
- Primary mower entity follows the Home Assistant naming convention (no redundant name), improving compatibility with third-party cards such as landroid-card
- Non-deprecated device_tracker imports
- 8 additional languages: French, German, Dutch, Spanish, Italian, Swedish, Norwegian and Danish, on top of the original English and Polish
- Native Home Assistant
lawn_mowerentity. - Start, pause and dock commands.
- One-time mowing controls with runtime, edge cutting and optional RTK zone selection.
- On-demand edge cutting button.
- Native firmware
updateentity with OTA install support when Worx exposes it. - Rain delay, schedule time-extension, lawn area and lawn perimeter number entities.
- Switches for firmware auto update, mower lock and native schedule.
- Battery, status, error and connectivity sensors.
- Useful maintenance, cloud/MQTT diagnostic and mowing-readiness sensors.
- Schedule sensor and Home Assistant calendar entity.
- RTK map camera rendered from the Worx private map API with a recent RTK trail overlay.
- RTK robot position as a
device_tracker. - Optional RTK address sensor using OpenStreetMap Nominatim reverse geocoding, disabled by default.
- Switches for Smart edge cutting, Save the hedgehogs and schedule edge procedure.
- Next mowing time sensor, daily and remaining progress, today and total mowed area, lawn area and mowing efficiency sensors when available from the API.
- Translations: Polish, English, French, German, Dutch, Spanish, Italian, Swedish, Norwegian and Danish, including localized entity states, schedule and calendar.
- Optional raw payload entities for debugging, disabled by default.
- Open HACS.
- Add this repository as a custom repository.
- Select category
Integration. - Install Worx Vision Cloud PLUS.
- Restart Home Assistant.
- Go to
Settings > Devices & services > Add integration. - Search for
Worx Vision Cloud PLUS.
Copy this directory:
custom_components/worx_vision_cloud
to your Home Assistant config directory:
/config/custom_components/worx_vision_cloud
Then restart Home Assistant and add the integration from Settings > Devices & services.
Use the same e-mail and password as in the Worx Landroid app.
Supported cloud selector values:
worxkresslandxcape
Most users should keep SSL verification enabled.
The exact entity list depends on what your mower reports. Typical entities include:
lawn_mowermower controlbuttonrefresh, reset blade runtime, reset battery cycles and start edge cuttingcalendarmowing schedulecameraRTK mapdevice_trackerRTK robot positionsensorbattery, status, error, readiness, cloud connection, RSSI, schedule, next schedule, rain delay, RTK map, RTK trail, daily progress, remaining progress, today and total mowed area, lawn area, runtime, efficiency and maintenance valuesbinary_sensoronline, IoT/MQTT registration, locked, rain, party mode and pause modeswitchfirmware auto update, mower lock, native schedule, Smart edge cutting, Save the hedgehogs and schedule edge procedurenumberrain delay, schedule time extension, lawn area and lawn perimeterupdatefirmware version, release notes and OTA install when supported
See docs/entities.md for a more detailed list.
For compatible Vision Cloud / RTK mowers the integration tries to read the private Worx map endpoint and renders a Home Assistant camera entity as SVG.
The map can include:
- mowing boundary
- excluded areas
- markers and station information when available
- current robot position from RTK payload
- recent RTK trail kept in memory by Home Assistant
The map is not a video stream. It updates when Home Assistant receives new data from Worx Cloud or when the integration refreshes cached API data.
The integration includes a disabled-by-default RTK address sensor. When enabled, it reverse-geocodes the mower's rounded RTK coordinates with OpenStreetMap Nominatim and caches the result for 24 hours.
Enable this entity only if you accept sending approximate mower coordinates to the reverse-geocoding provider. This is intentionally opt-in because RTK coordinates can reveal a home or garden location. Lookups are rounded, cached and throttled to respect the public Nominatim service.
RTK maps and address lookups can contain precise garden geometry and coordinates. Do not publish debug dumps, Home Assistant storage files, access tokens, serial numbers, raw API responses or screenshots showing exact locations.
Before opening an issue, remove private data from logs and screenshots. See SECURITY.md.
The mower reports its mowing figures as covered area (the surface the blades pass over), not unique lawn area. Because a robot mows with overlapping passes, the Today mowed area and Total area mowed sensors can legitimately exceed your lawn size, and Daily progress reaches 100% once the covered area matches the lawn size. Today mowed area is derived from a local-midnight baseline and is rebuilt after a restart or a counter reset.
The lawn_mower entity is the device's primary entity and has no name of its own: its displayed name is exactly the device name (e.g. just "Vision Cloud" instead of "Vision Cloud Mower"). This is both for readability and for compatibility with third-party cards such as landroid-card, which strip the device name from every other entity's label using the primary entity's name as the prefix; a redundant word there (like "Mower") previously prevented the prefix from matching.
The Worx / Positec cloud API is not officially public. Some endpoints used here are reverse-engineered and can change without notice. This is a best-effort custom integration, not official Worx software.
- Uses
pyworxcloud. - Integration originally prepared by Smart Service.

