OpenEPaperLink / Home_Assistant_Integration

Home assistant Integration for the OpenEPaperLink project
Apache License 2.0
132 stars 33 forks source link

Integration is incompatible with Easee-integration (from OEPL 0.4.7.x) #126

Closed svenove closed 3 months ago

svenove commented 4 months ago

EDIT: Found out it’s this integration that causes the issue due to it requiring an old version of a common library: https://github.com/nordicopen/easee_hass

———

Describe the bug All versions after PR #110 (@jterrace), the integration fails with these errors: “WebSocketApp.run_forever() got an unexpected keyword argument 'reconnect'” and “open_epaper_link WebSocketApp crashed, reconnecting in 30 seconds”

Downgrading to 0.4.6 is the only solution I've found. Running HASS OS with all latest updates installed. Was a fresh install about 6 months ago.

Any idea what could be causing this, @jterrace? I was wondering if there could be a different version of the "websocket-client" being installed than what the required version is set to in the manifest.json, but I don't know how to check it (or fix it...).

To Reproduce For me, just update to a newer version. @jonasniesner has not been able to reproduce it and no one else has reported the same problem on Discord either...

Expected behavior No error and a working integration.

jterrace commented 4 months ago

The reconnect argument to run_forever was added way back in https://github.com/websocket-client/websocket-client/pull/838 which was included in v1.4.0 - https://github.com/websocket-client/websocket-client/releases/tag/v1.4.0

The manifest.json and requirements.txt file are set to version 1.7.0:

So I'm not sure how you could be on a lower version.

svenove commented 4 months ago

Yeah, I’m not sure if I’m on an older version or not - it was just a thought. Any idea how to check?

Any other idea on why I get that error, if web client is 1.7.0?

jterrace commented 4 months ago

I'm not sure, I think you'd have to enter into the docker container somehow to check the module versions. Have you tried fully removing the integration and reinstalling?

svenove commented 4 months ago

Yes, when it fails I remove the integration and download 0.4.6 specifically afterwards.

svenove commented 4 months ago

One step further: image

Not quite sure why it's on 1.0.0 though...

svenove commented 4 months ago

So, I were able to figure out what is pinning websocket-client - it was my EV-charger (Easee)! A pip freeze did not indicate any version pin. So I ran an --dry-run of updating the websocket-client and expected it to tell me if there would be any issues - it didn't, so I ran the upgrade: image

... and now it tells me I've updated with a dependency conflict! :( What's the point on the "dry-run"-option then... :(

Guess I'll have to see if the update of the websocket-client now causes issues with my EV-charger before deciding what to do next...

svenove commented 4 months ago

I reverted back to the WebSocket-client 1.0.0, just to be safe…

Also raised an issue on pyeasee to look into moving away from an abandoned dependency (https://github.com/mandrewcito/signalrcore).

Issue opened: https://github.com/nordicopen/pyeasee/issues/90

@jterrace If I do want the “new stuff” in 0.4.7.x, I suppose I could manually replace hub.py with the 0.4.6-version after updating? As far as I can tell, there isn’t any other files that has changed that require a newer websocket-client?

jterrace commented 4 months ago

Sure, you could hack hub.py to do that, but the reconnect functionality is pretty important for reliability. I also would strongly recommend not staying on a websocket-client version that's 3 years old.

svenove commented 4 months ago

I have no issues with stability on 0.4.6. :)

I was only thinking of this “hack” until the Easee-integration is updated to not require the old websocket-client. I’m kind of dependent on that integration to function.

svenove commented 3 months ago

Seems to be working now, with new Easee-version: https://github.com/nordicopen/easee_hass/pull/394