MySkoda integration using the API that the MySkoda App uses.
Status: This project is a new implementation of a relatively new API. Consider this code alpha.
Contributions are welcomed, both as issues, but more as pull requests :)
Please join our Discord and help development by providing feedback and details about the vehicles you are using.
You can help us translate your MySkoda integration into your language! Just join our Crowdin project If your desired language is not available, please open an issue and let us know about it!
Air conditioning is exposed as climate.
Location of vehicles are exposed as device trackers.
To make sure updates end up in the car the way intended by the you, we throttle all equal changes to the car for 30s. Simply put: You can change a setting in the car once every 30s, but you can change multiple settings in sequence.
So:
The requests will silently be ignored by HomeAssistant, so make sure you wait at least 30s before sending another request
You can manually install this integration as an custom_component under Home Assistant or install it using HACS (Home Assistant Community Store).
myskoda
repository or folder.custom_components/myskoda
folder from the downloaded files.myskoda
folder into your Home Assistant's custom components directory:
<home_assistant_folder>/custom_components/myskoda
The myskoda
repository is also compatible with HACS (Home Assistant Community Store), making installation and updates easier.
myskoda
Repository to HACS:
https://github.com/skodaconnect/homeassistant-myskoda
.myskoda
from HACS:
myskoda
under the HACS integrations.Following these steps should successfully install the myskoda
integration for use with your Home Assistant setup.
For more guidance on HACS, you can refer to the HACS Getting Started Guide.
For comprehensive debug logging you can add this to your <config dir>/configuration.yaml
:
logger:
default: info
logs:
myskoda: debug
myskoda.mqtt: debug
myskoda.rest_api: debug
custom_components.myskoda: debug
custom_components.myskoda.climate: debug
custom_components.myskoda.lock: debug
custom_components.myskoda.device_tracker: debug
custom_components.myskoda.switch: debug
custom_components.myskoda.binary_sensor: debug
custom_components.myskoda.sensor: debug
custom_components.myskoda.number: debug
custom_components.myskoda.image: debug
Pick any of the subjects from the example. If you want to enable full debugging, you only need myskoda and custom_components.myskoda.
myskoda: Set the debug level for the MySkoda library. This handles all the communication with MySkoda.
myskoda.mqtt: Set the debug level for the MQTT class of the MySkoda library. This handles the push-messages sent from MySkoda to the integration, notifying of changes to/in the car.
myskoda.rest_api: Set the debug level for the REST API of the MySkoda library. This handles all the pull-messages the integration fetches from MySkoda.
custom_components.myskoda: Set debug level for the custom component. The communication between hass and library.
custom_components.myskoda.XYZ Sets debug level for individual entity types in the custom component.
This integration does not poll at a set interval, instead when the last update has been a while, we request new information from MySkoda. The reason for this is that cars emit a lot of events when they are operating, and we use these events to partially update the car information.
When the car is quiet for a period we call the POLLING INTERVAL, we will request a full update of the car.
By default, this POLLING INTERVAL is set to 30 minutes. You can tune this to anything between 1 and 1440 minutes (1 day) by filling in the desired value in Integrations > MySkoda > Hubs > Select your account > Configure
You can disable polling completely and use automations to update the data from MySkoda. In order to do this, disable polling in the integration, and call the following action:
action: homeassistant.update_entity
target:
entity_id: device_tracker.skoda_4ever