I have a suspicion that if you can capture/emulate/spoof a Bluetooth remote controls buttons and specifically the power button, these are probably the tools that can capture the data and do it.
(I had to put the link to a 3rd tool on a post below this one, as Im a new user, so can only post 2 links in a post)
Linux Bluetooth tools/stack
Interesting Python tools
Iām not sure if you need a dedicated USB dongle.
I currently have no clue how to use these tools. I too was searching for a way to use my home automation system to send the āpower onā command to a Xiaomi Projector.
I am however guessing that the commands cant be too complicated/encrypted to a high degree, as, from what I can tell, you can pair pretty much any Bluetooth remote and have it work with the projectorā¦ though Im not sure about the power button.
I have used a Logitech Harmony Hub as a Bluetooth remote with the projector and if you set it up as a āNvidia Shield Remoteā on the Harmony Hub as an attached Keyboard (on the projector) you can send a sleep power command and send the projector into a sleep state, which can be awoken by the Harmony hub (The device is in a powered off state when in the sleep mode, BUT, the Bluetooth connection is still live, as if the keyboard is connected).
If you FULLY power off the projector (rather than sleep it) you CANNOT wake it back up/switch it on. Only the original remote controlās power button will do this.
Though, saying that, you pair the remote that can switch on the projector in a different area of the projectors settings, specifically the āBluetooth Remoteā section. Which suggests either there is a special command the projector is looking out for when its fully switched off, or the Bluetooth remote is sending something other than a Bluetooth signal with the power button. On this, I dont know.
Also, for the record, you can use the Android ADB command line tool to sleep the projector with the 233 command. However, when using this, it looks to me like the projector (when it wakes up from sleep) thinks that ADB is still connected, and wont allow new connections NOR will it respond to ADB commands, until you reboot it. So in my tests, ADB isnt useful for setting a low power mode.