[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.
  • Dashboard/Widgets ready from v 1.4.2

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 ID Data Type Description
1 mower_state enum Mower status (idle, mowing, returning, error, etc.)
2 cmd_start boolean Button: Start mowing
3 cmd_stop boolean Button: Stop and finish
4 cmd_pause boolean Button: Pause
5 cmd_resume boolean Button: Resume mowing
6 cmd_edge_cut boolean Button: Edge cutting
7 cmd_dock boolean Button: Return to base
8 goat_cutting_height number Slider: Cutting height (1–10)
9 mower_connected boolean Sensor: Connected to Ecovacs Cloud
10 measure_battery number Sensor: Battery percentage
11 alarm_battery alarm Alarm: Low battery
12 measure_rssi number Sensor: Wi-Fi signal strength (dBm)
13 measure_mowed_area number Sensor: Mowed area this session (mΒ²)
14 measure_mow_time number Sensor: Mowing time this session (min)
15 alarm_rain alarm Sensor: Rain protection active
16 measure_blade_life number Sensor: Remaining blade life (%)
17 measure_total_area number Sensor: Total mowed area
18 cmd_find_mower boolean Button: Find mower (sound)
19 cmd_reset_blade_life boolean Button: Reset blade life
20 safe_protect boolean Sensor: SafeProtect status
21 true_detect boolean Sensor: TrueDetect status
22 moveup_warning boolean Sensor: Lifting warning
23 child_lock boolean Sensor: Child lock status
24 measure_temperature number Sensor: Battery temperature (Β°C)

Supported Models:

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?

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