Most Xiaomi smart-devices speak a protocol called miIO. There are several libraries/bindings for your favorite languages/tools as well as a nice CLI tool[0].
The only tricky part is getting the device token[1]. But once you have that it's smooth sailing.