marcelrv / XiaomiRobotVacuumProtocol

Attempt to describe the Xiaomi Robot Vacuum Protocol
GNU General Public License v3.0
360 stars 76 forks source link

'Get Room Mapping' for S5 #29

Open Cunner opened 4 years ago

Cunner commented 4 years ago

Is there any chance to get the "get_room_mapping" also available for the S5 ? The method 'app_segment_clean' does actually work for the S5 when i transmit the id of the segment. But i have to find them by try and error... There for it would be great to have the "get_room_mapping" available for the S5. That would be awesome! Thanks for your time.

c-o-m-m-a-n-d-e-r commented 4 years ago

Sorry this is Firmware controlled. On the S5 the API gave back just an empty Array. Nothing we can do here.

You have to use try & error. Sorry

Start with room id 16 i think

tijunoi commented 4 years ago

I have an S5 and the command get_room_mapping is actually returning the room ids and names 🤔 [[22, "Kitchen"], [23, "Living Room"]] and so on. Maybe a newer firmware? I have 2008 (but I thought this was the first one to introduce room support to the S5)

rasssta commented 4 years ago

@tijunoi : Do you have S5 or S5 Max? I have S5 with .2008 and just tried get_room_mapping and got:

INFO Device found, making call INFO Got result: []

tijunoi commented 4 years ago

@rasssta S5 (S50) with .2008. get_room_mapping returns this:

[[22, 'Living Room'], [16, 'Guest Room'], [17, 'Bathroom'], [18, 'Bedroom'], [19, 'Entrance'], [20, 'Kitchen'], [21, 'Small bathroom']]

I do have rooted firmware with Valetudo RE, but it should not affect as the miio protocol talks to the original firmware of the robot, not the valetudo server, and that is not modified in any way.

get_status returns this btw:

[{
    'msg_ver': 3,
    'msg_seq': 2322,
    'state': 5,
    'battery': 94,
    'clean_time': 690,
    'clean_area': 12782500,
    'error_code': 0,
    'map_present': 1,
    'in_cleaning': 1,
    'in_returning': 0,
    'in_fresh_state': 0,
    'lab_status': 1,
    'water_box_status': 0,
    'fan_power': 102,
    'dnd_enabled': 0,
    'map_status': 3,
    'lock_status': 0
}]