[SOLVED] Logitech Harmony Hub Binding - 4.15.206 firmware broke local API connection

Because this is an issue, I’ve created an issue for it:

5 Likes

No. I blocked internet access of my Harmony Hubs. No Internet no Upgrade. My Multimedia environment is currently stable, so i can wait a few months until i need to reconfigure anything. I just hope the Bluetooth connection stays stable…

Yes but on the HomeAssistant forum they said that if you block internet access, you won’t be able to access it from the Harmony app even on local network. My OH setup is not fully ready yet, so I have to use it for some things to toggle the Harmony Hub…

I can acces them. Both. But i am using mostly the Remote, not the app.

Just tested, i can switch the hubs, and i can use the (Android) app as well. Works like a charm. :wink:

Oh thanks :slight_smile: so you disabled internet completely on the Hub?

@rkrisi:
That’S what I did as well to be on the safe side.
So far no issues.

But I agree, that using the websocket API would be the better (long term) solution.
Unfortunately I am not capable to help in this regard :frowning:

Yes. On my router.

For me this is not working… Funny that this is not even works in the same way… if I block the internet connection the Hub won’t change Activities/send Commands even from the Remote…

Maybe you are blocking wifi from the hub instead of internet?

What kind of router do you use?

this is my experience with the buggy android harmony application:

i got 2 hubs on .201:
when router drops packets to wan from hubs, i cannot connect at all using android application

when router forward to wan
hub1: i can connect and edit add remove devices without upgrading firmware (after having downgraded it 2 times since i had to setup a new device)
hub2: i can connect but cannot edit devices without mandatory upgrade

physical remotes (harmony companion, the one without the screen) are working fine even without internet connection

Now it works, but the LED is red. I had to wait a little.

But the iOS app is not working.

Wow. If that’s by design this is ugly. As i wrote, Android App works perfectly.

If you put yourself in the hub’s point of view, it is just an internet outage. So, you lost internet and on top of that you loose your entertainment comfort. Thanks, but no thanks. That’s exactly why i prefer local solutions instead of cloud solutions.

It looks like home assistant have updated their harmony integration to use the alternative websockets API already. Hopefully the openhab binding will follow soon.

In the meantime, I’ve got my home up and running again by installing the modified version of pyHarmony that uses websockets on to my OH server: https://github.com/ehendrix23/pyharmony/tree/websockets

For each of my hubs I’ve then created a single item for the current harmony activity and 2 rules (1 to update the current activity on a poll, the other to fire the requested activity on receiving a command).

It’s working now at least. The polling is annoying as it used to be event-driven in the binding on the old API (I think) but I can live with that.

Yes I had problems like this before when had internet outage… sometimes it wouldn’t want to change Activity when there was no internet connection.

Before that I had a problem where it always wanted to connect to the servers before doing anything. So you pressed an Activity and it waited 10-30 secs before started powering on the devices. Support solved this by “cloning” my account to a new one.

Can you share your polling rule that updates the activity based on the pyHarmony response?

var livingroom_ip = "172.16.1.16"

rule harmony_activity_update
when
    Time cron "0 0/1 * * * ?" //every 1 min
then
    logDebug("HARMONY", "cron timed activity update")
    var activity = executeCommandLine("harmony --harmony_ip " + livingroom_ip + " show_current_activity", 5000)
    if (LivingRoomHarmony_Activity.state != activity) {
    	postUpdate("LivingRoomHarmony_Activity", activity)
    }
end

rule livingroom_harmony_activity_changed
when
   Item LivingRoomHarmony_Activity received command
then
   	logDebug("HARMONY", "Living Room Harmony activity changed to " + receivedCommand.toString)
   	var ret = executeCommandLine("harmony --harmony_ip " + livingroom_ip + " start_activity --activity " + receivedCommand.toString, 5000)
   	logDebug("HARMONY", ret)
end
1 Like

That’s weird.
I am using the iOS App as well and it’s even starting up quicker :slight_smile:
I assume it’s recognizing that there is no connection an skips this step!?

I did not see an impact on the functionality either. It’s working like before the crappy FW update.
I must admit that I usually don’t use the App at all - just the remote.

Yep , I will take a look this weekend and over the holidays. Super disappointed in logitech right now.

7 Likes
2 Likes

FYI, I was able to connect using a test Websocket app to one of my hubs, the response is not too different then what we got with xmpp. I’m optimistic we can fix this without too much breakage.

6 Likes