Hi all — I put together a scheduling setup for Mammotion robot mowers using the Mammotion Home Assistant integration. This is designed for Luba/Yuka-style setups where each mowing area is exposed as a Mammotion area switch, such as switch.my_mower_area_area_1, switch.my_mower_area_area_2, and switch.my_mower_area_area_3.
It supports 1–6 active zones, cycles through them in order, skips rain or wet-lawn sessions, supports manual “Start Next Mow” controls, and uses helper entities so the schedule can recover more safely after Home Assistant restarts or automation reloads.
Scheduling 
This scheduler can rotate through Mammotion area switches, start mowing through the lawn_mower entity, skip mowing during rain or during a post-rain dry-out period, track the last completed zone with an input_number helper, track whether the scheduler is currently managing a mower run, support manual “Start Next Mow” controls from a dashboard, and avoid overwriting an unfinished Mammotion low-battery resume task by checking mower error/status entities before starting a new task.
Only one blueprint is needed. Earlier versions used a separate completion watcher, but the current scheduler blueprint includes the needed start, wait, completion, rain-recall, timeout, and helper-reset logic inside the main automation.
Why only one blueprint is needed now
The scheduler now handles both jobs:
- It decides when and what to mow.
- It watches the mower afterward to decide whether the zone actually completed.
That means a separate completion watcher is no longer required.
The blueprint now waits for real completion signals before advancing the zone tracker. A timeout no longer counts as a completed mow. If Home Assistant sends the start command but the mower stays ready/docked and never actually starts, the scheduler should not mark that zone complete.
The scheduler also uses a scheduler-in-progress helper to avoid overlapping runs. If that helper gets stuck on but the mower is clearly docked, charging, ready, and not working, the blueprint can clear the stale helper instead of incorrectly skipping the next session.
What the scheduler does
The scheduler cycles through 1–6 mowing zones in order. It uses a persistent input_number helper to track the last completed zone and an input_boolean helper to know when the scheduler is actively managing a run.
It supports a configurable number of active zones, so you do not need exactly 6 zones. It supports up to 4 configurable daily session times, supports 1 or 2 zones per session, uses Mammotion switch.* area entities to select the zone, starts mowing through the mower entity, skips mowing when the selected weather.* entity reports rain-like conditions, adds a configurable wet-lawn delay after rain, re-checks weather before the second zone when mowing 2 zones in one session, includes a manual skip toggle, includes optional manual “Start Next Mow” dashboard support, includes safer stale-helper recovery behavior, includes optional low-battery resume protection so Home Assistant does not overwrite an unfinished Mammotion resume task, and includes optional night-light support for mowers that expose a Mammotion night-light switch.
Recommended helper entities
Before installing the blueprint, create helpers similar to the following in Settings → Devices & services → Helpers:
input_number.mower_last_zone
input_boolean.mower_manual_skip
input_boolean.mower_scheduler_in_progress
input_datetime.mower_last_run
input_datetime.mower_rain_last_seen
input_button.mower_start_next_mow
The input_number.mower_last_zone helper tracks the last completed mowing zone. Recommended settings are min 0, max 6, step 1, and initial 0.
The input_boolean.mower_manual_skip helper can be turned on to skip scheduled mowing and turned off to resume normal scheduling.
The input_boolean.mower_scheduler_in_progress helper tracks whether the scheduler is currently managing a mower run. It helps prevent overlapping sessions. If it gets stuck on while the mower is docked, charging, ready, and not working, the current blueprint can clear it automatically.
The input_datetime.mower_last_run helper stores the last time the scheduler completed a mowing session and should be a date and time helper.
The input_datetime.mower_rain_last_seen helper stores when rain was last detected and is used for the wet-lawn dry-out delay. This should also be a date and time helper.
The input_button.mower_start_next_mow helper is optional but recommended because it allows you to create a dashboard button to manually start the next scheduled zone.
Mammotion area switch note
This setup uses the area switch entities created by the Mammotion integration. Before each zone, the scheduler generally turns off the active area switches, waits briefly, turns on the target area switch, waits for the mower/integration to register the selected zone, and then starts mowing.
This is different from simply starting the mower with no area selected. The area switch workflow is what lets Home Assistant rotate through specific Mammotion work areas.
Simple installation instructions
Install and configure the Mammotion Home Assistant integration. Make sure your mower has a lawn_mower.* entity. Make sure each work area has a Mammotion switch.* area entity.
Create the helper entities listed above. Import the Scheduler blueprint. Create one automation from the scheduler blueprint. In the scheduler automation, select your mower entity, active zone count, zone area switches, weather forecast entity, helper entities, and mowing schedule.
I recommend testing first with Number of Active Zones set to 1, Zones Per Session set to 1, and Zone Duration Ceiling set to a short/safe test value. Once that works, increase the active zone count and enable more sessions.
Forecast / weather entity instructions
The scheduler needs a Home Assistant weather.* entity. A good simple option is Open-Meteo. Home Assistant’s Open-Meteo integration provides free weather forecasts and does not require an account or API key.
To add it, go to Settings → Devices & services, select Add Integration, search for Open-Meteo, and add the integration. To find your forecast entity, go to Settings → Devices & services, open your weather integration, open the entities list, and look for an entity like weather.forecast_home or weather.open_meteo_home. Select that entity in the scheduler blueprint’s Forecast Weather Entity field.
Rain behavior
The scheduler checks rain at multiple points: at session start, during the wet-lawn delay check, before the second zone if mowing two zones in one session, and during the zone wait window so the mower can be recalled if rain appears mid-session.
Rain states currently treated as unsafe include rainy , pouring , lightning-rainy , hail , snowy-rainy , and exceptional .
Important notes
The Mammotion app or mower may still block mowing even if Home Assistant sends the command successfully. Common reasons include non-work hours, low battery, unfinished low-battery resume task, map/location issue, mower offline, rain lockout in Mammotion, mower not ready to start, connection issue, poor positioning, or the selected area switch not registering quickly enough.
If the automation trace says the service executed but the mower did not move, check the mower state and Mammotion app restrictions first.
Blueprint
Honest disclosure
This was built and tested around a Mammotion zone-switch workflow, with a lot of iteration and AI-assisted YAML cleanup. Please read through the blueprint before deploying it, create the helpers carefully, and test with one zone first before trusting it with a full mowing schedule.