Aietes / node-red-contrib-harmony

Node-RED integration for Harmony hub
MIT License
15 stars 18 forks source link

Issues with harmony firmware 4.15.206 #25

Open Monegaskeren opened 5 years ago

Monegaskeren commented 5 years ago

Hi. First off I would like to state that I am new to Node-RED, git-hub, not very skilled at coding in general and my native language is not english. A few days ago I decided to make a Node-RED flow to control my old RF switches from various harmony activities in my Harmony Hub (no remote, only the hub controlled from my phone) to cut the power entirely when not using my TV. First off all went smooth and I received a consistent signal from the H observe node. This was using node-red-contrib-harmony ver 1.2.6 and Harmony Hub hardware rev. 01.00 with firmware 4.15.201. After adjusting my activities the harmony hub prompted me to update to firmware 4.15.206. This broke the H observe node as the activities was not registered afterwards. Both the H Command and H Activity output errors as well as they could not retrieve information from my hub including the list of activities.

Logitech actually kind of adresses this here: https://support.myharmony.com/en-us/release-notes By saying:

">We are aware that some customers using Harmony APIs which were never documented, nor supported Harmony features. While it is unfortunate that customers using these features are affected by this fix, the overall security of our products and all of our customers is our priority."

I then stumbled upon a guide to restore the previous firmware version and things started working again but sadly only for a while. The new problem only regarded the H observe which suddenly stopped giving outputs. After alot of time spent troubleshooting I found that I was experiencing an issue seemingly very similar to the closed Issue #8 as I managed to temporarily fix the problem by sending a command using the H command node. I have made a workaround in node-red by making a flow that sends a non-functional command using the H command node with regular intervals.

My fixes are working sufficiently at the moment but it is pretty annoying that I need to restore my firmware everytime I edit my activities in the Harmony software, as updating automatically includes a firmware update. And this means that my fix will stop working if or when logitech releases a new firmware as I assume that I can only roll back one firmware version.

I hope for a update that makes the software compatible with firmware 4.15.206 but no matter what I want to thank you so much for this brilliant piece of software.

EDIT: Fixed wrong firmware versions numbers

rfpronk commented 5 years ago

There is nice blog post about this on HA https://www.home-assistant.io/blog/2018/12/17/logitech-harmony-removes-local-api/

Blackink90 commented 5 years ago

Since with home assistant they resolved with an update, using different API, is there a chance we can hope for something like that on Node Red? Or is better to switch to broadlink? I'm really angry, hours spent configuring everything, and now it's useless.

Monegaskeren commented 5 years ago

Exciting about the new fix, I really hope to see it in node red as well! Regarding broadlink it might be going in the same direction as harmony: https://youtu.be/FWRrQ-_uwEs

Blackink90 commented 5 years ago

The difference with broadlink is that in Italy we finally have the skill for alexa, so I don't have to use Node Red anymore....

Blackink90 commented 5 years ago

Is it in program to change the api in the node so that I don't have to downgrade everytime to make it work?

JordanMartin commented 5 years ago

I've start to write an implementation of the hub with the local websocket api : https://www.npmjs.com/package/harmonyhub-api. I think it can be a replacement for the actual @harmonyhub/client package.

hdiessner commented 5 years ago

Logitech reacted and there is a procedure available to participate in a "XMPP beta program" that allows to install a “FIRMWARE TO ENABLE XMPP. FOR DEVELOPERS ONLY.” https://community.logitech.com/s/question/0D55A00008D4bZ4SAJ/harmony-hub-firmware-update-fixes-vulnerabilities I just installed this firmware (4.15.210), but the result is still the same: The "H observe" node still throws an error: "TypeError: Cannot read property 'startActivity' of undefined"

JordanMartin commented 5 years ago

In the thread, Logitech says the new firemware should be avaialble in January

Blackink90 commented 5 years ago

I installed the developer firmware and now It’s working again :)

Monegaskeren commented 5 years ago

So did I just now. Works perfectly. I have not been able to determine whether this also fixed my problem regarding H observe suddenly stop giving outputs, until a command is sent fra H Command. I will investigate further.

JordanMartin commented 5 years ago

I just installed the new firmware and it also works for me !

bkanuka commented 5 years ago

Does someone have the link to this thread or procedure?

On Sun., Dec. 23, 2018, 8:18 a.m. Jordan Martin <notifications@github.com wrote:

I just installed the new firmware and it also works for me !

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Aietes/node-red-contrib-harmony/issues/25#issuecomment-449635936, or mute the thread https://github.com/notifications/unsubscribe-auth/ACjXY2w3EWLSh3JzV0LLZFTc5JGSu3VJks5u74KogaJpZM4ZZuc0 .

JordanMartin commented 5 years ago

It's the link sent by @hdiessner : https://community.logitech.com/s/question/0D55A00008D4bZ4SAJ/harmony-hub-firmware-update-fixes-vulnerabilities

Monegaskeren commented 5 years ago

There is a new Node i Node Red called node-red-contrib-harmony-websocket. It totally works. Was this made by you Aietes?

ristomatti commented 5 years ago

@Monegaskeren It's a fork: https://github.com/lopelex/node-red-contrib-harmony

So much has been changed though (not to mention reformat of the codebase) that I would not expect a PR anytime soon. But if Logitech is planning on reintroducing the API used by node-red-contrib-harmony, it kind of makes sense to create a renamed fork.

Achronite commented 5 years ago

I'm not sure what the best option is to proceed.

  1. Use the new websockets 'HWS' fork https://github.com/lopelex/node-red-contrib-harmony OR
  2. Use the XMPP dev firmware

Do we know if logitech are going to keep the dev firmware up-to-date? As I guess that would swing it for me.

AirBorne04 commented 5 years ago

hi all, good news, i just released a websocket version of my harmonyhub client. it would be great if @Aietes could replace the non ws version in his package and we could all give it a try to see if we are running without major issues. it should be pretty much a drop in replacement as the api did not really change. Besides the fact that we do not need to care about ports any longer.

Aietes commented 5 years ago

I'll give it a shot and include the websocket version.

AirBorne04 commented 5 years ago

though according to this thread logitech is probably bringing back the xmpp service and is maintaining (in update 7) it as the only semi official api on the hub, so might be a good idea to be ready for rolling back to the xmpp implementation.

rfpronk commented 5 years ago

The latest 4.15.250 firmware includes the xmpp api again but you have to enable it. See instructions here. Which would be nice to include in this project's README file.

I believe this issue can be closed.