Roborock S7 MaxV: No Mop, Water Data Pulled into HomeAssistant
Closed this issue Β· 82 comments
The problem
Hello!
I have just upgraded my Roborock S7 (a15) to a Roborock S7 MaxV (a27) which was just released in the USA.
I was able to import my new robot into HA using the methods it took me to get my S7 set up, and it appears to work perfectly.
However, the S7 MaxV's Mop Attached and Water Revivor Attached pulling statuses are not being shown in HomeAssistant. My best guess is that the specific model (a27) just needs to be set as a device that can pull said information.
Mop Attached showing up for S7:
Current Sensors grabbed for S7 MaxV:
Additionally, there are still no options for invoking a self-empty of the dock or any prep as far as I can see for the upcoming auto-wash dock. Is there a place I should throw issue requests for these features?
Let me know how I can be of assistance in testing. Thanks!
What version of Home Assistant Core has the issue?
2022.4.1
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Xiaomi Miio
Link to integration documentation on our website
https://www.home-assistant.io/integrations/xiaomi_miio/
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
Hey there @rytilahti, @syssi, @starkillerOG, @bieniu, mind taking a look at this issue as it has been labeled with an integration (xiaomi_miio
) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
xiaomi_miio documentation
xiaomi_miio source
(message by IssueLinks)
Queried my status of the bot and it appears to be correctly reporting the status of the water container and mop being attached.
Here how my bot reports when the mop/water is attached:
EDIT: My highlighting is deceptive. water_box_carriage_status: 1 refers to the mop being attached, while water_box_status: 1 refers to the water container itself being attached
And here is the same bot, same situation, but mop/water removed
I did not see any inherit use for "wash use" and "wash ready", which makes me wonder if they are there for the auto-wash dock which has yet to be released in the states, and would be nice to be able to interact with from HA.
the same accounts for the released Roborock Q7 Max (non-plus)
would be nice to have the controls as well (amount of water same as fan speed)
probably that is "mop_mode" as depicted in [sgrochowski] screenshots
[img]https://i.imgur.com/CiC3qly.png[/img]
would be nice to have the controls as well (amount of water same as fan speed) probably that is "mop_mode" as depicted in [sgrochowski] screenshots [img]https://i.imgur.com/CiC3qly.png[/img]
It would be nice if Home Assistant natively supported setting the mop modes, I agree. However, in the meantime, you can set the mop speed by sending the "get_water_box_custom_mode" and "set_water_box_custom_mode" commands to your bot.
https://github.com/marcelrv/XiaomiRobotVacuumProtocol/blob/master/water_box_custom_mode.md
Actually, way more thing is not displayed/supported:
- mopping related features (like intensity, wash settings)
- station related features (like bag, auto empty, water level warning)
- maintenance (like the water filter, high-speed maintenance brush, dustbag)
- reactive AI
- different cleanup modes (like vacuum & mop, vacuum, mop, custom)
- firmware update (see if there is a new and trigger update)
water_box_custom_mode works for me, but not route mode
Please note that while cleaning mopping pad, the robot shows as status "undifined state 26β
Also the vacuum power levels of roborock s7 don't fit here, this one has Max+ power as the strongest one. I found out that it can be set as send_command 108
The vacuum power levels come from the backend library, so feel free to create an issue (or a PR) at https://github.com/rytilahti/python-miio/ . A new enum for the supported speeds needs to be added to https://github.com/rytilahti/python-miio/blob/master/miio/integrations/vacuum/roborock/vacuum.py#L94 .
As for adding new sensors & settings, doing this requires a larger restructuring of the library to avoid hardcoding device-specifics in both inside homeassistant and accommodate changes in the backend lib. Insted, the backend lib should be enhanced to allow informing homeassistant what types of sensors, buttons, switches etc. are available and entities should be created dynamically based on that information. Alas, I'm currently occupied and have no time to push that work forward, but if someone is interested in working on that I'm happy to give feedback on PRs and help brainstorming the API.
Please note that while cleaning mopping pad, the robot shows as status "undifined state 26β
Also the vacuum power levels of roborock s7 don't fit here, this one has Max+ power as the strongest one. I found out that it can be set as send_command 108
Do you know the magic command to vacuum only on the S7 MaxV Ultra?
Or where to find a list of all the send_commands
I use a Roborock S7 and I miss the water box modes. (quantity of water)
It can be set by the service "vacuum.send_command" and command "set_water_box_custom_mode"
Values are 200, 201,202,203,204 (off,low,medium,high,auto)
Is there a change to implement it in the vacuum entity/attributes?
I am willing and have the knowledge to implement the restructure of the vacuum backend lib to accomodate dynamic attributes such that these Mop and Water entities can be added.
But I don't have a Roborock vacuum.
I have tried reaching out to Roborock to see if I can get my hands on a S7 in order to fully implement it in HomeAssistant, but they never responded.
Does anyone have a contact at Roborock I can reach out to?
no sorry. But I could debug for you?
I got the mop command from FHEM implementation
Maybe we could carry over many things from there https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/72_XiaomiDevice.pm
Hey @starkillerOG
Unfortunately I don't have a good Roborock contact (Xiaomis US support is lacking imo) but what I do have is a spare Roborock S7+ that is currernly unused. Maybe we can work something out.
@sgrochowski sounds good, can you send me an e-mail adress to contact you?
You can send it to starkiller.og@gmail.com, I will then send you my private contact information.
Note that I normally do not read that e-mail but will have a look for it for the coming days.
I'm already working on extending the upstream library to make this possible, but some help with that would be great as I have no proper test devices at hand! See rytilahti/python-miio#1495 for the details and progress, the "Embedding extra status containers" part is relevant and necessary for adding support for extra sensors and selects that are not delivered by the regular update cycle.
I added quite some new features to the Roborock S7 MaxV in this PR rytilahti/python-miio#1543.
It is based on the great work of @rytilahti that implemented the new "Embedding extra status containers".
It adds controls for:
- Mop routing (enum)
- Mop scrub intensity (enum)
- Mulit map (which floor is active, enum)
- Auto dust collection (switch)
And adds some new sensors such as:
- floor 0-4 clean start (when the last clean was per floor)
- Last clean map name
You can follow the progress in the linked PR.
I will work on implementing buttons for starting/stopping a dust-empty of the dock.
I will work on implementing buttons for starting/stopping a dust-empty of the dock.
That's great!
Does it mean that it is going to be possible to trigger the dock-related actions such as "empty bin" and "clean mop"
@ReX1983 yes I implemented a button for startig/stopping "empty bin".
However I have a S7maxV+ (auto-empty dock) not the ultra so I don't have the option to "clean mop" on my vacuum.
Is there a way to start "clean mop" in the xiaomi miio app?
If there is I can implement a button for it in HomeAssistant (just need to figure out what the command is, but I can guide you through the process of capturing the command from the xiaomi miio app that I would need to implement it)
@ReX1983 yes I implemented a button for startig/stopping "empty bin". However I have a S7maxV+ (auto-empty dock) not the ultra so I don't have the option to "clean mop" on my vacuum. Is there a way to start "clean mop" in the xiaomi miio app? If there is I can implement a button for it in HomeAssistant (just need to figure out what the command is, but I can guide you through the process of capturing the command from the xiaomi miio app that I would need to implement it)
hi, yes there is an clean mod option in the app, also some other. soon i will receive the driying kit for the emty-dock which will give more options.
a guide how to capture the commands would be nice, i could than provide all options.
i got a question, is there a way to get the room in which the robot currently is? that would be awesome, since i got some automation ideas with home assistant
@KrX3D A guide to how to capture the commands can be found here:
https://python-miio.readthedocs.io/en/latest/contributing.html#traffic-capturing
Please let me know if anything is unclear, just follow the guide (I use bluestack with wireshark) and capture the packets and save as a pcap file, then decrypt the packets and tell me what the commands are that you would like to see implemented (like "clean mop" "dry mop" etc.).
@KrX3D I did implement a way to see the current floor (multi map feature) of the Roborock, but at the moment I did not find a way to get the current room of the Roborock.
@KrX3D A guide to how to capture the commands can be found here: https://python-miio.readthedocs.io/en/latest/contributing.html#traffic-capturing Please let me know if anything is unclear, just follow the guide (I use bluestack with wireshark) and capture the packets and save as a pcap file, then decrypt the packets and tell me what the commands are that you would like to see implemented (like "clean mop" "dry mop" etc.).
Ok thsbks. I will try it in 10 days when im back from holiday.
@KrX3D I did implement a way to see the current floor (multi map feature) of the Roborock, but at the moment I did not find a way to get the current room of the Roborock.
Ok thanks for the info
Hi together, I'm looking for a solution as well (for ioBroker). I was able to capture the traffic via BlueStack + WireShark and I have a pcapng. But I fail to parse this file via miiocli.
I'm not an expert so I managed to install on Windows 10 the Microsoft Visual C++ 14. I have Python 3.10.8 and pip 22.3 installed and via pip install python-miio
as well miiocli. But when I try to execute miiocli devtools parse-pcap Mop.pcapng <MeinenTokenHatteIchHierEingefuegt>
I fail, even when I navigate to the folder C:\Users\<MyUser>\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts
and then execute with the message
Usage: miiocli [OPTIONS] COMMAND [ARGS]...
Try 'miiocli --help' for help.
Error: No such command 'devtools'.
Does anybody know how to solve this? As result I can share the log for commanding the mop cleaning (that we are all searching for) π
The command was introduced only recently, so the simplest way to use it is to install the git master version (or alternatively, dig into devtools
directory of your installation for pcap_parser.py
or something similar, it may or may not work :). Note also that it requires a regular pcap file, so you need to convert it from pcapng to that which can be done using wireshark.
The command was introduced only recently, so the simplest way to use it is to install the git master version (or alternatively, dig into
devtools
directory of your installation forpcap_parser.py
or something similar, it may or may not work :). Note also that it requires a regular pcap file, so you need to convert it from pcapng to that which can be done using wireshark.
Many thanks! How do I install the git master version (via command line)? As I wrote I'm not an expert π
The command was introduced only recently, so the simplest way to use it is to install the git master version (or alternatively, dig into
devtools
directory of your installation forpcap_parser.py
or something similar, it may or may not work :). Note also that it requires a regular pcap file, so you need to convert it from pcapng to that which can be done using wireshark.Many thanks! How do I install the git master version (via command line)? As I wrote I'm not an expert π
Go to https://github.com/rytilahti/python-miio and use the green "Code" button, and "Download Zip".
Then extract the zip file and in there is the "miio" folder.
Copy that folder to path/to/python310/Lib/site-packages
(there schould already be a "miio" folder there if you installed python-miio, just overwrite those files and you are then using the git master version.
(maybe there is an easier method, I am not sure).
The simplest way is to use poetry for installation, this avoids polluting the site-packages of your regular installation. So download and extract the zip (or just create a git checkout), change to the source directory, and run:
poetry install
Now, you can access the poetry-created virtual environment either using run
to execute single commands:
poetry run miiocli devtools parse-pcap capture.pcap
or by activating the virtual environment by opening the shell (this allows executing commands directly without using poetry run
):
poetry shell
miiocli --help
miiocli devtools parse-pcap capture.pcap
@RkcCorian did you manage to decrypt your captures?
@RkcCorian did you manage to decrypt your captures?
Not yet... did not had time. I try the next days.
The simplest way is to use poetry for installation, this avoids polluting the site-packages of your regular installation. So download and extract the zip (or just create a git checkout), change to the source directory, and run:
poetry install
Now, you can access the poetry-created virtual environment either using
run
to execute single commands:poetry run miiocli devtools parse-pcap capture.pcap
or by activating the virtual environment by opening the shell (this allows executing commands directly without using
poetry run
):poetry shell miiocli --help miiocli devtools parse-pcap capture.pcap
@rytilahti : I tried but failed directly at the beginning... so sorry but I'm not used to this. How I'm able to use / install Poetry?!
c:\Temp\Neuer Ordner (4)>poetry install
Der Befehl "poetry" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
c:\Temp\Neuer Ordner (4)>pip poetry install
ERROR: unknown command "poetry"
Additional: I will remove phyton again afterwards as in normal life no need for me.
The command was introduced only recently, so the simplest way to use it is to install the git master version (or alternatively, dig into
devtools
directory of your installation forpcap_parser.py
or something similar, it may or may not work :). Note also that it requires a regular pcap file, so you need to convert it from pcapng to that which can be done using wireshark.Many thanks! How do I install the git master version (via command line)? As I wrote I'm not an expert π
Go to https://github.com/rytilahti/python-miio and use the green "Code" button, and "Download Zip". Then extract the zip file and in there is the "miio" folder. Copy that folder to
path/to/python310/Lib/site-packages
(there schould already be a "miio" folder there if you installed python-miio, just overwrite those files and you are then using the git master version.(maybe there is an easier method, I am not sure).
@starkillerOG , @rytilahti : I'm sorry but I feel I need a step-by-step guide expecting a fresh system (no phyton / miio installation available but can be installed). Sorry for that, but I feel that is the only way we can get the result asap from me.
@RkcCorian you almost had it.
It is not pip poetry install
but pip install poetry
Likewise to get the miio folder in the site-packages, first install the normall miio-package:
pip install python-miio
@starkillerOG : Still I'm struggeling as not working... something is always missing...
Verzeichnis von C:\Users\Marku\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts
22.11.2022 21:08 <DIR> .
22.11.2022 21:08 <DIR> ..
01.11.2022 11:20 1.132 android-backup-pack-script.py
01.11.2022 11:20 74.752 android-backup-pack.exe
01.11.2022 11:20 1.136 android-backup-unpack-script.py
01.11.2022 11:20 74.752 android-backup-unpack.exe
22.11.2022 21:08 108.466 doesitcache.exe
22.11.2022 21:07 1.325 dul-receive-pack
22.11.2022 21:07 1.321 dul-upload-pack
22.11.2022 21:08 108.460 dulwich.exe
22.11.2022 21:08 108.463 jsonschema.exe
22.11.2022 21:08 108.460 keyring.exe
01.11.2022 11:20 1.081 micloud-script.py
01.11.2022 11:20 74.752 micloud.exe
01.11.2022 11:20 108.468 miio-extract-tokens.exe
01.11.2022 11:20 108.469 miiocli.exe
01.11.2022 11:20 108.491 mirobo.exe
29.10.2022 16:49 129.064 Mop.pcapng
01.11.2022 11:20 108.494 normalizer.exe
01.11.2022 10:56 107.959 pip.exe
01.11.2022 10:56 107.959 pip3.10.exe
01.11.2022 10:56 107.959 pip3.exe
22.11.2022 21:07 108.468 pkginfo.exe
22.11.2022 21:08 108.475 poetry.exe
01.11.2022 11:20 108.457 tqdm.exe
22.11.2022 21:08 108.488 virtualenv.exe
24 Datei(en), 1.984.851 Bytes
2 Verzeichnis(se), 18.822.225.920 Bytes frei
C:\Users\Marku\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts>pip install phython-miio
ERROR: Could not find a version that satisfies the requirement phython-miio (from versions: none)
ERROR: No matching distribution found for phython-miio
[notice] A new release of pip available: 22.3 -> 22.3.1
[notice] To update, run: C:\Users\Marku\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip install --upgrade pip
C:\Users\Marku\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts>
@starkillerOG : I gambled around again but I'm failing, really sorry for that. I will now deinstall everything.
To be clear... I have no glue from phython, I'm familiar e.g., with embedded programming (like C oder assembler) and some basics I need for ioBroker. Therefore... I would like to help as I have a high interest to get this feature but I need a step-by-step docu, assuming a new / fresh system, how to decode the file that I stored from wireshark (pcapng-file).
I actually can't help you in detail -- just following this thread -- but I did notice that you have twice made the same typo, so maybe that's one issue:
pip install phython-miio
ERROR: Could not find a version that satisfies the requirement phython-miio (from versions: none)
It is python no phython -- no h after p.
I have a S7 MaxV Ultra and I can help out.
Managed to set this up and I am capturing traffic from my phone to wireshark.
However not sure which commands specific to the Ultra dock are still pending to be identified and added.
@RkcCorian yes @wigster is right, you had a typo in the command, it schould be:
pip install python-miio
@RkcCorian you can also send me the wireshark capture (pcapng-file) and the token of your gateway and I can decrypt it for you.
Of course I do understand if you do not want to send security information (the token), that is up to you.
You can send it to starkiller.og@gmail.com
, please do also message me here to let me know, because normally I don't read that e-mail.
@balilu91 would be great if you could post the decrypted pakket captures of missing features.
Now I think the main missing feature is to start cleaning the mop
.
I believe there is a button in the miio home app to do this.
@RkcCorian what other features are missing for the S7MaxV Ultra?
@starkillerOG , @balilu91 : Many thanks!!!! I checked in my app and there are three commands according my knowledge:
- Mopp cleaning (this is what I need!!!)
- Empty the dust container (for me optional as the dust container is big enough :-))
- Simply return to station (for me optional as the robot anyhow returns normally)
Empty the dust container and return to dock have already been implemented.
So the only missing feature would be mop cleaning
.
@balilu91 could you post a decrypted capture of the mop cleaning
command?
@starkillerOG not sure what I'm doing wrong however when I run the below I get no output and no errors :/
miiocli devtools parse-pcap capture1.pcap <token>
double checked I'm using the right token as well. Is there something I could possibly be missing ?
@balilu91 did you execute the command while beeing in the folder of the capture1.pcap file?
cd "path/to/pcap/file"
Alternatively you can spicify the full path in the command:
miiocli devtools parse-pcap "path/to/pcap/file/capture1.pcap" <token>
Were you using the latest master branch of the python-miio library: https://github.com/rytilahti/python-miio?
@starkillerOG
To answer your questions
Re right folder
- I am running in the same folder as the *.pcap file . Double checked and it would throw a "no such file" error if I run from a different folder.
Re latest branch
- I installed python-miio using pip
- then i downloaded the last branch as zip
- copied the miio folder from the archive and I override the the pip installation in AppData\Local\Programs\Python\Python311\Lib\site-packages
EDIT: also as per above path I'm running python 3.11 on windows in case it matters
EDIT 2 : After I capture the data using wireshark, I'm saving it as "Wireshark/tcpdump/ ... - pcap" . In case I should be exporting or something
@balilu91 It seems like you are doing everything correctly.
Did you actually see the relevant (encoded) packets in wireshark beeing send to the roborock vacuum?
(You can filter using ip.src==192.168.1.IP or ip.dst==192.168.1.IP
with IP the ip-adres of the roborock vacuum).
In my own network I cannot see the packets beeing send from my phone to the roborock on my desktop because those packets never travel through my network card of the desktop (they go from the phone to my router directly to the roborock).
To capture the packets you will have to eather use a android emulator on your desktop like bluestacks to send the commands from the PC, or capture the packets on your router and then import that file into wireshark and save as pcap. (Only some routers allow you to capture packets, not all).
For Netgear routers I can give instructions on how to capture packets from the router.
@starkillerOG I tried both bluestack and sharing hotspot from my pc to my phone to be able to capture that network interface.
I can see hits from my phone to 52.28.166.162 which resolves to de.api.io.mi.com so definitely capturing the right interface.
only possible issue I can think of is that either the python version is conflicting.. or something else which is most likely too obvious as happens in such cases :/
cant capture directly on the router in my case.
EDIT: .. I re read your last comment.. should I be capturing from my phone to Xiaomi servers .. or to/from the roborock itself ?
Short question, how can I make use of your improvements? Just updating home assistant looks like not enough.
@balilu91 you schould be capturing from the Mi home App (phone or bluestack) to the roborock vacuum.
So it schould be local network traffic (not to the internet).
So NOT to the xiaomi servers.
@Ulli2k my improvements are not yet incorporated in HomeAssistant, first a new python-miio release is needed and then some adjustments in HomeAssistant.
Unfortunately it will be a while, at the moment you need a dev enviroment to test the improvements.
@starkillerOG if that is the case then it's definitely why I can't parse anything from the pcap file.
Phone and Robot are on the same wifi and they are persisting to talk over internet.
Tried connecting both to my PC's hotspot and same thing.
Blue stack also does the same
Tried hotspot without internet to try and force a local connection but robot kept reconnecting to hotspot and switching IP every time.
One of the captures is throwing the below which is not really useful:
== stats ==
miio_packets: 2
empty_packets: 2
Can't figure out why they are not speaking locally
I have the same problems, so as @starkillerOG wrote, the current public versions seems to miss the devtools, so you have to go to with git clone methoed and poetry way.
But there is one packet missing, you have to call
poetry add requests
But I tryed several ways to capure the traffic. I used several tools, but often they wrote pcap files based on 802.3, to the current code doesent find UDP packets there. I also tried some other tools and I get the UDP packets, but they are only 32 byte.
I blocked internet access for the phone, but than the hole app doesen't work.
So I guess they changed the app, that they will always go over the server????
So some time ago, they also encryped the traffic with rc4, see https://github.com/sipiyou/edomi-roboroc/blob/main/php/cryptRC4.php. Should this also added here, but I think is only for cloud traffic?
@starkillerOG Here is a decoded PCAP for a Roborock S7 MaxV Ultra (roborock.vacuum.a27). I tried to hit everything I could in the app while capturing. Let me know if there's any other commands you want me to verify.
Commands:
== commands ==
get_timer: 39
get_status: 36
get_dnd_timer: 37
get_clean_summary: 73
get_clean_record: 36
get_consumable: 40
get_prop: 222
get_wash_towel_mode: 3
get_smart_wash_params: 3
get_dust_collection_mode: 2
get_dust_collection_switch_status: 2
app_get_dryer_setting: 1
app_set_dryer_setting: 2
set_dust_collection_mode: 4
set_smart_wash_params: 2
set_wash_towel_mode: 2
get_carpet_mode: 1
get_carpet_clean_mode: 1
set_carpet_clean_mode: 2
set_carpet_mode: 2
get_camera_status: 1
get_collision_avoid_status: 1
get_identify_ground_material_status: 1
get_identify_furniture_status: 2
set_camera_status: 4
get_led_status: 1
get_flow_led_status: 1
get_child_lock_status: 1
get_valley_electricity_timer: 2
set_dnd_timer: 1
close_dnd_timer: 1
set_valley_electricity_timer: 1
close_valley_electricity_timer: 1
set_child_lock_status: 2
get_multi_maps_list: 4
get_map_v1: 58
get_multi_map: 3
get_room_mapping: 5
get_dynamic_map_diff: 177
get_serial_number: 2
get_timezone: 2
app_start: 2
app_get_clean_estimate_info: 14
get_dynamic_data: 34
start_wash_then_charge: 1
app_pause: 2
app_start_wash: 2
get_customize_clean_mode: 4
get_clean_sequence: 3
app_stop: 2
set_water_box_custom_mode: 4
set_custom_mode: 14
set_clean_motor_mode: 3
end_edit_map: 1
app_get_init_status: 1
set_app_timezone: 1
get_mop_template_params_summary: 1
get_server_timer: 1
set_fds_endpoint: 1
enable_log_upload: 1
get_current_sound: 1
app_stat: 1
app_stop_wash: 1
app_charge: 2
app_segment_clean: 1
So the only missing feature would be
mop cleaning
.
I think this was {'id': 7986, 'method': 'app_start_wash', 'params': {}}
in my capture
@shbatm that is absolutely great, I will have some time in the coming two weeks to go through everything and add the newly discovered commands.
Greath work!
Also just FYI - I was poking around in the data and it looks like there are 2 different options for cleaning the mop -- 1 while docked and 1 while cleaning you can send the robot back to the dock to wash and then charge (start_wash_then_charge
)
@shbatm may I ask if you captured traffic from your phone or using an emulator ?
Asking to figure out why I didn't manage to do it :/
I used the app on my phone and captured the data from my Unifi Wireless AP via Wireshark+SSH.
ssh admin@wap-ip-addr tcpdump -i br0.30 -U -s0 -w - 'host robot-ip-addr' | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -
# br0.30 is the IOT VLAN interface on my WAP
Thanks @shbatm for the info.. seems your phone and bot were speaking locally.
Will try again and see if mine keep persisting to go over xiaomi servers
Make sure you're on the same network. I had to make sure my phone was on the IoT VLAN to get it to talk locally.
For everybody, who will work with the decoded if, I compressed the info (removed doubled entries ..)
Roborock-S7-MaxV-Ulra-commands.txt
Tested app_start_wash and that works! Cleans the mop. Ons less app on my phone!! :-)
@KrX3D I did implement a way to see the current floor (multi map feature) of the Roborock, but at the moment I did not find a way to get the current room of the Roborock.
Hi,
im using the Xiaomi Cloud Map Extractor integration and there it shows the room id:
somehow it does not add the room name. but clearly there is a way to get that info
@KrX3D the Xiaomi Cloud Map Extractor uses the cloud to get the room_id (I think).
The miio integration uses a direct local connection to the vacuum in which I think this room_id is not available.
ok thanks for pointing that out
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Still active. Waiting on dependency.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Yes unfortunately still waiting on upstream
New to HA and still struggling. I would like to have a simple automation that turns an icon on my dashboard to red when the water tank of my S7 MaxV needs to be refilled (binary_sensor.roborock_s7_maxv_water_shortage is NOT ok, I guess). Can anyone guide me?? Thanks a lot. Will buy a coffee as soon as it works:-).
I personally use βdock statusβ to tell if there is a water shortage on the dock. If the dock status is not βokβ then there is likely a water shortage or some other issue. The water shortage sensor appears to be for a water shortage in the robot itself, not the dock.
That was quick - thank you:-)! And can you tell me how to set up an automation that turns an icon on my dashboard to red when the water tank needs to be refilled? I'm a newbie, remember:-).
Or better: a warning icon that only appears when the water tank needs to be refilled.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Is there a way to reopen this just so it stays on our radar as we wait for upstream dependencies?