Room IDs
It's a discussion, not an issue. I want to discuss manual room ID detection via iOS backup files. I have a Roborock S5 Max with newer firmware version and neither automatic nor semi-automatic room detection works for me.

I was just viewing [backup files of Mi Home app](https://python-miio.readthedocs.io/en/latest/discovery.html#apple) that I exported using iBackup Viewer (iOS backup).

There is one file named `mihome_lasthomejson_633...11_ge.dat` which contains information about rooms. Don't open it via Sublime Text or any other editor, it will display binary data that's unreadable for humans. Open it using Mac's default TextEdit app and it will show some data along with some gibberish.

```js
{
    code = 0;
    message = "";
    result =     {
        "has_more" = 0;
        homelist =         (
                        {
                background = "";
                bssid = "";
                "city_id" = 0;
                "create_time" = 1592444148;
                dids =                 (
                );
                icon = "";
                id = 163001019...6;
                latitude = 0;
                longitude = 0;
                name = Home;
                roomlist =                 (
                                        {
                        bssid = "";
                        "create_time" = 1603484085;
                        dids =                         (
                            269814...3
                        );
                        icon = "more_1";
                        id = 163001027...8;
                        name = Bedroom;                             <<< This
                        parentid = 163001019...6;
                        shareflag = 0;
                    },
                                        {
                        bssid = "";
                        "create_time" = 1604002444;
                        dids =                         (
                        );
                        icon = "more_1";
                        id = 163001028...1;
                        name = "Dining Room";                             <<< Another room
                        parentid = 163001019...6;
                        shareflag = 0;
                    },
                                        {
                        bssid = "";
                        "create_time" = 1603998273;
                        dids =                         (
                        );
                        icon = "more_1";
                        id = 163001028...7;
                        name = Entrance;                            <<< And another
                        parentid = 163001019...6;
                        shareflag = 0;
                    },
            ... 
            ... <<< And so on
            ... 
```

> **Note:** I replaced some digits of IDs with ellipsis for privacy reasons.

Can this IDs be converted to room IDs manually? Directly entering same IDs doesn't work. I figured out that actual ID of Bedroom is 16 and Living Room is 19.