AL-KO Robolinho lawn mowers

Hello community.

I recently purchased an al-ko robolinho 800W lawn mower which has some smart features. There’s an app for it and it supports ifttt, alexa and google assistant.

I’ve been looking into creating an integration and so far I’ve intercepted traffic and got a pretty good overview of the endpoints, how it authenticates and passes data. For authentication and authorization It uses oauth and openid.

I’m looking for others which may have this lawn mower and could be interested in a collaboration to get an integration set up?

UPDATE:
So far I’ve written a library to interact with AL-KO API and started working on an integration. The biggest issue so far is that they haven’t opened up to 3-party applications, so in order to get the endpoints and secrets one would have to intercept the traffic, which is far less than ideal, if anybody might know of a easier ways to get a client_secret from android/ios app do let me know.

The integration is coming along but I haven’t published anything yet, if anybody is interested in collaboration, let me know and I’ll set up the repos.

Check out my repo for more information.

2 Likes

Cool!

Would be great to have someone else test and give feedback. However installation for now is not straight forward :confused: but take a look at this repo and let me know how it goes.

it is to much for me sorry , but i can sent them a mail also :wink:

Yes it’s too complicated, so I’ve been looking into easier ways to get the secret and tokens, fortunately I’ve found one if you have an android phone and adb. I’ve updated the readme with new instructions.

Thanks, for doing this integration
I am curious, is there made some changes so it don’t work anymore
When i download the de.alko.intouch, with: adb backup -noapk de.alko.intouch the file is empty
And cant find the ALKO component in HACS
Can somebody help me?

Hi there, it does still work fine for me.

Can you confirm that your phone is reachable via adb?
Also, did you run the script like ./intouch-credentials.sh ? After running my script the client_secret, access_token and refresh_token should be printed in the terminal.

The ALKO integration is not yet officially a part of HACS, so you would have to add the repo first.

This integration works for me and I get the the tokens and the client_secret.
The only problem is that it only works 1 or 2 days and then I need new tokens.

Can that be fixed?

Hmm, I’ve had a couple of times where I had to re-issue, but both times was because I was messing around in the app.

This integration is a bit hacky because the API is not opened for 3-party clients, it “steals/lends” the client_id from the app. I wonder if you’re also using the app alongside and maybe somehow the app gets new credentials which would leave the old credentials saved in hass useless? If so maybe try going without the app for a few days and see if it’s something to do with that?

I do have some good news though. A couple of months ago I reached out to AL-KO about allowing 3-party apps to use their API and they were positive about it, however they would have to do some work for that to happen, so when it happens I don’t know, but I will keep my eyes open :slight_smile:

PS: Would really love some more feedback from people using the app if you guys have any, what’s good and what’s not or what should be improved upon.

Hi
I running the abd from Windows
And the script from ubuntu, is that an issue
I cant find abd commands, are they removed ?

You need to run the script from the machine which your phone is connected to. To make sure you can communicate with your phone you can run adb devices to see if it comes up. The script runs some adb commands to extract the credentials you need.

Hello @jonkristian,

thank you for your great work. I will probably buy an al ko lawn mower too and am looking forward to integrating it with Home Assistant.

Is there any news yet regarding opening for 3-party api? The current working yolution doesn’t deter me either though, as long as you don’t have to repeat the steps over and over again.

Hi @j3mu5

I did receive a response from them, this is all I know so far:

Yes we truly understand your requirement and idea and we also already have planned this topic for the future. But we need to do some technical adjustments first in order to enable you to use our API. Therefore please hang on and we hope to be able to help you with your request in the near future.

I don’t belive the renewal happens too often, maybe more often if you use the app alongside. It doesn’t really take much time to fetch the keys with my script if you have an android phone and can connect to it via adb, keys are printed out quicky after running the app and hitting backup on the phone, then it’s just a copy/paste to make the integration work … but yeah, some extra steps there that we hopefully can eliminate in the near future.

Hi @jonkristian,

do you think it is helpful if I also ask the manufacturer? The opening of the API is for me one factor for a purchase and might influence my decision.

If the integration with HomeAssistant goes well and a parallel use with the app causes problems, I will probably use the app very little.

Since your solution runs via the API, all models of the Robolinho should be supported, right? Specifically, I am considering the purchase of the AL-KO Robolinho 1150 W.

Everything helps :slight_smile:

As long as their API is consistent across types of devices like their robolinho line there shouldn’t be any problems and if you do experience problems with anything I will be happy to help implement necessary changes in my integration.

I’m intrested! How could I get the repos? Thanks in advance
R.O.

Apologies, I forgot to update my initial post.

You can check out my repo here.

Got information from the owner in Git that script has stop working most probably due to the changes AL-KO made in the app. Everyone who has time to look on it deeper? Unfortunately the native application is heavy and inconvenient in use.

Hi there,

at least for now, it should be possible to integrate the devices indirectly via IFTTT into Home Assistant. You could then send the device mowing / homing and receive state updates whether the device is mowing / in the base station and some other information like „is offline“, „has detected rain“ and „has reached full battery level“.

Best,
The Smart Home Maker

If someone wants to build the integration via IFTTT but does not know how to do this, I have created a post about this: How to connect your AL-KO Robolinho robotic lawn mower with Home Assistant via IFTTT | by The Smart Home Maker | Jul, 2022 | Medium

I’m still hopeful we can one day get the api running again since the IFTTT integration is missing one compenent that’s very crucial for me. Being able to choose between the 3 starting points when sending out the mower.

I have it set up in a garden with a complex shape where it won’t get all of the lawn if it doesn’t use the start points.