So I have a solution for this that will hopefully be included in the next release.
It is possible to do yourself like the previous user said using the service, but the ids are tricky.
Roborock has a “segment_id” for each room. But to get what room corresponds with which segment id, you need,
enable debug logging and find one of the first calls roborock makes where we get the user_data, you should see a rooms option, which has the name of rooms and then a 6 digit id.
call the service get_room_mapping and look in the log to see the result. That maps from the 6 digit id to the segment id.
Now you can use the segment ids for cleaning specific rooms
I find the roborock integration lacking compared what you can do with the hacky way of integrating it through HACS.
You can get camera there and if you spend the time to figure out the room ids you can so much more.
First of all - thanks @Lash-L for this custom integration and congrats for getting it into HA core!
I have this working as a HACS custom integration and wanted to switch over to the core integration. I just wanted to ask if there is a good way to do this? I am thinking to remove the custom integration and then add a new core integration and configuring from scratch. Thoughts?
Go to Developer Tools > STATES > in the Entity field search for: camera.roborock
Scroll down until you reach the option: room_numbers:
it should be something like this:
Now you can send the robot to clean using the numbers above and find the rooms that correspond to the numbers. How?
Go to Develop Tools >SERVICES > choose UI mode >
in Service, start typing your robot’s name: Roborock: Vacuum clean segment
Target, choose your device: Roborock S8 Pro Ultra
Segment: enter the any room number and find where the robot goes
and for last, don’t forget to CALL SERVICE!
once again click on Show Code Editor and you should see something like this:
Where ID 16 is a room and you just need to send your roboot there to find where it is
You can also edit it where it says “text: Room 16” and change to the room’s name.
Now you can see all rooms’ name on top.
Let’s pick “Room 29” or “Room 26” as example and change their name
Go back to to Edit mode in the Vacuum Map Card
Click on the "SHOW CODE EDITOR’
Find your “Room number” - in this example I’m choosing “Room 29” - and name it as you wish.
Example:
From Room 29:
I’ve created a video with detailed instruction on how to get the Roborock Integration working. How to pick through the diagnostic information to find the room ID’s and how to create a room cleaning automation using Home Assistant as a button on the dashboard.
Hi
I have a Roborock S7 with map car wich is ok in HA (with MIIO integration and not roborock)
My problem is the button GENERATE ROOM CONFIG is grey and I can’t extract room.
Is there a solution ?
Thanks for this video - made it a little clearer than the documentation. Was able to run an automation that cleaned a specific room which is great!
Your implementation is via an automation, I’m wrote a single script to pass through a room ID as an input parameter so I can simply re-use the script and call it with an input parameter via the automation.
This only works for 1 room ID though:
Yeah I can see how you add multiple segments to the code if you’re hardcoding the numbers. But in my implementation I have 1 script that I call from an automation passing through the id.
I guess if I removed the “-” from the script then I can pass through the IDs like you’ve written. Might give it a go.