Complete local only control research #320
Replies: 3 comments 5 replies
-
It's an interesting problem I have not experimented with them, but we have a few commands that seem to do something with servers, I wonder if we could use them to our advantage? All these have to be lowercase to be sent.
It's annoying as the devices obviously can work offline. I can get about 2 mqtt calls in before it does its network refresh. And I get dings confirming the vacuum received them and made the changes. It would be awesome if someone would be able to figure this out! As this is commonly brought up. |
Beta Was this translation helpful? Give feedback.
-
To summarize the discussion so far from issue #273, the behavior I've seen on my Roborock S7 with firmware 02.16.12 is that if I block traffic to mqtt-us-2.roborock.com then the vacuum will frequently disconnect from my Wifi, reconnect, and send out a DHCPDISCOVER - it's effectively downing/upping its network interface. The frequency of this varies but I've seen it happen as quickly as every 30 seconds and as slowly as every 5 minutes. This happens regardless of whether I drop that traffic or block it (with a TCP RST). If I allow traffic to that domain on TCP port 8883 then the vacuum works normally, but of course that also means it's communicating with Roborock's servers. It's worth noting that I also have an older Roborock E4 with ancient firmware (I have no idea which version, that info doesn't seem to be available in Home Assistant through the Xiaomi integration) and that one works fine when its Internet access is completely blocked. However it does something similar (frequently dropping off of my network and reconnecting to it) if I drop the traffic, but it works completely normally if I block the traffic (with a TCP RST). This is a well-known issue that's mentioned in Home Assistant's documentation for the Xiaomi Miio integration. For now Valetudo seems to be the only known way to get these vacuums running 100% locally, but for most vacuum models you'll have to completely take the vacuum apart and short some pins together to put them into debug mode so you can flash it. |
Beta Was this translation helpful? Give feedback.
-
@jaydeethree can you check if you got any improvements in latest main? |
Beta Was this translation helpful? Give feedback.
-
Regarding the issue #273 started by @jaydeethree I am experiencing a similar issue and hope to open a discussion about getting to full local only control of these vacuums. I have a Roborock Q5+ but I understand they all are similar.
In my use case I could care less about the Roborock/Xiaomi mobile apps or using them to monitor and control the device. My only interest is to be able to more or less fully control the vacuum via HA, at least the functionality needed to control it and schedule cleanings. I don't particularly care about mapping features and such although those would be cool.
It appears at least for my device that it cannot be controlled unless it can talk to mqtt-us-2.roborock.com and AWS although interestingly at the moment it does not have Internet access and shows it is Docked and stats are showing, don't know how accurate they are. I will do a manual spot clean here shortly using the physical buttons and see if stats get updated.
If I try to control the device via HA now HA reports it can't connect to the device with the following:
However if I jump on the HA box I can ping 192.168.10.134 and obviously the vacuum is connected to WiFi.
Anyone interested in working toward full local control of these devices? Love to hear your findings. If I can figure how to post a pic I will provide a simple diagram of my network.
Beta Was this translation helpful? Give feedback.
All reactions