Unofficial Home Assistant integration for the Lymow robot lawn mower.
Control your robot, monitor its status, view zones and map โ all from Home Assistant.
โ ๏ธ This integration is not affiliated with or endorsed by Lymow.
It was built by reverse engineering the official Lymow Android app.
- ๐ค Lawn Mower entity โ start, pause, dock via the standard HA lawn mower card
- ๐ Command buttons โ individual Start, Pause, Dock, Cancel Task and Dock & Cancel buttons for use anywhere in Lovelace
- ๐ Sensors โ battery, work status, blade height, mow mode, RTK GPS, WiFi/4G signal, firmware version, session area, session progress, mow duration
- ๐ข Binary sensors โ online, charging, mowing, error, lifted, rain delay, WiFi/4G connected
- ๐บ๏ธ Map camera โ diagnostic PNG rendered from S3 backup map with zone polygons, robot position, dock location and mow path overlay
- ๐ก Live camera โ RTSP stream from the robot's onboard camera, transcoded to HLS by HA's built-in
streamcomponent - ๐ GeoJSON sensor โ full zone map as a GeoJSON FeatureCollection (WGS84) for use with custom Lovelace map cards or external apps
- ๐๏ธ Mow mode selector โ change cutting pattern (Zigzag, Chess Board, Perimeter Only, Adaptive Zigzag)
- ๐ฆ Firmware update notifications โ HA Updates panel shows available OTA versions with release notes
- ๐ Session history events โ
event.lymow_session_completedfires on every completed mow with area, duration, battery and zones - ๐ Multi-region โ Europe, Asia Pacific (Sydney & Hong Kong), US East
- ๐ Token auto-refresh โ stays logged in, no manual intervention needed
- Home Assistant 2024.1 or newer
- A Lymow account created with email and password or Google login
- Your robot must be paired to that account via the official Lymow app
โ ๏ธ Apple login is not supported.
Those accounts use OAuth2 with a mobile deep link (myapp://callback) that cannot be replicated in a headless environment.
- Make sure HACS is installed in your Home Assistant instance.
- Click the button below to add this repository to HACS:
Or manually:
- Go to HACS โ Integrations โ โฎ โ Custom repositories
- Add
https://github.com/d3dfantasy99/Lymow-HAas an Integration - Search for Lymow and click Download
- Restart Home Assistant.
- Download the latest release.
- Copy the
custom_components/lymowfolder into your HAconfig/custom_components/directory. - Restart Home Assistant.
- Go to Settings โ Devices & Services โ Add Integration
- Search for Lymow
- Choose your login method and region:
| Region | Use if you are in |
|---|---|
| Europe (Ireland) | Europe |
| Asia Pacific (Sydney) | Australia, Oceania |
| Asia Pacific (Hong Kong) | Asia |
| US East (Ohio) | Americas |
| Login method | Used for | Steps |
|---|---|---|
| Email & Password | Lymow account used to log into official Lymow app |
|
| Google Account (OAuth) | Google login used in official Lymow app |
|
- If multiple robots are found, select which one to add.
- Done โ entities will appear under the Lymow device.
You can add the integration multiple times to manage multiple robots.
| Entity | Type | Description |
|---|---|---|
| Lymow Robot | lawn_mower |
Main control entity (Start / Pause / Dock) |
| Start Mowing | button |
Start or resume mowing (state-aware) |
| Pause | button |
Pause mowing or docking |
| Dock | button |
Return to dock, keep task progress |
| Cancel Task | button |
Stop in place and reset to waiting |
| Dock & Cancel | button |
Return to dock and abandon current task |
| Mow Mode | select |
Cutting pattern selector |
| Backup Map | select |
Choose which S3 backup map to load |
| Blade Height | number |
Current cutting height in mm (read-only, from zone config) |
| Entity | Type | Description |
|---|---|---|
| Status | sensor |
Work status (Mowing, Docked, Chargingโฆ) |
| Battery | sensor |
Battery level % |
| RTK GPS | sensor |
GPS fix quality (Not Ready / Float / Fixed) |
| Session Area | sensor |
Area mowed in current session (mยฒ) |
| Session Progress | sensor |
Mowing progress % |
| Mow Mode | sensor |
Active cutting pattern |
| Blade Height | sensor |
Cutting height in mm |
| Firmware | sensor |
Current firmware version |
| IP Address | sensor |
Robot LAN IP (used for RTSP camera) |
| Camera URL | sensor |
Full RTSP URL for use with external tools |
| Map GeoJSON | sensor |
Zone map as GeoJSON FeatureCollection |
Additional sensors (disabled by default, enable in entity settings):
| Entity | Description |
|---|---|
| Session Duration | Mowing time in current session |
| Session Remaining | Estimated remaining time |
| Map Total Area | Total mapped area (mยฒ) |
| Zone Count | Number of zones in the map |
| RTK Precision | GPS position accuracy (m) |
| RTK Satellites | Number of satellites tracked |
| WiFi Signal | WiFi RSSI (dBm) |
| 4G Signal | LTE RSSI (dBm) |
| Network Type | Active network (WiFi / LTE) |
| WiFi Network | Connected WiFi SSID |
| MCU Version | MCU firmware string |
| Serial Number | Robot serial number |
| Total Clean Time | Cumulative mowing time |
| Total Clean Area | Cumulative mowed area |
| Entity | Type | Default | Description |
|---|---|---|---|
| Online | binary_sensor |
โ | Robot connectivity |
| Charging | binary_sensor |
โ | Whether robot is charging |
| Mowing | binary_sensor |
โ | Whether robot is actively mowing |
| Error | binary_sensor |
โ | Whether an error is active |
| Lifted | binary_sensor |
โ | Lift/tamper detection |
| WiFi Connected | binary_sensor |
โ | WiFi active |
| 4G Connected | binary_sensor |
โ | LTE active |
| Rain Delay | binary_sensor |
โ | Rain delay active |
| Theft Detection | binary_sensor |
โ | Theft detection enabled |
| Theft Lock | binary_sensor |
โ | Device lock active |
| Entity | Type | Description |
|---|---|---|
| Map | camera |
Diagnostic PNG โ zones, robot, dock, mow path |
| Live Camera | camera |
RTSP โ HLS live stream (requires LAN access) |
| Entity | Type | Description |
|---|---|---|
| Last Session | event |
Fires lymow_session_completed on mow completion |
| Firmware | update |
OTA update notification with release notes |
Start mowing one or more specific zones by hashId or name.
service: lymow.start_zones
data:
zones:
- "vfW8PgjE" # hashId
- "Front Lawn" # or zone nameReturn to dock and cancel the current task (no recharge-resume).
service: lymow.dock_cancel_taskStop the robot in place and reset to waiting state (equivalent to "Cancel task" in the app).
service: lymow.cancel_taskFor integrations with multiple robots, add
device_id: <device_id>to target a specific one.
The event.lymow_<<mowername>>_last_session entity fires whenever a new completed session is detected. Use it to send a notification when mowing finishes:
automation:
trigger:
platform: state
entity_id: event.lymow_<<mowername>>_last_session
action:
service: notify.mobile_app
data:
title: "Mowing complete"
message: >
Mowed {{ state_attr('event.lymow_<<mowername>>_last_session', 'area_m2') }} mยฒ
in {{ (state_attr('event.lymow_<<mowername>>_last_session', 'duration_s') / 60) | round }} min.
Used {{ state_attr('event.lymow_<<mowername>>_last_session', 'used_battery') }}% battery.Replace
<<mowername>>with your own enitity mower name.
The sensor.lymow_map_geojson attribute geojson contains a standard GeoJSON FeatureCollection with zone polygons, dock position and robot position (WGS84). Use it with a custom Lovelace map card:
type: custom:map-card
fit_to_markers: true
entities:
- entity: sensor.lymow_map_geojson
geojson:
attribute: geojson
filter:
property: type
value: zone
color: "#00c853"
fill_opacity: 0.25
- entity: sensor.lymow_map_geojson
geojson:
attribute: geojson
filter:
property: type
value: mow_path
color: "#ff6f00"
fill_opacity: 0Add the following to your configuration.yaml and restart Home Assistant:
logger:
default: warning
logs:
custom_components.lymow: debugLogs will appear in Settings โ System โ Logs.
Integration not found after installation
โ Make sure you restarted Home Assistant after copying the files.
Login fails
โ Confirm you are using an account created with email and password, not Google or Apple.
โ Try logging in with the same credentials in the official Lymow app to verify they are correct.
All sensors unavailable
โ The robot may be offline or out of WiFi/4G range. Check the Online binary sensor.
โ Enable debug logging and look for connection errors.
Map is empty
โ The robot needs to have completed at least one mapping session. The map is loaded from the S3 backup map and may take one polling cycle to appear after restart.
Live camera not working
โ The robot's IP must be reachable from the HA host (same LAN or VPN). Check sensor.lymow_camera_url for the RTSP address. A DHCP reservation for the robot is recommended.
Blade height shows Unknown
โ The firmware does not expose a global blade height. The value is read from the first zone's configuration and becomes available after the map is loaded.
Join the community Discord server for help, feedback and discussion:
If you find this integration useful, you can support its development:
To report a bug or request a feature, please open an issue on GitHub.
This integration communicates with Lymow's AWS infrastructure (Cognito, API Gateway, IoT MQTT, S3) using credentials obtained by reverse engineering the official Android app. All commands are sent over MQTT โ no IoT shadow writes are used. Use at your own risk. The API may change at any time without notice.