Cette intégration ne prend en charge que la «vieille» API Skoda (associée à l'ancienne application mobile appelée Skoda Essentials ) et cessera de fonctionner lorsque Skoda ferme l'ancienne API. Ceci est annoncé le 2 décembre 2024, mais cette date a déjà changé dans le passé.
Si vous n'êtes pas en mesure d'utiliser l'application Skoda Essentials, cette intégration ne fonctionnera pas pour vous. Ceci est le cas pour les nouveaux comptes Skoda.
Le développement de cette intégration a essentiellement complètement arrêté et il ne sera pas mis à jour pour prendre en charge la nouvelle application / API.
Une nouvelle intégration est en cours de développement pour travailler avec la «nouvelle» API Skoda (associée à la nouvelle application mobile appelée Myskoda ): https://github.com/skodaconnect/homeassistant-myskoda
La nouvelle intégration est activement développée et seuls quelques modèles sont (partiellement) pris en charge pour le moment. Nous encourageons toujours fortement tout le monde à essayer la nouvelle intégration et à fournir des commentaires grâce à des problèmes de github ou à la discorde.
Si vous êtes nouveau chez Home Assistant, veuillez d'abord lire la documentation de l'assistant à domicile.
Ceci est Fork of Robinostlund / HomeasSistant-volkswagencarnet modifié pour prendre en charge Skoda Connect / Myskoda via l'API de l'application native (appels API directement aux services VWG-Connect)
Cette intégration pour l'assistant à domicile rapportera les données des serveurs Skoda Connect liés à votre voiture compatible Skoda Connect. Skoda Connect n'a jamais obtenu de données directement à partir de la voiture, la voiture envoie des données mises à jour aux serveurs VAG sur des événements spécifiques tels que le verrouillage / déverrouillage, les événements de charge, les événements de climatisation et lorsque le véhicule est stationné. L'intégration rapportera ensuite ces données à partir des serveurs. Lorsque les actions du véhicule échouent ou ne reviennent sans réponse, un actualisation de la force peut aider. Cela déclenchera un appel "Wake Up" des serveurs VAG à la voiture. Le scan_interval est la fréquence à laquelle l'intégration doit récupérer les données des serveurs, s'il n'y a pas de nouvelles données de la voiture, les entités ne seront pas mises à jour.
Ce projet contient le code de composant personnalisé de l'assistant à domicile. Cela dépend de https://github.com/skodaconnect/skodaconnect qui fournit la bibliothèque Python interagissant avec l'API Skoda.
Cette intégration ne fonctionnera que pour votre voiture que si vous avez la fonctionnalité Skoda Connect / Myškoda. Des voitures utilisant d'autres applications mobiles semi-officielles tierces telles que la "Minskoda" de ConnectedCars au Danemark ne fonctionneront pas. La bibliothèque utilisée pour la communication API est inversée à partir de l'application Myskoda Android. Un support initial a été ajouté pour SmartLink et les voitures API de style plus récentes, telles que l'Enyaq IV.
Les paramètres de confidentialité de la voiture doivent être définis pour «partager ma position» pour les fonctionnalités complètes de cette intégration. Sans ce paramètre, s'il est défini sur «utiliser ma position», les capteurs de position (tracker de périphérique), les demandes restantes et le temps de stationnement pourraient ne pas fonctionner de manière fiable ou du tout. Défini sur le paramètre de confidentialité même plus strict limitera encore les fonctionnalités.
Si vous rencontrez un problème où l'intégration ne peut pas être configurée ou si vous recevez une erreur, il existe des termes ou un CLUAC, cela pourrait être dû à votre plate-forme d'application mobile. La bibliothèque sous-jacente est construite par ingénierie inverse du comportement de l'application Android et utilise donc les mêmes configurations client qu'un appareil Android. Si vous n'utilisez que l'application sur les appareils iPhone / iOS, cela pourrait entraîner des problèmes avec cette intégration.
Solutions de contournement possibles:
Si cela ne fonctionne pas pour vous et le problème particulier auquel vous êtes confronté, veuillez ouvrir un problème et fournir une description de problème aussi détaillée que possible et des journaux de débogage pertinents.
Si vous avez installé HACS (Home Assistant Community Store), recherchez simplement Skoda Connect et installez-le directement à partir de HACS. HACS gardera une trace des mises à jour et vous pourrez facilement passer à la dernière version lorsqu'une nouvelle version sera disponible.
Si vous ne l'avez pas installé, consultez-le ici: HACS
Cloner ou copier le référentiel et copier le dossier 'homeSSistant-skodaconnect / personnalisé_component / skodaconnect' dans '[config dir] / personnalisé_components'. Installez la bibliothèque Python requise avec (ajustez en fonction de votre environnement):
pip install skodaconnect
Pour une journalisation complète de débogage, vous pouvez l'ajouter à votre <config dir>/configuration.yaml
:
logger :
default : info
logs :
skodaconnect.connection : debug
skodaconnect.vehicle : debug
custom_components.skodaconnect : debug
custom_components.skodaconnect.climate : debug
custom_components.skodaconnect.lock : debug
custom_components.skodaconnect.device_tracker : debug
custom_components.skodaconnect.switch : debug
custom_components.skodaconnect.binary_sensor : debug
custom_components.skodaconnect.sensor : debug
skodaconnect.connection: définissez le niveau de débogage pour la classe de connexion de la bibliothèque Skoda Connect. Cela gère les demandes GET / SET vers l'API
Skodaconnect.VeHile: Réglez le niveau de débogage pour la classe de véhicule de la bibliothèque Skoda Connect. Un objet créé pour chaque véhicule dans le compte et stocke toutes les données.
skodaconnect.dashboard: définissez le niveau de débogage pour la classe de tableau de bord de la bibliothèque Skoda Connect. Une classe wrapper entre le composant Hass et la bibliothèque.
Custom_components.skodaconnect: définissez le niveau de débogage pour le composant personnalisé. La communication entre Hass et la bibliothèque.
Custom_components.skodaconnect.xyz définit le niveau de débogage pour les types d'entités individuels dans le composant personnalisé.
Configuration en configuration.yaml est désormais obsolète et peut interférer avec la configuration de l'intégration. Pour configurer l'intégration, accédez à la configuration dans le panneau latéral de l'assistant domestique, puis sélectionnez les intégrations. Cliquez sur le bouton "Ajouter l'intégration" dans le coin inférieur droit et recherchez / sélectionnez Skodaconnect. Suivez les étapes et entrez les informations requises. En raison de la façon dont les données sont stockées et gérées dans l'assistant à domicile, il y aura une intégration par véhicule. Configurez plusieurs véhicules en ajoutant l'intégration plusieurs fois.
Les options d'intégration peuvent être modifiées après la configuration en cliquant sur le texte "Configurer" sur l'intégration. Les options disponibles sont:
Fréquence de sondage L'intervalle (en secondes) que les serveurs sont interrogés pour les données mises à jour. Plusieurs utilisateurs ont déclaré être limitées à Rate (HTTP 429) lors de l'utilisation des années 60 ou moins. Il est recommandé de commencer par une valeur de 120 ou 180. Voir # 215.
S-Pin le S-Pin pour le véhicule. Ceci est facultatif et n'est nécessaire que pour certaines demandes / actions de véhicule (chauffage auxiliaire, verrouillage, etc.).
Sélectionnez mutable pour permettre les interactions avec le véhicule, le début de la climatisation, etc.
Full API Debug Logging Activer la journalisation complète du débogage. Cela imprimera les réponses complètes de l'API à HomeASSISTANT.log. Activer uniquement le dépannage car il générera beaucoup de journaux.
Ressources pour surveiller Sélectionnez les ressources que vous souhaitez surveiller pour le véhicule.
Conversions de distance / unité Sélectionnez si vous souhaitez convertir la distance / unités.
Dans cet exemple, nous envoyons des notifications à un appareil iOS. L'application Android Companion ne prend pas actuellement en charge le contenu dynamique dans les notifications (cartes, etc.)
Enregistrez ces automatisations dans votre fichier d'automatisation <config dir>/automations.yaml
Créez d'abord un INPUT_NUMBER, via l'éditeur dans Configuration.yaml ou autre fichier de configuration inclus, ou via GUI AIDERS Editor. Il est important de définir une valeur minimale à 10, maximum à 60 et pas à 10. Sinon, l'appel de service pourrait ne pas fonctionner.
# configuration.yaml
input_number :
pheater_duration :
name : " Pre-heater duration "
initial : 20
min : 10
max : 60
step : 10
unit_of_measurement : min
Créez l'automatisation, dans YAML ou via GUI Editor. Vous pouvez trouver l'ID de périphérique en allant sur Paramètres-> Appareils et services, puis en cliquant sur l'appareil pour le véhicule Skodaconnect. L'ID de périphérique s'affichera dans la barre d'adresse du navigateur Web après "/ config / périphériques / périphérique /". L'identification peut également être trouvée en utilisant l'éditeur de services GUI sous les outils de développeur. Choisissez l'un des services Skodaconnect et choisissez votre véhicule. Passez en mode YAML et copiez l'ID de périphérique.
# automations.yaml
- alias : Pre-heater duration
description : " "
trigger :
- platform : state
entity_id : input_number.pheater_duration
condition : []
action :
- service : skodaconnect.set_pheater_duration
data_template :
device_id : <Your Device ID for vehicle>
duration : " {{ (states('input_number.pheater_duration') | float ) | round(0) }} "
mode : single
Grâce à @haraldpaulsen, un capteur de modèle de taux de charge estimé en fonction de la capacité de la batterie et du temps signalé. Remplacez par le nom de votre véhicule et par la capacité de la batterie dans Wh.
template :
- sensor :
- name : " Charge speed guesstimate "
state : >
{% if is_state('switch.skoda_<name>_charging', 'on') %}
{% set battery_capacity = <battery-size-in-kwh> | int %}
{% set charge = { "remaining": states('sensor.skoda_<name>_minimum_charge_level') | int - states('sensor.skoda_<name>_battery_level') | int } %}
{% set timeleft = states('sensor.skoda_<name>_charging_time_left') | int %}
{% set chargeleft = battery_capacity * charge.remaining / 100 %}
{% set chargespeed = chargeleft / (timeleft / 60) %}
{{ chargespeed | round (1) }}
{% else %}
0
{% endif %}
unit_of_measurement : " kW "
state_class : measurement
Remarque: uniquement disponible pour les appareils iOS, car l'application Android Companion ne le prend pas encore en charge. Cela peut être cassé depuis 1.0.30 lorsque Device_Tracker a modifié le comportement.
- id : notify_skoda_position_change
description : Notify when position has been changed
alias : Skoda position changed notification
trigger :
- platform : state
entity_id : device_tracker.kodiaq
condition : template
condition : template
value_template : " {{ trigger.to_state.state != trigger.from_state.state }} "
action :
- service : notify.ios_my_ios_device
data_template :
title : " Kodiaq Position Changed "
message : |
? Skoda Car is now on a new place.
data :
url : /lovelace/car
apns_headers :
' apns-collapse-id ' : ' car_position_state_{{ trigger.entity_id.split(".")[1] }} '
push :
category : map
thread-id : " HA Car Status "
action_data :
latitude : " {{trigger.from_state.attributes.latitude}} "
longitude : " {{trigger.from_state.attributes.longitude}} "
second_latitude : " {{trigger.to_state.attributes.latitude}} "
second_longitude : " {{trigger.to_state.attributes.longitude}} "
shows_traffic : true
- id : ' notify_skoda_car_is_unlocked '
alias : Skoda is at home and unlocked
trigger :
- entity_id : binary_sensor.vw_carid_external_power
platform : state
to : ' on '
for : 00:10:00
condition :
- condition : state
entity_id : lock.kodiaq_door_locked
state : unlocked
- condition : state
entity_id : device_tracker.kodiaq
state : home
- condition : time
after : ' 07:00:00 '
before : ' 21:00:00 '
action :
# Notification via push message to smartphone
- service : notify.device
data :
message : " The car is unlocked! "
target :
- device/my_device
# Notification via smart speaker (kitchen)
- service : media_player.volume_set
data :
entity_id : media_player.kitchen
volume_level : ' 0.6 '
- service : tts.google_translate_say
data :
entity_id : media_player.kitchen
message : " My Lord, the car is unlocked. Please attend this this issue at your earliest inconvenience! "