I see. So far, I haven't had a need to use multi-zone (since secondary rooms just get "hand me down" components from my primary home theater, so everything can just run in a single zone).
Harmony opened up the XMPP API again (they closed it but after a public outcry, they opened it back up). I looked at what node.js applications are already available online, and I wound up using the aforementioned harmony-api node.js application from [Link: github.com]
. Provides lots of functionality for only 500 lines of code (granted, it does a lot of reuse, but that's the beauty of node.js).
I created a VM for the node.js app and it runs fine (it also can be run in a docker). I use com.philips.HttpLibrary.HttpRequest() to send it POST requests.
I don't plan on using a Harmony as my primary remote. I'll continue to use the Pronto TSU9400. But the harmony-api node.js application gives additional flexibility/power to the Pronto.
My original motivation behind doing this is because the 2019 Nvidia Shield TV only supports Bluetooth. The node.js app and Harmony hub basically serve as a Bluetooth bridge for the Pronto.
However, I was able to use a Flirc USB to control the Nvidia Shield via IR. There is one command, sleep, that isn't available with the Flirc (although not a big deal since the Shield will go to sleep automatically after being idle for a settable amount of time). But, with the harmony bridge, I can send a sleep command from the Pronto.
Advantage of the Flirc USB/infrared approach of course, is that it can repeat commands (when long pressing a button such as cursor down, for example). Going through the Harmony approach, however, doesn't allow repetition of commands via long press.
But, I like having the harmony bridge as something to have in my Pronto's "back pocket" in case there's ever some strange Bluetooth command that I need to run in the future.