Is there someone who owns a Robomow (pro) and is working on a binding?
By default the mower connects via BT to the smartphone but the pro versions have a GSM module, so you can use the app everywhere. (GSM module can be bought for every model afterwards)
For the smallest model (RX20) there is also a webinterface (myrobomow).
I’m thinking of buying the RC304pro and it would be nice to integrate it in openHAB
edit: with the gsm module, you can NOT use the app everywhere. You will only receive notifications when somebody moved the mower out of your area or when the mower stops during it’s activity
I was able to run the APK of the android app through a decompiler (http://www.javadecompilers.com) and get the java source, including for the BLE communication. Someone with java and C experience could probably use the java BLE code to program an ESP32 to extract info from the robot and publish it somewhere using a wifi, lora, or cellular link. While there aren’t any comments in the decompiled code, the variable names and log messages are descriptive enough to get a good idea about what is going on.
Nice work!
Did you tried this whith the new app (v2.0) or the old one?
I’m still using the old one, because all settings of the mower itselves are not in the new one.
Since they introduced the new module RoboConnect+ (https://www.robomow.com/en-GB/products/accessories/) they are doing most of the traffic over their own servers and not via BLE. eg when looking up the history, the app get’s it from the myRobomow if I’m correct. A good evolution I think.
So is it not possible to use the website as source? https://myrobomow.robomow.com
I wondered about that. I did take a look a while ago at some of the calls it makes and I suspect we should be able to get access to the operation data but that is all that’s available at the moment (at least for me).
At this stage it wont allow control of the mower.
BTW there is an update to the Robomow 2.0 app that adds back some of the settings so things are moving forwards. Could be interesting to see if we could connect and extract information from the BLE and make it more readily available. At the moment I don’t have time to look at either route.
I don’t have a RoboConnect+ so not sure if that would improve the control you can get from the myrobomow pages?
I have a RC pro model of 2018, so it has BLE & a SIM slot to communicate with the Robomow servers and sent notifications. Since they introduced myRobomow, I can also see the ‘operation history’ online.
I know that the RX pro models and all other models with RoboConnect+, can also see and modify the schedule and start stop the mower.
It’s sad that I need to buy a new module of €300 to support all future features But off course it’s all nice to have. The mower does what it needs to do and I’m already happy that I receive a notification when the mower starts / has an issue.
I got the ts615. As a developer and tinkerer I went through the BLE code to see whether I could make my own android app and throw a phone in the bot. I have nice wifi coverage around the yard. It works… I can control it, send move commands and engage the cutting blades. Still need to work on battery info etc. Iniate a mow cycle and such was just added. I added raw socket telnet server to issue commands. Currently working on a way to add it to homeassistant. Will opensource it somewhere down te road.
Nice! I am working on implementing a controller based on an esp32. (Using ttgo T-beam board from aliexpress, which also includes gps and lorawan. Costs about €15)
Plan is to connect to robomow via Bluetooth, then to MQTT server via WiFi, using Homie protocol, which will allow integration with openhab. The gps and lorawan can be used as tracking in case of theft.
Still early days, but wifi, mqtt, gps and lorawan are up and running. Now moving on to BLE, so your Android reverse engineering efforts are very useful to me.
@arjanmels & @drbytes : looks great, I looked into connecting to the mower a few years ago, but without succes. Nice to see that people with more skills are succeeding!
Will it be able to get data (running, battery status, …) from the mower?
@promy yes, I am already able to get the most relevant status days. Now working on controlling (disabling schedule, stop, return to home) and stabilizing the code. It uses mqtt with Homie protocol so is auto discoverable by OpenHab.
Will take a couple of weeks before I can put a version on GitHub.
Connected via BLE to the Robomow, via wifi to your local network to a MQTT server of choice, via Lorawan (868Mhz or other depending on exact board) to network of choice (e.g. The Things Network, which also supports MQTT) but due to bandwidth limits this will only send a subset of data and does not allow control and it also uses GPS to retrieve its position.
(I am looking into serial connection instead of BLE if needed for added robustness and to allow the normal phone app to still function.)