This tool/script retrieves tokens for all devices connected to Xiaomi cloud and encryption keys for BLE devices.
You will need to provide Xiaomi Home credentials (not ones from Roborock app):
- username (e-mail or Xiaomi Cloud account ID)
- password
- Xiaomi's server region (
cn
- China,de
- Germany etc.). Leave empty to check all available
In return all of your devices connected to account will be listed, together with their name and IP address.
Download and run token_extractor.exe.
Linux & Home Assistant (in SSH & Web Terminal)
Execute following command:
bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)
If installation fails try Docker version
Docker & Home Assistant (in SSH & Web Terminal)
Execute following command:
bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run_docker.sh)
To run this command in HA you have to disable
protected mode
in addon's settings and restart it
Download and unpack archive:
wget https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/releases/latest/download/token_extractor.zip
unzip token_extractor.zip
cd token_extractor
Install dependencies and run script:
pip3 install -r requirements.txt
python3 token_extractor.py
If you have problems with using this tool try following solutions:
- Make yourself sure that you provide correct credentials (e.g. not ones from Roborock app!)
- Remove Cloudflare DNS
- Disable network ad blockers (AdGuard, PiHole, etc.)
- Open 2FA link on the same device that runs Tokens Extractor
- Map extractor - live map for Xiaomi Vacuums
- Map card - manual vacuum control from a Lovelace card