Closed frankhommers closed 4 years ago
Figured it out myself! ;-)
How?
Figured it out myself! ;-)
Please share how 🙂
I captured the communication using Android Bluetooth Snooping and running the standard app. The I loaded the hci_snoop log in WireShark. Then trying to find the right packet. And for my RS it's this the command to Mow Subzone 1: 0xAA, 0x09, 0x1F, 0x15, 0x00, 0x1B, 0x02, 0x03, 0xF8
The commands for mowing are as following:
Mowing Main | aa 09 1f 15 07 94 02 00 (7e) Mowing Subzone1 | aa 09 1f 15 07 94 02 03 (7e) Mowing Subzone2 | aa 09 1f 15 07 94 02 04 (7e) Mowing Subzone3 | aa 09 1f 15 07 94 02 05 (7e)
Edge&Mowing Mowing Main | aa 09 1f 15 07 94 01 00 (7e) Edge&Mowing Subzone1 | aa 09 1f 15 07 94 01 03 (7e) Edge&Mowing Subzone2 | aa 09 1f 15 07 94 01 04 (7e) Edge&Mowing Subzone3 | aa 09 1f 15 07 94 01 05 (7e)
(replace 7e with the proper chksum-byte) (07 94 is the current msg-no)
Mike Knife
Hey @frankhommers , you you know the command to activate the blades when you are manually moving the mower?
Hi pergolafabio! We have analized almost every command usable for the RC308. As far as I know, most commands are similar in the RS movers. Most memory locations are different though. You have to check it out. I think I have the commands for going (with and without blade running) for the RS somewhere. I have to find it.
For the RC the command string is
"aa 0a 1f 1a 10 00 64 00 00" +CKS
10 is a counter; the higher nibble is counted up for every time next command (-> 20, 30, 40...)
To activate the blade you have to set bit 2 of the lower nibble. -> (12, 22, 32...)
The next byte "00" is the direction (angle / 2) and 64 = (dec 100 %) is the speed.
Mike Knife
Aha , interesting, I am using the ESP32 integration, but the only command not available in that project was the blades.... Im using also an RC model... What project are you using?
Hi pergolafabio! We built a remote unit to move and mow manually with a joy stick some years ago and I thought it was for the RS,, but unfortunately it was for an RC. As a) I don't have an RS available here and b) I do not have an old smartphone with a ble snoop function (Samsung disabled the ble-snooper since Android version 7 or so - at least that is what I believe), I cannot check the command for the RS even if I had an RS. Although the implementation is most likely very similar, there is no garantee that is implemented in exactly the same way.
Oh sry, I got it totally wrong. I thought you are asking for the RS commands. Ok, the RC is an open book now - althougt I did not work on that thing anymore. My RC is still running but as soon as it quits working I will probably switch to Luba 2.
I also use an RC
Im using this project, works very good!
https://github.com/MortenVinding/Robomow-ESP32?tab=readme-ov-file
It's based on someone who created it on German forums... I have integrated it now to Home Assistant...
Do you have your project somewhere?
When I developed my Interface there was nothing similar out yet. This is the IF I developed.
I try to implement that code for the blades into that bin firmware file, something for to look at . I hope it's simple:-)
I also programmed a control program for the PC. But I never published anything!
Seems not a lot of people are using the Robomow anymore, kinda old... But mine is still working, and I love to have an integration into Home Assistant
I understand. Here different windows for controlling the RC from my PC. It connects to the interface via Telnet.
The main window is the one on the upper left.
Wow , looking nice đź‘Ť Looks indeed very similar to the esp project
Ok, actually it was not quite that simple. As I started at point Zero, I had to analize all the commands via ble-snoop and wireshark (the way as frankhommers probably did). After some time I realized how the memory map in the RC was organized. From that on it was a bit easier. But I did not put much effort in it sinsce the last years.
Yes, as you said. Robomow has lost touch with mower development. And if they don't come out very soon with a very new and skillful design, they are probable gone from the market sooner or later.
By the way: the first disign (without BLE, just connected via RS232) was with a WEMOS D1 mini pro. It was shaped in a way that I could just plug it into the RS232 connector. The ESP32 was to big for that so I had to use a cable if I wanted to connect via RS232.
On of the first prototypes:
hey @MikeKnife
If you can find the commands for RS models to turn on the blades, can you share it? i can maybe ask the owner of the ESP project to include them
thnx in advance
As I wrote 20 hours ago:
As a) I don't have an RS available here and b) I do not have an old smartphone with a ble snoop function (Samsung disabled the ble-snooper since Android version 7 or so - at least that is what I believe), I cannot check the command for the RS even if I had an RS. Although the implementation is most likely very similar, there is no garantee that is implemented in exactly the same way.
I am sorry that I cannot help here, but I promise to ask around if anyone has the info on this topic.
MK
Ok, sorry , I misread cause you also said:
I think I have the commands for going (with and without blade running) for the RS somewhere. I have to find it.
Sry, I am a bit busy but just got a response from a friend. He said that the commands for going with and without mowing are the same for both RC and RS. mk be back later
Ok - I am back. Anything else I can help you with? Do you need more info about how to construct the msg? MK
yeah, that would be great STill finding a way how to send a 'custom' command using the ESP integration
OK. I don't know what you mean by "ESP integration". As I said, I developed everything on my own long time ago. So I am not up to date what others did in the meantime. But for the RC I can tell you what is in most of the memory locations and how to request and send data from and to the rc mainboard-memory. I also have a few memory locations of the RS version. But that is by far not complete. As as said: I do not have an RS here. (I had one here for a few weeks years ago and did some tests but as I did not intended to use one I did no thorough research. As far as a can remember, the memory dump works the same on the RS I could dump it after every config change to see, which location is affected, but that is a very long and arduous job.
MK
MK
For info: I'm using this one, he created an image file for esp32, very easy to program and to use... https://www.skyynet.de/mowgli_connect.php
But he didn't publish the code, someone else is creating a new project based on MQTT
https://github.com/TheCutter/RoboMow2MQTT
But still in early development
BTW: The message counter (byte 5 and 6) is not really relevant. It is mainly used to assign a ACK msg from the RC to the respective command inside the APP. I am using the msg nr to identify responses for other purposes.
Basic msg structure:
MK
Indeed , you spent a lot of time on your project!! Do you also have it integrated it to Home Assistant or Openhab ?
Do you want to share the code?
I did not really integrated it into any home automation system. I am using homematic here in combination with iobroker. The only thing I did, was sending some alarm voice/tone through the homematic info-hub if the RC brings up an error msg. I definetely could do something more but my PC-Prgm does everything I need (and the pc is running all day anyway), so there are no plans to do more integration work.
The concept of mähspitzel is a total different one. It basically uses the maintenance interface and put the data on a web page - as far as I do recall. The other one I don't understand. It needs lots of time to analize what he is doing. And I will definetely not spend that much time for it - especially as my systems works well, does not need any improvement and the usage is time limited anyway, as probably next year I will switch to something like luba 2. MK
Homematic I don't know.. I'm addicted to Home Assistant :-)
I had a look yesterday to Luba when you mentioned ir, but looks expensive... For now I'm happy with the RC306
I bought the RX last year for my grandparents, and it's much better then RC. Much lighter, so it steers better
OK, I understand. Homematic is a german company, that provides components and interfaces to almost everything you can think of. But it is also rather expensive. https://de.elv.com/search?sSearch=homematic (100s of components) You can integrate (with small adapter boards) e.g microswitches or send telnet commands, check via ping if a system is reachable or programm complex programs.
And yes: luba 2 is expensive. The small one (for max 1000 m^2) costs a bit over 2000 Euro. But as far as I know it is one of the better ones. No wire necessary.
I never dived into home assistent. That is basically an integration tool, a bit like iobroker, right? But then you need the components from different brands so it is not garanteed that those can comunicate directly with each other as homematic can (but does not need to). Lots of things are done in programms running on the ccu (usually raspberry pi 3 or 4 based).
No, home Assistant connects with everything that you can think off, its has a lot of integrations, once you added the integrations, you can let them work together... The nice thing is that you can create an app for Android/iphone very fast
It's a big community, every month a huge update to integrate new hardware
I think it's one of the biggest automation system that exist
Maybe I should have a closer look at it. But then i would likely have to change all the components because I doubt that it can communicate with homematic. It uses a proprietary communication protokoll - also for security resasons, as it also deals with door and window openers. And again: I have not seen any hw vendor who e.g. offers complete floor heating controllers. Or regular or changeover switches or blind switches with adaptors, so it has the identical look as the regular power sockets or light switches. MK
Offcourse it can:
No, that is not the same. There you have the homematic control center (CCU) that does basically all the work. And then the CCU provides an xml interface, so you can access the data and set values from the outside. That is used by cellphone apps and I also use it for some purposes. (like iobroker) But first you have to integrate every device into the CCU, which does the communication with the components.
I think if we want to continue the comunication we should switch to personal mail. what do you think?
Are you on discord? But going to sleep now :-) 23:20 here
No, we use only jabber within a small group here - nothing else. OK - then good night for now. We can share more information if you like. I am online most of the day until midnight (or later sometimes) I was just looking how to send personal mails, but could not find the option here. strange. mk
I did not really integrated it into any home automation system. I am using homematic here in combination with iobroker. The only thing I did, was sending some alarm voice/tone through the homematic info-hub if the RC brings up an error msg. I definetely could do something more but my PC-Prgm does everything I need (and the pc is running all day anyway), so there are no plans to do more integration work.
The concept of mähspitzel is a total different one. It basically uses the maintenance interface and put the data on a web page - as far as I do recall. The other one I don't understand. It needs lots of time to analize what he is doing. And I will definetely not spend that much time for it - especially as my systems works well, does not need any improvement and the usage is time limited anyway, as probably next year I will switch to something like luba 2. MK
I'm still following this discussion even though I sold my RS630 for the original Luba. I don't think you'll be disappointed!
Did you figure out how to send a start mowing Zone A or Subzone 1 command?