Support o073ti (X11 Pro Omni): strict MapSet_V2 parsing, freeClean agentInfo area cleaning, and new lifespan types#1463
Conversation
|
Thanks a lot, I would like to try, but for my old x1 omni I used the official integration, can you explain to me how to use your modification? |
If you are using the client library directly, you can use the fork on which this PR is based. |
|
This PR is doing multiple things at one and will not merge for this reason. Can you split it please into smaller parts? |
Summary
o073ti(DEEBOT X11 PRO OMNI)getMapSet_V2room subset parsing to known formats (len == 10orlen == 11)freeCleanarea cleaning command withagentInfopayload support for newer robotso073tiarea cleaning capability to the newfreeClean + agentInfocommandProblem
For DEEBOT X11 PRO OMNI (
class: o073ti):clean_V2withtype=freeCleanandagentInfoChanges
1) Hardware support
o073tihardware profile:deebot_client/hardware/o073ti.py2) MapSet_V2 room subsets
10or11(instead of broad>= 10)3) freeClean area cleaning for newer robots
CleanAreaFreeCleanAgentInfo:deebot_client/commands/json/clean.pyclean_V2withcontent.type = "freeClean"content.value:"<count>,<room_id>""<count>,<room_id>;<count>,<room_id>..."cleanings: intcleanings: list[int]agentInfopayload for compatible devices4) Wire command into command registry and hardware capability
deebot_client/commands/json/__init__.pyo073ticlean area capability toCleanAreaFreeCleanAgentInfo:deebot_client/hardware/o073ti.py5) Lifespan types
LifeSpanenum values:heavyDutyCleaningSolutiondustBucketdustContainerFilterdeebot_client/events/__init__.pyTests
tests/commands/json/map/test_init.pytests/commands/json/test_clean.pyfreeCleanvalue format (single/multi-room)agentInfoinjectionagent_infooverridestests/hardware/test_init.pyo073tiusesCleanAreaFreeCleanAgentInfotests/commands/json/test_life_span.pyReal device validation (X11 Pro Omni)
start,pause,stop,return_to_base)freeClean + agentInfocontent.valueformat