- Download the Xiaomi app https://play.google.com/store/apps/details?id=com.xiaomi.smarthome
- Create an account
- Add the M1S Gateway in the app (hold button on M1S for 10 seconds to enter discovery mode)
- Folow the instuctions here: https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor
- Copy the output
You should get an output something like the following
Devices found for server "cn":
---------
NAME: Aqara Hub M1S
ID: 12345678
IP: <gateway_ip>
TOKEN: <gateway_token>
MODEL: lumi.gateway.acn01
---------
Install the python-miio library https://github.com/rytilahti/python-miio
- Install library
pip3 install python-miio
- Run the following to verify install
miiocli device --ip <gateway_ip> --token <gateway_token> info
Should ouput something like
Model: lumi.gateway.acn01
Hardware version: Linux
Firmware version: 3.1.3_0011
- Run the following command to enable telent (more details here: https://gist.github.com/zvldz/1bd6b21539f84339c218f9427e022709)
miiocli device --ip <gateway_id> --token <gateway_token> raw_command set_ip_info '{"ssid":"\"\"","pswd":"123123 ; passwd -d admin ; echo enable > /sys/class/tty/tty/enable; telnetd"}'
- Login to Gateway with
telnet <gateway_ip>
- Run the following commands from https://github.com/niceboygithub/AqaraGateway
mkdir /data/bin
cd /data/bin
wget -O /data/bin/curl "http://master.dl.sourceforge.net/project/mgl03/bin/curl?viasf=1"
chmod +x /data/bin/curl
/data/bin/curl -s -k -L -o /data/bin/mosquitto https://raw.githubusercontent.com/niceboygithub/AqaraM1SM2fw/main/binutils/mosquitto
chmod a+x /data/bin/mosquitto
mkdir /data/scripts
cd /data/scripts
/data/bin/curl -s -k -L -o /data/scripts/post_init.sh https://raw.githubusercontent.com/niceboygithub/AqaraM1SM2fw/main/binutils/post_init.sh
chmod +x /data/scripts/post_init.sh
- Reboot M1S with
reboot
- Follow install instructions from https://hacs.xyz/docs/installation/prerequisites
- Navigate to HACS > Integrations
- Three dots top right > Custom repositories
- Custom repository URL = https://github.com/niceboygithub/AqaraGateway
- Category = Integration
- Add
This may take a while, and there is a posibility you will run into GitHub rate limits
- Configuration > Integrations
- Add Integration button
- Seach for
Aqara Gateway
- Add
- Host: <gateway_ip>
- Password:
- Access Token: <gateway_token>
- Model: Aqara Gateway M1S
- If everything went well you should see home assistant add some new devices
how do you determine that the gateway is disconnected from the network? in MiHome, ping, or otherwise? do you enter the correct ip address when connecting via telnet?