I am starting my vacuum cleaner using API call and it works but I need to specify also the room. I bought the new Bespoke Jet Bot Combo AI Robot Vacuum and it works great but I used this function to clean specific room on my old Roborock and I need it here as well.
The app/account already knows my rooms so they definitely have some ID assigned and this command robotCleanerCleaningMode has one of the arguments “map” but how do I specify the room? I don’t think it’s possible without extending but as mentioned, user can manually specify it so it must be implemented just not available in these arguments.
Hi, @barth11
Welcome to the SmartThings Community!
Have you seen if there are other capabilities supported by the device that might help?
Is this something you can configure in the SmartThings app? If so, once you send a command for this, you can look at the device in the Advanced Users app to see which changed and their values.
This kind of thing depends on how the manufacturer configured the integration. You can see a capability supports certain commands but if one is not implemented in the integration, it won’t have any effect.
@nayelyz - Thanks for your input but this is a Samsung device and i’d expect that this would be covered in the API documentaiton.
When I send the Robot vacuum cleaner to clean specific room the Advanced users app shows
robotCleanerCleaningMode: auto
Then when I check the documentation for this capability I don’t see an option to specify room only the auto option.
Clearly the auto mode is the correct way to approach this but I’d appreaciate if someone could expand the documentation to include how to specify the room when clearly the app is using this.
Maybe I am missing from this how to specify the room:
I am happy to try other things but it seems to be it’s just matter of Samsung telling me how to construct the JSON body. Because they are already doing it.
I went ahead and checked the events which are happening when I select one room in the Smart Things app and these are the steps the robot vacuum is doing.
Capability
Attribute
Value
robotCleanerMovement
robotCleanerMovement
charging
robotCleanerMovement
robotCleanerMovement
cleaning
robotCleanerCleaningMode
robotCleanerCleaningMode
auto
robotCleanerCleaningMode
robotCleanerCleaningMode
stop
robotCleanerMovement
robotCleanerMovement
homing
robotCleanerMovement
robotCleanerMovement
charging
robotCleanerMovement
robotCleanerMovement
pause
robotCleanerMovement
robotCleanerMovement
charging
So if these are the steps which the robot is doing, there is a definition in one of them where to clean (room id) and which mode (vacuuming or moping).
Could someone from DEV team just expand the documentation? Clearly the feature is developed and working but not available to us.
Not all the things a device does are exposed in the API, have you checked if this device appears as OCF type in the Advanced Users app?
If so, it means this works on the application level and not the API level, so, this means the commands from the app work because it communicates directly to the device but there might be no command that does the same action exposed in the API.
In this post, I shared some details the engineering team provided about OCF devices that might help understand more why they behave differently:
I suggest you reach out to the manufacturer and ask if they’re exposing the information or a command to be used through the API to specify the room you want to clean. Only the manufacturer can modify the integration and provide documentation about it since they’re the ones that developed it and know which information of their intellectual property would like to share publicly.
Hi @barth11, I just open a discussion about some implementations for the jet bot combo ai, and one of my suggestions is the same issue you were facing it! Did you manage to find a solution? I’m a completely ignorant to all this coding thing, but I’m going crazy with how poor the all for the robot is… any chance you could help me out here?