English
Exploring local control of the GOAT O500
I'd like to integrate my ECOVACS GOAT O500 Panorama into Home Assistant without depending on Ecovacs cloud services. This project documents what I've learned from network captures, Android app inspection, and the mower's hardware and boot interfaces.
The initial goal is local start, stop, and status updates. The notes cover TLS trust, MQTT communication, and UART maintenance access, including tests that didn't produce the expected results.
Current progress
An interactive root shell worked, a local TLS 1.3 handshake succeeded, and an MQTT probe showed CONNECT framing and subscriptions. A working local command-and-status loop is still missing.
The current blocker is UART input: the adapter reads back matching bytes, but neither U-Boot nor Bash responds to commands. The root bootstrap remains installed, and maintenance access is unavailable. The next step is to identify the source of those bytes and restore reliable console input.
Documentation
Following along
I run these experiments on my own hardware, using isolated test setups and reversible changes. The tools focus on metadata and omit account credentials and full application payloads. Captures, logs, certificates, and device data stay out of version control.
If you'd like to try the tools, use devices and networks you control. Keep the mower's normal DNS and cloud access in place until you've verified a local replacement on an isolated test network.