Essa integração suporta apenas a API 'antiga' Skoda (associada ao antigo aplicativo móvel chamado Skoda Essentials ) e parará de funcionar quando Skoda fechar a API antiga. Isso é anunciado em 2 de dezembro de 2024, mas essa data já mudou no passado.
Se você não conseguir usar o aplicativo Skoda Essentials, essa integração não funcionará para você. É relatado que esse é o caso das contas mais recentes do Skoda.
O desenvolvimento dessa integração foi essencialmente interrompido e não será atualizado para oferecer suporte ao novo aplicativo/API.
Uma nova integração está sendo desenvolvida para trabalhar com a API 'nova' Skoda (associada ao novo aplicativo móvel chamado myskoda ): https://github.com/skodaconnect/homeasistant-myskoda
A nova integração é desenvolvida ativamente e apenas alguns modelos são (parcialmente) suportados no momento. Ainda assim, incentivamos todos a experimentar a nova integração e fornecer feedback por meio de problemas do Github ou discórdia.
Se você é novo no Assistente de Home, leia a documentação do Assistant Home First.
Este é o Fork de Robinostlund/Homessistant-Volkswagencarnet modificado para apoiar o Skoda Connect/Myskoda através da API de aplicativo nativo (API chama diretamente para os Serviços VwG-Connect)
Essa integração para assistente de casa buscará dados de servidores Skoda Connect relacionados ao seu carro habilitado para o Skoda Connect. O Skoda Connect nunca busca dados diretamente do carro, o carro envia dados atualizados para servidores VAG em eventos específicos, como bloqueio/desbloqueio, eventos de carregamento, eventos de climatização e quando o veículo está estacionado. A integração buscará esses dados dos servidores. Quando as ações do veículo falham ou retornam sem resposta, uma atualização de força pode ajudar. Isso desencadeará uma chamada de "acordar" dos servidores VAG para o carro. O scan_interval é com que frequência a integração deve buscar dados dos servidores, se não houver novos dados do carro, as entidades não serão atualizadas.
Este projeto contém o código do componente personalizado do Assistente de casa. Depende de https://github.com/skodaconnect/skodaconnect, que fornece à biblioteca Python interagindo com a API Skoda.
Essa integração funcionará apenas para o seu carro se você tiver a funcionalidade Skoda Connect/Myškoda. Carros usando outros aplicativos móveis de terceiros, semi-oficial, como o "Minskoda" da ConnectCars na Dinamarca, não funcionarão. A biblioteca usada para a comunicação da API é projetada reversa no aplicativo Myskoda Android. O suporte inicial foi adicionado para carros de API de estilo SmartLink e estilo mais recente, como o Enyaq IV.
As configurações de privacidade do carro devem ser definidas como "compartilhar minha posição" para a funcionalidade total dessa integração. Sem essa configuração, se definido como "usar minha posição", os sensores para posição (rastreador de dispositivo), solicitações restantes e o tempo de estacionamento podem não funcionar de maneira confiável ou de forma alguma. Definido como uma configuração de privacidade ainda mais rigorosa, limitará ainda mais a funcionalidade.
Se você encontrar um problema em que a integração não puder ser configurada ou se você receber um erro de que há termos ou Eula não aceitados, pode ser por causa da sua plataforma de aplicativo móvel. A biblioteca subjacente é construída pela engenharia reversa do comportamento do aplicativo Android e, portanto, usa as mesmas configurações do cliente que um dispositivo Android. Se você usar apenas o aplicativo nos dispositivos iPhone/iOS, isso poderá causar problemas com essa integração.
Possíveis soluções alternativas:
Se isso não funcionar para você e o problema específico que você está enfrentando, abra um problema e forneça o mais detalhado da descrição do problema possível e os logs de depuração relevantes.
Se você possui o HACS (Home Assistant Community Store), basta pesquisar Skoda Connect e instalá -lo diretamente dos HACs. O HACS acompanhará as atualizações e você poderá atualizar facilmente para a versão mais recente quando uma nova versão estiver disponível.
Se você não o tiver instalado, confira aqui: HACS
Clone ou copie o repositório e copie a pasta 'HomeASSISISTANT-SKODACONNECT/CUSTER_COMPONENT/SKODACONNECT' em '[config dir]/custom_components'. Instale a biblioteca Python necessária com (ajuste para se adequar ao seu ambiente):
pip install skodaconnect
Para uma depuração abrangente, você pode adicioná -lo ao seu <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: Defina o nível de depuração para a classe de conexão da biblioteca Skoda Connect. Isso lida com as solicitações GET/Set para a API
skodaconnect.vehicle: defina o nível de depuração para a classe de veículos da biblioteca Skoda Connect. Um objeto criado para cada veículo em conta e armazena todos os dados.
skodaconnect.dashboard: defina o nível de depuração para a classe de painel da biblioteca Skoda Connect. Uma classe de wrapper entre componente Hass e biblioteca.
Custom_Components.skodaconnect: Defina o nível de depuração para o componente personalizado. A comunicação entre Hass e Biblioteca.
Custom_Components.skodaconnect.xyz define o nível de depuração para tipos de entidades individuais no componente personalizado.
A configuração no Configuration.yaml agora está obsoleta e pode interferir na configuração da integração. Para configurar a integração, vá para a configuração no painel lateral do assistente doméstico e selecione integrações. Clique no botão "Adicionar integração" no canto inferior direito e pesquise/selecione Skodaconnect. Siga as etapas e insira as informações necessárias. Devido à forma como os dados são armazenados e tratados em assistente doméstico, haverá uma integração por veículo. Configure vários veículos adicionando a integração várias vezes.
As opções de integração podem ser alteradas após a configuração clicando no texto "configurar" na integração. As opções disponíveis são:
Frequência da pesquisa O intervalo (em segundos) que os servidores são pesquisados para dados atualizados. Vários usuários relataram ser limitados à taxa (HTTP 429) ao usar 60s ou inferiores. Recomenda -se começar com um valor de 120 ou 180s. Veja #215.
S-pin The S-Pin para o veículo. Isso é opcional e é necessário apenas para determinadas solicitações/ações do veículo (aquecedor auxiliar, bloqueio etc.).
Mutável Selecione para permitir interações com o veículo, iniciar a climatização etc.
API Full Debug Logging Ative o log de depuração completa. Isso imprimirá as respostas completas da API ao homealsistant.log. Ativar apenas a solução de problemas, pois gerará muitos logs.
Recursos para monitorar Selecionar quais recursos você deseja monitorar para o veículo.
Conversões de distância/unidade Selecione se você deseja converter a distância/unidades.
Neste exemplo, estamos enviando notificações para um dispositivo iOS. O aplicativo Android Companion atualmente não suporta conteúdo dinâmico em notificações (mapas etc.)
Salve essas automações em seu arquivo de automações <config dir>/automations.yaml
Primeiro, crie um input_number, via editor no Configuration.yaml ou outro arquivo de configuração incluído, ou via GUI Helpers Editor. É importante definir o valor mínimo para 10, o máximo de 60 e o passo para 10. Caso contrário, a chamada de serviço pode não funcionar.
# configuration.yaml
input_number :
pheater_duration :
name : " Pre-heater duration "
initial : 20
min : 10
max : 60
step : 10
unit_of_measurement : min
Crie a automação, no YAML ou via editor da GUI. Você pode encontrar o ID do dispositivo indo para Configurações-> Dispositivos e Serviços e clicando no dispositivo para o veículo Skodaconnect. O ID do dispositivo será exibido na barra de endereço do navegador da web após "/config/dispositivos/dispositivo/". O ID também pode ser encontrado usando o editor de serviços da GUI em ferramentas de desenvolvedor. Escolha um dos serviços Skodaconnect e escolha seu veículo. Altere para o modo YAML e copie o ID do dispositivo.
# 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
Graças a @haraldpaulsen Um sensor estimado de modelo de taxa de carga com base na capacidade da bateria e o tempo relatado restante. Substitua pelo nome do seu veículo e pela capacidade da bateria em 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
Nota: Somente disponível para dispositivos iOS, pois o aplicativo Android Companion ainda não suporta isso. Isso pode ser quebrado desde 1.0.30 quando o Device_Tracker mudou de comportamento.
- 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! "