この統合は、「古い」Skoda API( Skoda Essentialsと呼ばれる古いモバイルアプリに関連付けられている)のみをサポートし、Skodaが古いAPIをシャットダウンしたときに動作を停止します。これは2024年12月2日に発表されましたが、その日付はすでに過去にシフトしています。
Skoda Essentialsアプリを使用できない場合、この統合は機能しません。これは、新しいSkodaアカウントの場合であると報告されています。
この統合に関する開発は本質的に完全に停止しており、新しいアプリ/APIをサポートするために更新されません。
新しい統合が開発されており、「新しい」Skoda API( Myskodaと呼ばれる新しいモバイルアプリに関連付けられています):https://github.com/skodaconnect/homeassystant-myskoda
新しい統合は積極的に開発されており、現時点では(部分的に)サポートされているモデルはごくわずかです。それでも、全員が新しい統合を試して、GitHubの問題やDiscordを通じてフィードバックを提供することを強くお勧めします。
ホームアシスタントが初めての場合は、最初にホームアシスタントのドキュメントを読んでください。
これは、ネイティブAPP APIを介してSkoda Connect/Myskodaをサポートするために変更されたRobinostlund/Homeassistant-Volkswagencarnetのフォークです(APIはVWG-Connectサービスに直接呼び出します)
ホームアシスタントのこの統合は、Skoda Connect対応車に関連するSkoda Connectサーバーからデータを取得します。 Skoda Connectは車から直接データを取得することはありません。車は更新されたデータを、ロック/ロック解除、充電イベント、気候化イベント、車両の駐車などの特定のイベントに関するVAGサーバーに送信します。統合は、サーバーからこのデータを取得します。車両のアクションが失敗したり、応答せずに戻ったりすると、フォースリフレッシュが役立つ場合があります。これにより、VAGサーバーから車への「ウェイクアップ」コールがトリガーされます。 SCAN_INTERVALは、統合がサーバーからデータを取得する頻度で、車から新しいデータがない場合、エンティティは更新されません。
このプロジェクトには、ホームアシスタントカスタムコンポーネントコードが含まれています。これは、Skoda APIと対話するPythonライブラリを提供するhttps://github.com/skodaconnect/skodaconnectに依存します。
この統合は、Skoda Connect/Myškoda機能がある場合にのみ、車で機能します。デンマークのConnectedCarsの「Minskoda」など、他のサードパーティ、半公式のモバイルアプリを使用する車は機能しません。 API通信に使用されるライブラリは、Myskoda Androidアプリからリバースエンジニアリングされています。 SmartLinkおよびEnyaq IVなどの新しいスタイルAPIカーの初期サポートが追加されました。
車のプライバシー設定は、この統合の完全な機能のために「私のポジションを共有」するように設定する必要があります。この設定がなければ、「私の位置を使用する」ように設定すると、センサーはポジション(デバイストラッカー)のセンサー、残り時間と駐車時間が確実にまたはまったく機能しない場合があります。より厳格なプライバシー設定に設定すると、機能がさらに制限されます。
統合がセットアップできない問題に遭遇した場合、または容認されていない用語やEULAがあるというエラーを受け取った場合、モバイルアプリプラットフォームのおかげです。基礎となるライブラリは、Androidアプリの動作をリバースエンジニアリングすることで構築されているため、Androidデバイスと同じクライアント構成を使用します。 iPhone/iOSデバイスでアプリのみを使用する場合、この統合に問題が発生する可能性があります。
可能な回避策:
これがあなたとあなたが直面している特定の問題のために機能しない場合は、問題を開き、可能な限り詳細な問題の説明と関連するデバッグログを提供してください。
HACS(ホームアシスタントコミュニティストア)がインストールされている場合は、Skoda Connectを検索して、HACSから直接インストールしてください。 HACSは更新を追跡し、新しいリリースが利用可能になったときに最新バージョンにEASにアップグレードできます。
インストールがない場合は、こちらをご覧ください:HACS
リポジトリをクローンまたはコピーして、フォルダー「Homeassistant-Skodaconnect/custom_component/skodaconnect」を「[config dir]/custom_components」にコピーします。必要なPythonライブラリをインストールします(環境に合わせて調整):
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/セットリクエストが処理されます
Skodaconnect.Vehicle: Skoda Connectライブラリの車両クラスのデバッグレベルを設定します。アカウント内のすべての車両に対して作成された1つのオブジェクトとすべてのデータを保存します。
Skodaconnect.Dashboard: Skoda Connectライブラリのダッシュボードクラスのデバッグレベルを設定します。 HASSコンポーネントとライブラリの間のラッパークラス。
custom_components.skodaconnect:カスタムコンポーネントのデバッグレベルを設定します。 HassとLibraryの間のコミュニケーション。
custom_components.skodaconnect.xyzは、カスタムコンポーネントの個々のエンティティタイプのデバッグレベルを設定します。
configuration.yamlの構成は非推奨になり、統合のセットアップに干渉する可能性があります。統合を構成するには、ホームアシスタントのサイドパネルの構成に移動し、統合を選択します。右下隅にある[統合の追加]ボタンをクリックし、Skodaconnectを検索/選択します。手順に従って、必要な情報を入力します。データがどのように保存され、ホームアシスタントに処理されるかにより、車両ごとに1つの統合があります。統合を複数回追加して、複数の車両をセットアップします。
統合オプションは、統合の「構成」テキストをクリックして、セットアップ後に変更できます。利用可能なオプションは次のとおりです。
投票頻度サーバーが更新されたデータのためにポーリングされる間隔(秒単位)。 60代以下を使用する場合、数人のユーザーがレート制限(HTTP 429)であると報告しています。 120年代または180年代の値から始めることをお勧めします。 #215を参照してください。
車両のSピンをsピンします。これはオプションであり、特定の車両リクエスト/アクション(補助ヒーター、ロックなど)にのみ必要です。
車両との相互作用、気候を開始するなどを許可する可変選択。
完全なAPIデバッグロギングにより、完全なデバッグロギングが可能になります。これにより、APIからHomeassistant.logに完全なレスポーンが印刷されます。多くのログが生成されるため、トラブルシューティングのみを有効にします。
監視するためのリソース車両の監視するリソースを選択します。
距離/ユニット変換距離/ユニットを変換する場合は選択します。
この例では、iOSデバイスに通知を送信しています。 Androidコンパニオンアプリは現在、通知で動的なコンテンツをサポートしていません(マップなど)
これらの自動化を自動化に保存<config dir>/automations.yaml
最初に、configuration.yamlまたはその他のconfigファイルのエディターを介して、またはGUIヘルパーエディターを介して、入力_Numberを作成します。最小値を10に、最大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エディター経由で自動化を作成します。デバイスIDを設定して、>デバイスとサービスに移動し、Skodaconnect車両のデバイスをクリックすることで見つけることができます。デバイスIDは、「/config/devices/device/」の後にWebブラウザーアドレスバーに表示されます。 IDは、開発者ツールの下でGUIサービスエディターを使用して見つけることもできます。 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コンパニオンアプリはまだこれをサポートしていないため、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! "