So it polls periodically? I was hoping that Harmony would broadcast something when activities were changed rather than polling for frequent updates.
It clearly does broadcast something since the phone app updates immediately when changing stuff with the physical remote, just a question of whether or not it's something that could be captured.
That's a great question and would probably require a packet sniffer, like WireShark, to see if there is some sort of broadcast each time an activity changes.
I am not convinced, however, that what you're seeing on your phone is a local LAN broadcast... Can you run a quick test? Try turning OFF the WiFi on your phone. Then, start up the Harmony App on your phone and connect to your Harmony Hub. Next, using the Harmony physical remote control, change the Activity. Watch you phone and report back whether or not the Harmony App on your phone reflects the Activity change immediately.
[Update: I just called home (my phone is on LTE) and had my wife change the current Activity and my phone's Harmony App reflected the change immediately. So, I am left to believe that the Harmony App communicates to the Harmony hub via the Harmony Cloud...at least when it has to!]
I guess another test would be to disable data on a cell phone and leave wifi on. If the same occurs we know there is also a lan route for updates.....or test with a tablet.
That would be a good test, but only if you disabled the Internet connection for your house first. Otherwise the Harmony Hub and Harmony Mobile App will both still have a path back to the Harmony Cloud.
Yes, for discovery of hubs, I do believe the App uses WiFi. I am hopeful that there is a way to do a 100% local LAN integration. In fact, I bought another Harmony Hub recently to use as a development platform for this. I just don't know when I'll have the time to tinker with it.
@ogiewon I used your HTTP switch driver as a template to make a Harmony HTTP remote device, works by sending GET requests with Harmony IP, command, count, and press type (press vs hold) in the URL query to a node.js app running on my Pi. Once they remove the whitelist for commands in Maker I should be able to hit this device with a web request from IFTTT to Maker and have voice controls for individual button presses like Volume, play/pause, select, mute, etc.
Example: "Hey Google, tell living room volume down 10 times"
This will take care of one of the two remaining webCoRE pistons I have running on ST. The other is very similar to this, so should be able to convert it too.
I don't really know what I'm doing with Wireshark and reading packets, but I tried capturing when connecting the Harmony app on my phone to one of my Harmony hubs, and this is the only data I see. My phone's IP address is 192.168.0.122. Looks like it's broadcasting some request across my LAN, the data shows "logitech-reverse-bonjour".
I'm thinking that the hub will then initiate a connection back to the phone app in a way that doesn't get picked up by WS. This post supports this idea:
I wonder if a node.js app or similar can be written to simulate the phone app and listen for activity state changes? This is beyond the limits of my knowledge unfortunately.
I'm curious about the second link in my post..."The state digest is emitted by a hub during starting and stopping activities. It allows to update its clients, even if
they did not initiate the change of the activity." Maybe you or others have already gone down this road, but I hadn't seen any discussion around these types of push updates from the hub to the clients.