{"id":27530,"library":"volkswagencarnet","title":"Volkswagen CarNet","description":"Python library to communicate with Volkswagen Connect (WeConnect) API. Current version 5.4.5, requires Python >=3.11. Actively maintained, release cadence irregular but frequent bug fixes and features.","status":"active","version":"5.4.5","language":"python","source_language":"en","source_url":"https://github.com/robinostlund/volkswagencarnet","tags":["volkswagen","weconnect","carnet","vehicle","api","connected-car"],"install":[{"cmd":"pip install volkswagencarnet","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Connection is not a top-level import; use the main module to authenticate and get vehicles.","wrong":"from volkswagencarnet import Connection","symbol":"Connection","correct":"import volkswagencarnet"},{"note":"Vehicle objects are obtained via Connection.vehicles, not directly imported.","wrong":"from volkswagencarnet import Vehicle","symbol":"Vehicle","correct":"import volkswagencarnet"}],"quickstart":{"code":"import os\nimport volkswagencarnet\n\nemail = os.environ.get('VW_USERNAME', '')\npassword = os.environ.get('VW_PASSWORD', '')\nconn = volkswagencarnet.Connection(email, password)\nconn.doLogin()\nvehicles = conn.vehicles\nfor vin, vehicle in vehicles.items():\n    print(f'VIN: {vin}, Model: {vehicle.model()}')","lang":"python","description":"Authenticate with Volkswagen Connect and list vehicles."},"warnings":[{"fix":"Upgrade to Python 3.11 or later.","message":"Python >=3.11 required. This library will not install on older Python versions.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Ensure account region matches the API regional endpoint (use Connection(..., country='DE') etc.). If captcha appears, manual intervention is required.","message":"Login may fail due to region-locked accounts or captcha challenges. The library currently does not handle captcha.","severity":"gotcha","affected_versions":"all"},{"fix":"Update custom code to use Vehicle.update() which automatically fetches only discovered active services.","message":"The old `get_selectivestatus` with hardcoded service list is deprecated in favor of dynamic discovery based on active services.","severity":"deprecated","affected_versions":">=5.4.2"},{"fix":"Check vehicle capability via `vehicle.capabilities` before relying on auxiliary heating entities.","message":"Auxiliary heating entities may be missing after update if the vehicle does not support them. This is not a bug but a vehicle-specific limitation.","severity":"gotcha","affected_versions":">=5.4.4"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `pip install volkswagencarnet` in the correct environment (Python >=3.11).","cause":"The library is not installed or installed in a different Python environment.","error":"ModuleNotFoundError: No module named 'volkswagencarnet'"},{"fix":"Double-check username and password. Try specifying country code: Connection(email, password, country='DE'). Ensure account is registered for WeConnect.","cause":"Incorrect credentials or region mismatch; sometimes the VW backend returns a generic error.","error":"volkswagencarnet.exceptions.LoginFailedException: Technical problem"},{"fix":"Use `import volkswagencarnet` and then `volkswagencarnet.Connection(...)`. In older versions (<5.0) the class was named differently. Check installed version.","cause":"Trying to import Connection from the module but it's not a direct attribute (old version or wrong import).","error":"AttributeError: module 'volkswagencarnet' has no attribute 'Connection'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}