[APP][PRO] Ecovacs GOAT Mower app

Hi again everyone!

Quick update on the Ecovacs Goat app built with the new Python SDK v3.

Final version is done (v 1.3.0) and it has been tested thorough to get the Homey app into a good factuality and quality app that it deserves.

I have spend many many hours on this project and hope its appreciated by all Ecovacs homeowners.

I now see that the project is complete and that all functions should now be in place from what I can find out from mower and the api.

The app will of course be maintained, but I feel that this one is now so finished that it can safely stop getting major improvements.

:warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: only if you come from a versions below 1.3.0 (does not apply to newcomers)
I do recommend everyone who has been on the journey and been both testers and users up to now, to reinstall the app just to weed out the debris that has been there since the start.

Have a good summer and good luck with the lawn mowing

What is core cloud:

  • Cloud authentication & Device pairing.
  • Basic commands
  • Basic status polling.
  • MQTT JSON API (Build up from scratch)

Added on Version 1.1.2 - 1.1.5

  • Full multi-language support (NO, SV, DA, DE, NL) across all capabilities, Flow cards, and App Store listings, plus Homey Community topic link added
  • Advanced Flow cards (Triggers, Conditions).
  • Zone cleaning / Specific area mowing.
  • Edge cut functionality.
  • Detailed battery and error state parsing.
  • Cutting height adjustments.
  • Cut direction flowcard for supported GOAT mowers

Added on Version 1.1.10

  • Total mower areal
  • Added SafeProtect (only on supporter mowers) - (found in device settings)
  • Added TrueDetect (only on supporter mowers) - (found in device settings)
  • Added MoveUp Warning (only on supporter mowers) - (found in device settings)
  • Flow actions: Zone is now setable
  • Added Triggers on SafeProtect, TrueDetect and MoveUp
  • Added Volum sound control flow
  • Added Child lock flows
  • Added Find the mower (w/ sound)
  • Turn border cut at session on/off

Added on Version 1.2.1

  • Redesign off control capabilities
  • Removed onoff toggle
  • Flowcard deep function test
  • Added alarms to triggers and capabilities

Added on Version 1.2.10

  • Zone settings in mower device implementet (tested thorough)
  • AI settings in mower device implementet (tested thorough)
  • Cleaned up flowcards
  • Adjust cut height from 60mm to 80mm
  • Fixed GetVolume/VolumeEvent read-back
  • Add GetCutDirection/CutDirectionEvent read-back
  • Moved ResetLifeSpan
  • Bumped the MQTT JSON commands to see more functions to the API

Added on Version 1.4.0

  • The app-settings page is now containing more information about your mowers, you also got a timeline/activity monitor.

Expanded all GOAT hardware profiles to match the diffrent functions. Some users may not have all functions. This depends on your model

Submit bugs or missing models: If you mower models are missing, please write your model below for additional support for your mower.

# Capability Type / UI Role
1 mower_state enum · sensor Status (klipper, lader, inaktiv, feil, …)
2 cmd_start boolean · button Start klipping
3 cmd_stop boolean · button Stopp og avslutt
4 cmd_pause boolean · button Pause
5 cmd_resume boolean · button Fortsett
6 cmd_edge_cut boolean · button Kantklipping
7 cmd_dock boolean · button Returner til base
8 goat_cutting_height number · slider Global klippehøyde (1–10)
9 mower_connected boolean · sensor Tilkoblet Ecovacs sky
10 measure_battery number · sensor Batteri % (Homey standard)
11 alarm_battery boolean · alarm Lavt batteri (Homey standard)
12 measure_rssi number · sensor Wi‑Fi signal (dBm)
13 measure_mowed_area number · sensor Klippet areal siste sesjon (m²)
14 measure_mow_time number · sensor Klippetid siste sesjon (min)
15 alarm_rain boolean · sensor Regnbeskyttelse aktiv
16 measure_blade_life number · sensor Bladlevetid igjen (%)
17 measure_total_area number · sensor Totalt klippet areal
18 cmd_find_mower boolean · button Finn klipper (lyd)
19 cmd_reset_blade_life boolean · button Nullstill bladlevetid
20 safe_protect boolean · sensor SafeProtect
21 true_detect boolean · sensor TrueDetect
22 moveup_warning boolean · sensor Løfte-advarsel
23 child_lock boolean · sensor Barnesikring
24 measure_temperature number · sensor Batteritemperatur (°C)
HOWTO Setup

Prerequisites

Before pairing the mower you need to enter your Ecovacs account credentials in the app settings:

  1. Open Homey → Apps → ECOVACS GOAT → Settings

  2. Enter your Ecovacs username and password

  3. Tap Test Connection to verify


Pairing

  1. Go to Devices → Add Device → ECOVACS GOAT

  2. Your mower(s) will appear automatically — select yours

  3. Tap Add — the device is ready

Advanced Settings

Found under Device → Settings:

Setting Default Description
SafeProtect On Automatically stop when an obstacle or unsafe condition is detected
TrueDetect 3D On Use LiDAR to identify and avoid obstacles more accurately (LiDAR models)
MoveUp Warning On Trigger an alarm when the mower is lifted off the ground

Changes here are sent to the mower immediately.

Repair / Reconnect

If the device shows as unavailable:

  1. Long-press the device card → Repair

  2. The app will reconnect to the Ecovacs cloud automatically

  3. On success it confirms — no re-pairing needed

I can log in but my version is not supported yet i guess? A1600 RTK.

Did you try to pair?

This is the known supported at the moment

Class ID Model
77atlz GOAT G1 (variant)
guzput GOAT G1-800
5xu9h3 GOAT G1 (variant)
itk04l GOAT G1 (variant)
s69g6z GOAT G1 (variant)
2ap5uq GOAT G1 (variant)
2i0fns GOAT O1200 LiDAR Pro
xmp9ds GOAT A1600 RTK
2px96q GOAT O800 RTK
300lc5 GOAT O500 Panorama
6n9pcz GOAT O600 RTK
51rcxt GOAT A3000 LiDAR Pro

After update it connects. Will test tomorrow. What I would hope to get is to set cut direction. Thanks so far!!

Cut direction is on my agenda, but still looking for the exact commands. Cutting height is implemented.

I have now managed to find this in the commands for cutting directions/angel and will implement this in an update. I am initially thinking of only having this in a flowcard option. This is in update to v1.1.5

Better and better!! Very nice job!

Will zone/area selection for cutting be possible?

Yes it will be, i currently doing some tests on my mower first. Rolling out public soon, test it if you like. You find the 1.1.10 test in Homeys app listing under changelog

In the latest version 1.2.1 its been fixed all bugs related to the flowcards and capabilities that didnt send all the right commands.

I have tested all on my GOAT O-1200 RTX LIDAR PRO and all functions are now ok.

I have remove the toogle onoff because that did a conflict on the stat commands in the mower.

I added a update driver with new capabilities, if you experience somehow missing capabilities i suggest you do a reinstall this time.

This looks to be the final and stable version (1.2.1) waiting for approval by athom

Hope you will enjoy the Homey App :slightly_smiling_face:

Update 1.2.8: Now rain delay/animal protection/AI features in device settings are working, fixed volume & child lock payloads, fixed warnings not working in the device capabilities.

Final notes ! :slight_smile: V 1.3.0 is found in changelog, and will be public by Athom soon.

You have not been able to set the cut direction by a flow yet? I also see that the cut direction says 0 degrees in advanced settings, but it is 195 really. So does it read the cut direction from the robot?

i did have it, but the problem is that the offical Ecovacs, controls this in the zone/area settings. Like i have now implemented in the device settings. This is the beste option to get bouth Homey and Ecovacs to speak together. I really didnt find a good solution to do a global override on zone adjustments.

And in the device settings you can sync your zone settings from mower. You just type in zone number and press save, and it syncs.

I will see more into the global cutting angel. I now have figured out rain alarm in the goat mower. But this and other warnings will come in an update.

But instead of pumping out versions ill collect them together in one realise.

I need to do alot of reverse engineering to see witch message commands its sending from mower to API because the official API is locked from public.

In my Ecovacs settings I have only one cut direction. Through an Home assistant integration I can read this as 195 degrees. I see 0 in this and try to change it but it reverts to 0.

Hei, jeg har lastet inn appen. GOAT O600 RTK er lagt inn i Ecovacs app, men den dukker ikke opp i homey, selv etter signin. Vet du hva problemet kan være?

Did you successfully login to the cloud in settings?

I see the device settings the rain and animal setting is not sync from the mower when its opening. This will be fixed in next update

Yes. Got the message - saves, connected but no device found on this account

I have added a test version to try out