robinostlund / homeassistant-volkswagencarnet

Volkswagen Carnet Component for home assistant
GNU General Public License v3.0
342 stars 63 forks source link

Carnet integration error with HA 0.103.6 #344

Closed jeppper closed 2 years ago

jeppper commented 3 years ago

Before you post a new issue - you must first check the following (and check the boxes with an "X" below)

Environment

Describe the bug

A few years ago the integration worked fine. Now I reactivated my account and enabled the integration in HA again with the new custom component files. I now get an error in the logs and the integration does not work. ## Steps to Reproduce

Replaced the old custom component files with the latest ones and used this in my configuration.yaml. `volkswagen_carnet: username: xxxx password: xxxx update_interval: minutes: 5

Expected behavior

No erros in the logs

Screenshots

Traceback/Error logs

2021-11-21 11:53:39 ERROR (SyncWorker_9) [homeassistant.util.package] Unable to install package volkswagencarnet==2.0.22: Could not find a version that satisfies the requirement volkswagencarnet==2.0.22 (from versions: 4.4.2, 4.4.3, 4.4.4, 4.4.5, 4.4.6, 4.4.7, 4.4.8, 4.4.9, 4.4.10, 4.4.11, 4.4.12, 4.4.13, 4.4.14, 4.4.15, 4.4.16, 4.4.17, 4.4.18, 4.4.19, 4.4.20, 4.4.21, 4.4.22, 4.4.23, 4.4.24, 4.4.25, 4.4.26, 4.4.27, 4.4.28, 4.4.29, 4.4.30, 4.4.31, 4.4.32, 4.4.33, 4.4.34, 4.4.35) No matching distribution found for volkswagencarnet==2.0.22 2021-11-21 11:53:39 ERROR (MainThread) [homeassistant.components.homeassistant] Component error: volkswagen_carnet - Requirements for volkswagen_carnet not found: ['volkswagencarnet==2.0.22'].

Debug information - all JSON responses from logfile

Additional context

robinostlund commented 2 years ago

missing important information.

jeppper commented 2 years ago

I have added information

milkboy commented 2 years ago

Uhm... It's looking for volkswagencarnet==2.0.22??+ Sounds like you have some seriously old version installed?

jeppper commented 2 years ago

Version of HA is 0.103.6 and yes it is quite old. But i wonder if it somehow would be possible to change some file in HA to adapt to the new Carnet version.

robinostlund commented 2 years ago

Oh alot has changed so sorry i think easiest is for you to upgrade homeassistant 😊

jeppper commented 2 years ago

Unfortunately I don´t think it is going to be easy to upgrade HA. So much has also changed here, and I know that most of my automations will not work afterwards. I also still use States UI and not Lovelace. Everything is programmed in yaml and nothing via the frontend. I don´t have time at the moment to do this upgrade. Therefore I had hoped that it would possible to make some changes to some existing .py files and make it work with the newest Carnet version.

milkboy commented 2 years ago

there are probably other incompatibilities, but you can try to change the carnet dependency version in manifest.json..

jeppper commented 2 years ago

Where can I find this json file?

milkboy commented 2 years ago

Where can I find this json file?

there "should" be one in config/custom_components/volkswagencarnet or wherever the code is installed. Seems like it's not easily possible to get a development version of home assistant 0.x to run anymore (dependencies are not available anymore), so can't really check anything

tubalainen commented 2 years ago

The "JSON file" is the raw data dump coming from the VW API servers. If you turn on log debugging (see readme) you will find it all there - its LOOONG. Please make sure to anonymize your VIN number before posting the results here. And please use pastebin.com instead of pasting in the whole shabang here on github.

https://github.com/robinostlund/homeassistant-volkswagencarnet#enable-debug-logging

robinostlund commented 2 years ago

@jeppper you wont be able to use this version, you need to upgrade as we have changed from web requests to app requests and the structure your version has isn't compatible with that.

jeppper commented 2 years ago

@robinostlund Okay. Sorry to hear that. From what version of HA will this work?

robinostlund commented 2 years ago

Oh good question, i dont remember. But i would suggest to take those hours to upgrade HA instead of finding a workaround for this, upgrading HA will go faster and take less time from us. As we all have limited time and those hours we can spare is better if we can improve the integration instead of finding workarounds for old versions 😊

tubalainen commented 2 years ago

We have quite some dependencies to cater for to keep this component afloat 1.) Constant changes to the VW API (just a few days ago, login auth details changed) 2.) Constant changes to HA and the rules for custom components 3.) Python versions and libs

All of this combined I´d say that you either need to update HA version to current or parse this components (and sub libs) code to get something working with your old version of HA. I know its a pain to keep up with all (breaking) changes with HA - but please try.

milkboy commented 2 years ago

I know how fun it is to try to patch some critical bugs in systems that were last touched several years ago, and already then used old and/or deprecated dependencies.. That's part of the reason most new projects try to keep everything updated as much as possible, usually using some automation (renovatebot, dependabot, ...). It's a huge PITA to update 50 dependencies with 5+ major releases with breaking changes in each

jeppper commented 2 years ago

I would like to upgrade HA. This is not the only component that doesn´t work anymore. Anyway at the moment I haven´t the amount of time needed to do so, so I guess I will have to let this integration go for now :-/ Thanks for helping anyway.

jeppper commented 2 years ago

@milkboy Actually I had success in the past altering files to make the old HA version work with updated components, but it will not be possible at all according to @robinostlund, so I will not spend more time trying.

milkboy commented 2 years ago

I would like to upgrade HA. This is not the only component that doesn´t work anymore. Anyway at the moment I haven´t the amount of time needed to do so, so I guess I will have to let this integration go for now :-/ Thanks for helping anyway.

A little off-topic, but I'd suggest to set up a new instance in parallel, and then migrate/recreate things one-by-one, at any suitable pace.

jeppper commented 2 years ago

@milkboy Sounds like a good plan :-)