What's Changed
- Fix syntax errors in sensor.py if statements [chmtc94]
- Add None checks for sensor attributes during charging [chmtc94]
- Fix config entry migration skipping steps [Dirk Moeller]
- fix typo [Dirk Moeller]
- Clean up StellantisLastChargeSensor initialization [chmtc94]
- Fix syntax error in sensor.py attribute definition [chmtc94]
- Add mileage attribute and improve attribute handling [chmtc94]
- Fix: improve engine status check and avoid fetching last trip data during startup phase after a restart of Home Assistant [Dirk Moeller]
- do_async gained a wait=False option so callers can fire-and-forget instead of blocking on the future's result [Dirk Moeller]
- Fix: enhance MQTT subscription error handling and logging [Dirk Moeller]
- Fix: improve get_vehicle_last_trip method to handle errors (no trips found) and pagination as well as improved timestamp formatting [Dirk Moeller]
- Fix: improve error handling in make_http_request method and enhance logging [Dirk Moeller]
- Update translated strings for command_status codes 300 and 901 [Dirk Moeller]
- Fix: update import statements from Cryptodome to Crypto for consistency (PyCryptodome vs PyCryptodomex) [Dirk Moeller]
- Refactor _async_update_data to improve timestamp comparison and data acceptance logic [Dirk Moeller]
- Fix: No longer ignore result_code "901" (vehicle asleep) and correct related translations [Dirk Moeller]
- Fix: Only refresh the MQTT token if it is actually due for renewal or a refresh is forced (to conserve the rate limit). [Dirk Moeller]
- fix button name in vehicle card yaml: start_charge -> charge_start [Valentin Heidelberger]
- Support custom self-hosted login-service URL for remote OAuth [Robert Chmielowiec]