I’m trying to write a basic Hubitat integration to support turning activities on and off to replicate functionality I had with my old Harmony remote. Basically all I want to do is have the Hubitat check the status of the activities at a fixed time (e.g. midnight) and turn the active activity off (i.e. turn the TV off at bedtime).
After a lot of messing around, I was able to get the list of activities and their state from the remote into Hubitat devices (I had to use basic authentication as nothing I tried to get an API key worked). The next problem was changing the state of the activities - this didn’t work (I got 404 errors when trying to send service start or stop commands no matter the combinations I tried) - as starting or stopping activities supported, or can you only get their states?
Finally, and this is probably the showstopper, as the remote itself sends the commands, not the docking stations, once it goes to sleep, it is non-responsive to any query or command and there is no (that I can find) way to remotely wake the remote, therefore any external command to the remote isn’t going to work unless the user wakes the remote up. This is fundamentally different to the Harmony for example where the base station was permanently online and sent the commands, the remote just send user inputs to the base. This seems like a fundamental limitation, specifically for activities, as if any other device controls any of the devices in an activity, the activity is out of sync. So for example I could directly check the state of the devices the activity controls and turn them off if necessary, but next day the remote will be out of sync, thus breaking the activities.
There are only two methods to resolve this that I can see - 1. an ability to wake the remote from an external device (but this seems unlikely to be possible as the device’s WiFi connection is inactive, so there’s no way to communicate with it as far as I can tell) or 2. have the activity state dynamically updated to match the actual state of the controlled devices (should be possible, but its an inelegant fudge).
Am I missing something or is this simply not going to work given the Remote 3’s fundamental architecture?