
I got tired of my Mammotion mower's zone switches breaking my automations after every map sync, so I fixed it (free, MIT)
If you run a Mammotion mower through the HA integration, you've probably hit this:
after any map sync the zone/area switch entity-ids get renamed, and any automation
that referenced them breaks silently — the mower says "OK" and just sits there.
So I addressed it properly, and it grew into a fairly complete reliability layer:
template sensors that resolve the live zone switch by substring + an available-filter
(so it survives every remap), a reload-first self-recovery script for when the
integration drops its controls, multi-zone "mow the whole yard" orchestration that
survives HA restarts, an optional "Smart Mow" mode where the mower decides for itself when
the grass is ready — from live weather and the lawn's condition, not a fixed timer
(most robot-mower scheduling is just a weekly calendar) — and a voice layer. It is all
copy-in YAML packages, MIT, with a lessons-learned log of every way I saw it fail, so
you don't have to rediscover the same problems.
The zone-switch resolution approach in particular is one I have not seen packaged
elsewhere, and it is straightforward once you see it.
It builds entirely on top of the mikey0000/Mammotion-HA integration — full credit to
those maintainers for the difficult part. Repo:
https://github.com/Verstreubulator/mammotion-ha-resilient
To be clear, it is not perfect: it works around the quirks rather than fixing them.
But it has been reliable in daily use, and I hope it is useful to someone.