Xiaomi Mi IO Binding - Error logging on to Xiaomi cloud

Hi, I use a Xiaomi vacuum with the MI IO Binding. After the restart of OH the MAP won’t work anymore. The Bindin is configured like in the OH example. I can see the MAP with the Xiami Home App and also with the Flolevac App. At the moment I use the direct mode in the thing, so I can control the vacuum, but I can’t see the map in openhab. Every 10 minutes I get this failure in the log:

2021-11-06 16:06:21.893 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 0
2021-11-06 16:07:31.974 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 0
2021-11-06 16:08:41.944 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 0

I also installed the old version of the Home App on the phone, to get the token. The Token is the same, that Openhab found at first.

I also testet the log with the debug mode:

2021-11-06 22:28:46.714 [DEBUG] [miio.internal.cloud.MiCloudConnector] - Xiaomi cloud login with userid xxxxxxyyyyyy@gmx.net
2021-11-06 22:28:46.896 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 0
2021-11-06 22:28:46.899 [DEBUG] [o.internal.handler.MiIoVacuumHandler] - Not connected to Xiaomi cloud. Cannot retreive new map: roboroommap%2F391767715%2F2

Why can’t openhab login?

you need to configure the binding with your cloud details.
Did you do that.
The map is not coming directly from the vacuum, but instead it is coming from the cloud, hence your Xiaomi logon details are needed.

Hi, it’s working again, without changing anything.

Thanks and Bye

After changing my Router (Fritzbox), I have the problem again. email and passworf for login is okay, otherwise the returncode is:70016.

The thing is online for about 4 mins. I this time it is possible to communicate with the vaccuum. But then it goes to “error:config”

This are the logs:

2022-07-18 06:17:33.347 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 0
2022-07-18 06:15:23.565 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler MiIoVacuumHandler tried updating the thing status although the handler was already disposed.
2022-07-18 06:18:29.261 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler MiIoVacuumHandler of thing miio:generic:1759E6A3 tried checking if channel cleaning#map is linked although the handler was already disposed.
2022-07-18 06:43:50.104 [ERROR] [st.core.internal.thing.ThingResource] - Exception during HTTP PUT request for update config at 'things/miio:generic:1759E6A3/config'
java.lang.IllegalStateException: Thing with UID miio:generic:1759E6A3 has no handler attached.

Any Idea

I would restart openhab. Make sure you have only one version of the binding.
Check if there is not possibly a double entry for your vacuum e.g. a manual entry and a text based entry or something

Hi, I had a look in the folder userdata-conf, and saw, there are 4 files. How much is normal?
Bild_2022-07-20_160728731

Should I delete some?

I’m experiencing trouble after switching to a new WIFI, the server login has started to fail so I am unable to obtain new tokens:

2022-07-24 18:44:31.363 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi Login step 1 response = HttpContentResponse[HTTP/1.1 200 OK - 750 bytes]
2022-07-24 18:44:31.364 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi Login step 1 sign = <POSSIBLE_SENSITIVE_DATA_REMOVED>=
2022-07-24 18:44:31.364 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi Login step 2
2022-07-24 18:44:31.445 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi login step 2 response = HttpContentResponse[HTTP/1.1 200 OK - 1004 bytes]
2022-07-24 18:44:31.445 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi login step 2 content = &&&START&&&{"notificationUrl":"https://account.xiaomi.com/identity/authStart?sid=passport&context=7c-iGH-<POSSIBLE_SENSITIVE_DATA_REMOVED>&_locale=nb_NO","result":"ok","code":0,"captchaUrl":null,"description":"成功","location":"","securityStatus":16,"pwd":0,"desc":"成功"}
2022-07-24 18:44:31.446 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi login ssecurity =
2022-07-24 18:44:31.446 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi login userId =
2022-07-24 18:44:31.447 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi login cUserId =
2022-07-24 18:44:31.447 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi login passToken =
2022-07-24 18:44:31.448 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi login location =
2022-07-24 18:44:31.448 [TRACE] [miio.internal.cloud.MiCloudConnector] - Xiaomi login code = 0
2022-07-24 18:44:31.448 [TRACE] [miio.internal.cloud.MiCloudConnector] - Cookie dump for https://account.xiaomi.com/pass/serviceLoginAuth2
2022-07-24 18:44:31.449 [TRACE] [miio.internal.cloud.MiCloudConnector] - Cookie (.xiaomi.com) : sdkVersion --> accountsdk-18.8.15     (path: /. Removed: false)
2022-07-24 18:44:31.450 [TRACE] [miio.internal.cloud.MiCloudConnector] - Cookie (.xiaomi.com) : deviceId --> lhjiyl     (path: /. Removed: false)
2022-07-24 18:44:31.450 [TRACE] [miio.internal.cloud.MiCloudConnector] - Cookie (.xiaomi.com) : uLocale --> nb_NO     (path: /. Removed: false)
2022-07-24 18:44:31.450 [TRACE] [miio.internal.cloud.MiCloudConnector] - Cookie (account.xiaomi.com) : pass_ua --> web     (path: /. Removed: false)
2022-07-24 18:44:31.451 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 0

Binding settings:

I can login to the Xiaomi Home Android app with the same credentials.

Any idea what might be wrong?

Thanks in advance!

Regards,
Arne

1 Like