-
-
Notifications
You must be signed in to change notification settings - Fork 561
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dreame F9 Robot Vacuum |dreame.vacuum.p2008| #812
Comments
Where did you find a p2008 build ? I only know of fork #683 which implements basic functionnality for mc1808 (Xiaomi 1C). I managed to control most of the vacuum using this technique, however I am still looking for a way to upload custom voice packs. What setup do you use to make Wireshark captures ? I can't seem to get anything using MEmu or Bluestacks |
Sorry my mistake! I used the #683 fork with the basic functionality for mc1808. Than I'm capturing with Wireshark (Filter: UDP and your Robot IP). (My Pc is connected via Lan so I choose the LAN-Adapter) If u want i can take some pictures. Just tell me which part of the setup u want to see.
I'm unfamiliar with this (Devtools) could u point me in the right direction? |
Weird, I can't seem to be able to communicate with the vaccuum using Bluestacks...
No problem, you just have to navigate to the devtools folder and do the following :
Personally, I find going through the .json file much easier to understand how the vacuum works, rather than reading the generated Python code. |
Here you go: https://textuploader.com/1p09d Tell me if it's Ok or if i should capture a second one |
Oh my god yes that's perfect, I could extract the exact string that's needed to make the robot download the voice pack using Looks like it requires the language ID ("DE", "EN", etc), the voice pack URL (this is for the German pack), MD5 hash and size in bytes. Thanks for your help 😄 |
Oh and also, I'm still trying to figure some things out with the F9 implementation but don't hesitate to ask me questions ! |
Sorry for the late reply (Work + Master thesis).
Oh thank you :) Will do! Do you think it's possible to get the map data? I want to display it at my Home automation hub (Openhab2) If I have time tonight i will try your example with the Devtools! |
It's all good, thanks ! I have all the voice pack URLs thanks to the .json file posted by @rezmus. Well, it seems to be stored on the vacuum and the app loads it from it so I guess so. |
I'm noticing something weird with the EN voice, the URL clearly indicates that it's downloading from the 1C's packs, and it doesn't sound like the English voice that comes pre-installed with the vacuum. |
...well thanks 😆 |
Hey, sooo I finally got around to making a simple implementation with just enough functionnality to use in Home Assistant using this integration and this card. I even modified the And one last thing, I couldn't find any equivalent action for the Enjoy ! |
How can we integrate the p2008 device ? |
Hey @mickabrig7 @wilhelmphilipp94 ;-) |
Sadly, no locking-out of the Xiaomi cloud yet as the stock firmware is still running on the robot, we're just using the same protocol as Xiaomi's app to send actions through Home Assistant. This would be possible when the device becomes rootable and Valetudo is updated to support it, but not for now... |
Thx for the fast answer! |
I'm not sure, it may work actually ! |
I would love to, but I havent bought the F9 yet as I first wanted to be sure to be able to kill the cloud-connection (until valetudo is available). Maybe you can use the child-protection to test it? Or a guest-feature? If you tell me which router you have ill try to find out if it is somehow possible ;-) @wilhelmphilipp94 or maybe you can try that? |
thx for your work, I just modified your code in dreamevacuum.py so that "find my robot" in HASS performs an voice file upload an it worked like a charm. |
Hi everyone. Thx for you work. I'm trying to figure out how I can move the F9 to a specific zone. But I didn't achieve to get the command work with the miottemplate.py. Did someone know what are the siid and the aiid values to perform this action? |
Yeah I managed to work out that command and it works pretty well. You can see how I implemented it in my repo.
|
I already check and integrated your work in my HA. Great job by the way. And Yes the zone cleanup is working great but what I'm trying to do is to tell the robot to just move forward and stop. My charging station is under a cabinet and I want to add a button to HA to move the robot forward so I can clean it. I tried to get the informations needed but I don't manage to retrieve the Json file like describe
|
@microfrost1 in this repo https://github.com/Concentricc/xiaomi_vacuum the dev manage to add a remote function |
Hi @pedro2d10, I can only see the zone cleaning service in that repo. Am I missing it? I actually have the same use case as mine charges under the bottom step of the stairs out of view. I've planned to incoporate the forward command in the remote. From the app it triggers the vacuum to reverse about 50cm and turn around which I hope would work for you. It should be quite simple to implement when I can find the time. |
In the file custom_components/xiaomi_vacuum/miio/dreamevacuum.py line 348 `# siid 21: (remote): 2 props, 3 actions
|
@pedro2d10 I see. I think those definitions were auto generated when using the miot spec converter. The complete calls would still need to be identified. In the case of our p2008 (https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:vacuum:0000A006:dreame-p2008:1) the start-remote, stop-remote, exit-remote definitions aren't there so assuming local execution is fine, they need to be sniffed. It's something I've been meaning to spend some time on for a while. |
remote for p2008 (set_properties to 4/15).
|
@rezmus my understanting of this is we need to set the robot to propertie 4/15 so we can write the remote-state. Did you know how this can be implemeted in the microfrost1's custom intergration? |
@pedro2d10, I have commited what I'm testing locally which appears to work well although my robot has a different idea what 90 degrees is. I'll test further when I have more time. @rezmus thanks for the info, saved me a fair bit of time! Is that code from a public integration that we can reference? |
@microfrost1 You're the best! How did you call the service? I tried this but without any luck:
|
@microfrost1 code is from original f9 rn plugin from mi home ;) |
My fault, I rushed the commit. Confident it should work know however I haven't tested much. |
guys, with a Dreame F9 here? i have issues that he sometimes starts 45° rotated, you guys seeing it too? making the cleanup taking 20 min longers, and sometimes he then needs to recharge : Good start = https://www.dropbox.com/s/ctyoo25jzzry7ar/xiaomi.mp4?dl=0 On a good start, when I start cleaning, it goes back from the charging station, then rotates like 180° todo some calibration |
Hello! |
you need to turn on "map saving beta" feature, afterwards if you let it make a full clean for 3 times, it saves a map that you can edit then |
@pergolafabio Thank you.
|
Maybe is a most stupid question but how to use a install_voice_pack? |
@microfrost1 and @pedro2d10 did you manage to move the robot from under the cabinet?
but the robot doesn't move from the dock at all. |
@PulsarFX Yes, it works from my side. Here the script I use
|
Hm, that's the same I use.
|
I don't think so, I also have this error in my home assistance. Did you tried with velocity and rotation at 0? |
with the latest firmware 3.5.8_1050 it actually does respond :) note: |
Hello, I'm writing to you because my hoover (dreame vacuum p2008 v3.5.8_1050) is no longer responding (IP ok and Token ok) I have an error message: Would you know where the problem could be coming from? [This message is translated] |
Before submitting a new request, use the search to see if there is an existing issue for the device.
Device information:
Use
miiocli dreamevacuum --ip <ip address> --token <token>
.dreame.vacuum.p1808 dreame.vacuum.p2008
return_home ---> Start Cleanup aiid 1 Start Charge: in: [] -> out: []
start_sweep ---> Return to Docking Station aiid 1 Start Sweep: in: [] -> out: []
Additional context
I used the dreame.vacuum.p2008 build. Tested some commands and found that i can start a cleanup with the "return_home" command and return the robot to the docking station with "start_sweep"
Additionally i listend with wireshark while using the Xiaomi Home App.
Here is the log: https://textuploader.com/1f3wm
There should be "Start Cleanups" and Return to docking station commands
The text was updated successfully, but these errors were encountered: