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

Tags: #<Tag:0x00007fc1fd6d6a70> #<Tag:0x00007fc1fd6d6908>

Hello,
i own 2 Logitech Hubs, i added today a new device on the Hub#2 and i received at the same time the mandatory firmware upgrade 4.15.206 (from 4.15.201).
Since firmware upgrade i get OFFLINE - COMMUNICATION_ERROR on Paper UI.
Already tried to delete and rediscovery thing.
It gets discovered, but connection is getting refused on initialization.
Hub#1, firmware 4.15.201, no problems at all.
is there any known issue with logitech’s new firmware and binding?

11 Dec 2018 Harmony Hub firmware (v4.15.206)

  • Security related fixes
  • Bug fixes

OpenHAB version: openHAB 2.4.0 Release Build, previously Milestone 6, having the same issue

harmonyhub TRACE log:



2018-12-17 14:43:46.138 [DEBUG] [covery.HarmonyDeviceDiscoveryService] - HarmonyDeviceDiscoveryService org.openhab.binding.harmonyhub.internal.handler.HarmonyHubHandler@6ce3e2

2018-12-17 14:43:46.153 [DEBUG] [org.openhab.binding.harmonyhub      ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=472, service.bundleid=216, service.scope=singleton} - org.openhab.binding.harmonyhub

2018-12-17 14:43:46.200 [hingStatusInfoChangedEvent] - 'harmonyhub:hub:HarmonyHubBedroom' changed from UNINITIALIZED to INITIALIZING

2018-12-17 14:43:46.207 [hingStatusInfoChangedEvent] - 'harmonyhub:hub:HarmonyHubBedroom' changed from INITIALIZING to UNKNOWN

2018-12-17 14:43:46.230 [DEBUG] [b.internal.handler.HarmonyHubHandler] - Updating listeners with status UNKNOWN

2018-12-17 14:43:46.235 [TRACE] [discovery.HarmonyHubDiscoveryService] - READ email:XXXXXX;mode:3;accountId:XXXXXX;ip:192.168.0.204;port:5222;uuid:XXXXXX;hubId:106;current_fw_version:4.15.206;productId:Pimento;setupSessionType:0;setupSessionClient:XXXXXX;setupSessionIsStale:true;setupSessionSetupType:;setupStatus:0;host_name:Harmony Hub Bedroom;friendlyName:Harmony Hub Bedroom;discoveryServerUri:http://svcs.myharmony.com/Discovery/Discovery.svc;discoveryServerUriCF:https://cf-svcs.myharmony.com/Discovery/Discovery.svc;openApiVersion:2;minimumOpenApiClientVersionRequired:1;recommendedOpenApiClientVersion:1;protocolVersion:{HTTP="1.0", RF="1.0", WEBSOCKET="1.0"};hubProfiles:{Harmony="2.0"};remoteId:XXXXX;oohEnabled:true

2018-12-17 14:43:46.239 [DEBUG] [b.internal.handler.HarmonyHubHandler] - Connecting: host 192.168.0.204

2018-12-17 14:43:46.241 [hingStatusInfoChangedEvent] - 'harmonyhub:device:HarmonyHubBedroom:58773562' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING

2018-12-17 14:43:46.248 [DEBUG] [b.internal.handler.HarmonyHubHandler] - Could not connect to HarmonyHub at 192.168.0.204

java.lang.RuntimeException: Failed communicating with Harmony Hub

	at net.whistlingfish.harmony.HarmonyClient.connect(HarmonyClient.java:193) ~[?:?]

	at net.whistlingfish.harmony.HarmonyClient.connect(HarmonyClient.java:118) ~[?:?]

	at org.openhab.binding.harmonyhub.internal.handler.HarmonyHubHandler.connect(HarmonyHubHandler.java:238) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

	at java.lang.Thread.run(Thread.java:748) [?:?]

Caused by: org.jivesoftware.smack.SmackException$ConnectionException: The following addresses failed: '192.168.0.204:5222' failed because: /192.168.0.204 exception: java.net.ConnectException: Connection refused (Connection refused)

	at org.jivesoftware.smack.SmackException$ConnectionException.from(SmackException.java:277) ~[?:?]

	at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.java:617) ~[?:?]

	at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:888) ~[?:?]

	at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:377) ~[?:?]

	at net.whistlingfish.harmony.HarmonyClient.connect(HarmonyClient.java:129) ~[?:?]

	... 9 more

UPDATE:
downgraded harmony hub firmware to 4.15.193 using myharmony desktop application and it is now connecting.

2 Likes

i do somehow expected that port 5222 has been purposely closed.

It also happened on me while I tried the new version. Downgrading solved that for now.

Maybe there will be an official response in the Logitech community:

https://community.logitech.com/s/question/0D55A00008D1oIoSAJ/firmware-update-blocked-api-access

Hello Folks,

my firmware version is 4.15.201 and I have no communication errors. It seems to be a problem with the newest version: 4.15.206.

So I need to connect my Hub to my Computer to downgrade… really love Logitech…
Anyway how do you sync your activities, etc from account, because it will cause the device to update the firmware as well (?).

Luckily the activities and other configurations remained during the downgrade. :pray:

correct.
port 5222 has been closed as ‘security fix’ on version 206.
if you avoid the upgrade, you’ll keep the ability to locally connect to hub.
unfortunately, you cannot edit add or delete devices and activities without updating.
logitech really needs to address this issue which is strongly impacting large number of users.

1 Like

Thanks :slight_smile:

Yes this is not really a way to do it… Anyway the whole Harmony app/Harmony is full of bugs, so I don’t think that this was the main concern around this project (that you can locally access it with an API).

The forum is full of other users who didn’t really like this change…

The main message is thus: Do not upgrade to firmware 4.15.206 or greater, until there is a version that does not close port 5222 !!!

1 Like

since we are talking about a logitech device, they pushed this change without notice and their only answer to clarification requests is silence, i’m quite positive local access won’t be granted on next updates.
i hope i’m wrong anyway, there’s not a real alternative to this kind of hardware.

I expect the same… They ‘solved’ this security error and since they (their apps) don’t use that gateway (protocol) why they would enable it again? Implementing a same way to access is also unlikely to happen.

If you can remember there was an older Harmony Hub and they discontinued it totally, so it became a piece of brick after shutting down the servers…

From the Logitech forum:

Hi, my binary HarmonyHubControl (source available in internet) still works with old and new firmware.
Ralf

I don’t know which binary is this, but somehow implementation seems possible…

So how to downgrade?
And where to find the file?

HarmonyHubControl runs a XMPP Server that listens on Port 5222.

Don’t know how HarmonyBinding is communicating??

it is not a viable option indeed

@NCO
I didn’t do a restore. But I can provide this manual: it is in german!!! Hopefully someone here can confirm it?

https://www.harmony-remote-forum.de/viewtopic.php?t=13699

Please wait, until someone confirmed this!!!

1 Like