이 통합은 '오래된'Skoda API ( Skoda Essentials 라는 이전 모바일 앱과 관련된) 만 지원하며 Skoda가 이전 API를 종료하면 작동을 중단합니다. 이것은 2024 년 12 월 2 일에 발표되었지만 그 날짜는 이미 과거에 바뀌 었습니다.
Skoda Essentials 앱을 사용할 수없는 경우이 통합은 귀하에게 효과적이지 않습니다 . 이것은 새로운 Skoda 계정의 경우라고보고되었습니다.
이 통합에 대한 개발은 본질적으로 완전히 중단되었으며 새로운 APP/API를 지원하도록 업데이트되지 않습니다.
새로운 통합이 '새로운'Skoda API ( MySkoda 라는 새로운 모바일 앱과 관련) : https://github.com/skodaconnect/homeassistant-myskoda와 협력하기 위해 개발되고 있습니다.
새로운 통합은 적극적으로 개발되었으며 현재 몇 가지 모델 만 (부분적으로) 지원됩니다. 여전히 우리는 모든 사람들이 새로운 통합을 시도하고 Github 문제 나 불화를 통해 피드백을 제공하도록 강력히 권장합니다.
홈 어시스턴트를 처음 사용하는 경우 먼저 홈 어시스턴트 문서를 읽으십시오.
이것은 기본 앱 API를 통해 Skoda Connect/Myskoda를 지원하도록 수정 된 Robinostlund/HomeAssistant-VolkswagenCarnet의 포크입니다 (API는 VWG-CONNECT 서비스에 직접 호출).
홈 어시스턴트를위한이 통합은 Skoda Connect Car와 관련된 Skoda Connect 서버의 데이터를 가져옵니다. Skoda Connect는 자동차에서 직접 데이터를 가져 오지 않으며 자동차는 잠금/잠금 해제, 충전 이벤트, 기후화 이벤트 및 차량이 주차 될 때와 같은 특정 이벤트에서 VAG 서버에 업데이트 된 데이터를 보냅니다. 그런 다음 통합은 서버 에서이 데이터를 가져옵니다. 차량 동작이 실패하거나 응답없이 돌아 오면 힘 재생이 도움이 될 수 있습니다. 이것은 vag 서버에서 자동차로 "Wake Up"호출을 유발합니다. scan_interval은 통합이 서버에서 데이터를 가져 오는 빈도입니다. 자동차의 새로운 데이터가 없으면 엔티티가 업데이트되지 않습니다.
이 프로젝트에는 홈 어시스턴트 사용자 정의 구성 요소 코드가 포함되어 있습니다. https://github.com/skodaconnect/skodaconnect에 따라 Skoda API와 상호 작용하는 Python 라이브러리를 제공합니다.
이 통합은 Skoda Connect/Myškoda 기능이있는 경우에만 자동차에만 작동합니다. 덴마크의 ConnectedCars의 "Minskoda"와 같은 다른 제 3 자, 반 공간, 모바일 앱을 사용하는 자동차는 작동하지 않습니다. API 통신에 사용되는 라이브러리는 Myskoda Android 앱에서 리버스 엔지니어링됩니다. Enyaq IV와 같은 SmartLink 및 최신 스타일 API 자동차에 대한 초기 지원이 추가되었습니다.
자동차 개인 정보 설정은이 통합의 전체 기능을 위해 "내 위치를 공유"하도록 설정해야합니다. 이 설정이 없으면 "내 위치 사용"으로 설정되면 위치의 센서 (장치 추적기)가 요청되면 나머지 및 주차 시간이 안정적으로 또는 전혀 작동하지 않을 수 있습니다. 더 엄격한 개인 정보 보호 설정으로 설정하면 기능이 더욱 제한됩니다.
통합을 설정할 수없는 문제가 발생하거나 받아 들여지지 않은 약관 또는 EULA가 있다는 오류가 발생하면 모바일 앱 플랫폼 때문일 수 있습니다. 기본 라이브러리는 리버스 엔지니어링에 의해 구축되며 Android 앱 동작을 통해 동일한 클라이언트 구성을 Android 장치와 사용합니다. iPhone/iOS 장치에서만 앱을 사용하는 경우이 통합에 문제가 발생할 수 있습니다.
가능한 해결 방법 :
이것이 귀하와 귀하가 직면 한 특정 문제에 대해 효과가 없다면 문제를 열고 가능한 한 자세한 문제 설명과 관련 디버그 로그를 제공하십시오.
HACS (Home Assistant Community Store)가 설치된 경우 Skoda Connect를 검색하고 HACS에서 직접 설치하십시오. HACS는 업데이트를 추적하며 새 릴리스를 사용할 수 있으면 최신 버전으로 쉽게 업그레이드 할 수 있습니다.
설치되지 않은 경우 여기에서 확인하십시오 : HACS
저장소를 복제하거나 복사하고 폴더 'homeassistant-skodaconnect/custom_component/skodaconnect'를 '[config dir]/custom_components'로 복사하십시오. 필수 파이썬 라이브러리를 설치하여 (환경에 맞게 조정) :
pip install skodaconnect
포괄적 인 디버그 로깅을 위해서는 <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 : Skoda Connect 라이브러리의 연결 클래스의 디버그 레벨을 설정하십시오. 이것은 API에 대한 GET/SET 요청을 처리합니다
Skodaconnect. 차량 : Skoda Connect 라이브러리의 차량 클래스의 디버그 레벨을 설정하십시오. 계정의 모든 차량에 대해 생성 된 하나의 개체는 모든 데이터를 저장합니다.
skodaconnect.dashboard : Skoda Connect 라이브러리의 대시 보드 클래스의 디버그 레벨을 설정하십시오. Hass 구성 요소와 라이브러리 사이의 래퍼 클래스.
custom_components.skodaconnect : 사용자 정의 구성 요소의 디버그 레벨을 설정합니다. Hass와 Library의 커뮤니케이션.
custom_components.skodaconnect.xyz 사용자 정의 구성 요소의 개별 엔티티 유형에 대한 디버그 레벨을 설정합니다.
configuration.yaml의 configuration은 이제 더 이상 사용되지 않았으며 통합 설정을 방해 할 수 있습니다. 통합을 구성하려면 Home Assistant의 측면 패널에서 구성으로 이동 한 다음 통합을 선택하십시오. 오른쪽 하단의 "통합 추가"버튼을 클릭하고 Skodaconnect를 검색/선택하십시오. 단계를 따르고 필요한 정보를 입력하십시오. 데이터가 홈 어시스턴트에 저장 및 처리되는 방식으로 인해 차량 당 하나의 통합이 있습니다. 통합을 여러 번 추가하여 여러 차량을 설정하십시오.
통합에서 "구성"텍스트를 클릭하여 설정 후 통합 옵션을 변경할 수 있습니다. 사용 가능한 옵션은 다음과 같습니다.
폴링 주파수 서버가 업데이트 된 데이터를 위해 설문 조사를받는 간격 (초). 몇몇 사용자는 60 대 이하를 사용할 때 속도 제한 (HTTP 429)이 있다고보고했습니다. 120 년 또는 180 년대의 값으로 시작하는 것이 좋습니다. #215를 참조하십시오.
차량의 S- 핀 . 이것은 선택 사항이며 특정 차량 요청/작업 (보조 히터, 잠금 등)에만 필요합니다.
차량과의 상호 작용을 허용하고 기후화를 시작하는 등의 돌연변이 선택.
전체 API 디버그 로깅 전체 디버그 로깅을 활성화합니다. 이것은 API에서 HomeAssistant.log까지의 전체 응답을 인쇄합니다. 많은 로그가 생성되므로 문제 해결 만 활성화합니다.
모니터링하는 리소스 차량을 모니터링 할 리소스를 선택하십시오.
거리/단위 변환 거리/장치를 변환하려는 경우 선택하십시오.
이 예에서는 iOS 장치에 알림을 보내고 있습니다. Android Companion 앱은 현재 알림 (지도 등)에서 동적 컨텐츠를 지원하지 않습니다.
자동화 파일 <config dir>/automations.yaml
에 이러한 자동화를 저장하십시오
먼저 configuration.yaml 또는 기타 포함 된 구성 파일의 편집기 또는 GUI Helpers 편집기를 통해 input_number를 만듭니다. 최소 값을 10, 최대 60에서 60으로, 단계를 10으로 설정하는 것이 중요합니다. 그렇지 않으면 서비스 호출이 작동하지 않을 수 있습니다.
# configuration.yaml
input_number :
pheater_duration :
name : " Pre-heater duration "
initial : 20
min : 10
max : 60
step : 10
unit_of_measurement : min
Yaml 또는 GUI 편집기에서 자동화를 만듭니다. 설정-> 장치 및 서비스로 이동 한 다음 Skodaconnect 차량의 장치를 클릭하여 장치 ID를 찾을 수 있습니다. 장치 ID는 "/config/devices/device/"다음에 웹 브라우저 주소 표시 줄에 표시됩니다. 개발자 도구에서 GUI 서비스 편집기를 사용하여 ID를 찾을 수 있습니다. Skodaconnect 서비스 중 하나를 선택하고 차량을 선택하십시오. Yaml 모드로 변경하고 장치 ID를 복사하십시오.
# 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
@haraldpaulsen 덕분에 배터리 용량 및보고 된 시간에 대한 추정 충전 속도 템플릿 센서. 차량 이름과 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
참고 : Android Companion 앱은 아직이를 지원하지 않기 때문에 iOS 장치에서만 사용할 수 있습니다. Device_tracker가 동작을 변경 한 후 1.0.30 이후로 끊어 질 수 있습니다.
- 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! "