يدعم هذا التكامل فقط واجهة برمجة تطبيقات Skoda "القديمة" (المرتبطة بتطبيق الهاتف المحمول القديم المسمى Skoda Essentials ) وسيتوقف عن العمل عندما يقوم Skoda بإغلاق API القديم. تم الإعلان عن هذا في 2 ديسمبر 2024 ولكن هذا التاريخ قد تحول بالفعل في الماضي.
إذا لم تتمكن من استخدام تطبيق Skoda Essentials ، فلن يعمل هذا التكامل من أجلك. وتفيد التقارير أن هذا هو الحال بالنسبة لحسابات سكودا الأحدث.
لقد توقف التطوير على هذا التكامل تمامًا ولن يتم تحديثه لدعم التطبيق/API الجديد.
يتم تطوير تكامل جديد للعمل مع API Skoda "الجديد" (مرتبط بتطبيق الهاتف المحمول الجديد المسمى Myskoda ): https://github.com/skodaconnect/homeassistant-myskoda
تم تطوير التكامل الجديد بنشاط ولا يتم دعم عدد قليل من النماذج (جزئيًا) في هذا الوقت. ما زلنا نشجع الجميع بشدة على تجربة التكامل الجديد وتقديم ملاحظات من خلال قضايا GitHub أو الخلاف.
إذا كنت جديدًا على مساعد المنزل ، فيرجى قراءة وثائق مساعد المنزل أولاً.
هذا هو شوكة Robinostlund/HomeasSistant-Volkswagencarnet المعدلة لدعم Skoda Connect/Myskoda من خلال App App Native (API استدعاء مباشرة إلى خدمات VWG-Connect)
سيحضر هذا التكامل للمساعد المنزلي البيانات من خوادم Skoda Connect المتعلقة بسيارة Skoda Connect الخاصة بك. لا تجلب Skoda Connect البيانات مباشرةً من السيارة مباشرة ، ترسل السيارة بيانات محدثة إلى خوادم فاشلة في أحداث محددة مثل القفل/إلغاء القفل ، وشحن الأحداث ، وأحداث التنقل وعندما تكون السيارة متوقفة. سيقوم التكامل بعد ذلك بإحضار هذه البيانات من الخوادم. عندما تفشل إجراءات السيارة أو تعود بدون استجابة ، قد يساعد تحديث القوة. سيؤدي ذلك إلى دفع مكالمة "استيقظ" من خوادم فاغ إلى السيارة. SCAN_INTERVAL هو عدد المرات التي يجب أن يجلب فيها التكامل البيانات من الخوادم ، إذا لم تكن هناك بيانات جديدة من السيارة ، فلن يتم تحديث الكيانات.
يحتوي هذا المشروع على رمز المكون المخصص للمنزل. يعتمد ذلك على https://github.com/skodaconnect/skodaconnect الذي يوفر مكتبة Python التي تتفاعل مع API Skoda.
سيعمل هذا التكامل فقط لسيارتك إذا كان لديك وظيفة Skoda Connect/Myškoda. لا تعمل السيارات التي تستخدم تطبيقات محمولة ثالثة أخرى ، شبه رسمية ، مثل "مينسكودا" من ConnectedCars في الدنمارك. تم تصميم المكتبة المستخدمة لاتصال API من تطبيق Myskoda Android. تمت إضافة الدعم الأولي لسيارات API SmartLink و API الأحدث ، مثل Enyaq IV.
يجب تعيين إعدادات خصوصية السيارة على "مشاركة موقفي" للحصول على وظائف كاملة لهذا التكامل. بدون هذا الإعداد ، إذا تم تعيينه على "استخدام الموضع الخاص بي" ، فإن أجهزة استشعار الموضع (تعقب الجهاز) ، قد لا تعمل الطلبات المتبقية ووقت وقوف السيارات بشكل موثوق أو على الإطلاق. سيحدد إعداد خصوصية أكثر صرامة من الوظائف أكثر.
إذا واجهت مشكلة حيث لا يمكن إعداد التكامل أو إذا تلقيت خطأً في وجود مصطلحات غير مقبولة أو EULA ، فقد يكون ذلك بسبب منصة تطبيقات الهاتف المحمول. تم تصميم المكتبة الأساسية عن طريق هندسة عكسية سلوك تطبيق Android وبالتالي تستخدم نفس تكوينات العميل مثل جهاز Android. إذا كنت تستخدم التطبيق فقط على أجهزة iPhone/iOS ، فقد يتسبب ذلك في حدوث مشكلات مع هذا التكامل.
الحلول الممكنة:
إذا لم ينجح هذا الأمر بالنسبة لك والمشكلة المعينة التي تواجهها ، فيرجى فتح مشكلة وتقديم وصف مفصل للمشكلة قدر الإمكان ووجبات الأخطاء ذات الصلة.
إذا تم تثبيت HACS (Home Assistant Community Store) ، فما عليك سوى البحث عن Skoda Connect وتثبيته مباشرة من HACS. ستقوم HACS بتتبع التحديثات ويمكنك الترقية إلى أحدث إصدار عند توفر إصدار جديد.
إذا لم يتم تثبيته ، تحقق من ذلك هنا: 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. هذا يتعامل مع طلبات الحصول على/تعيين تجاه واجهة برمجة التطبيقات
skodaconnect.vehicle: قم بتعيين مستوى التصحيح لفئة المركبات في مكتبة Skoda Connect. كائن واحد تم إنشاؤه لكل مركبة في الحساب ويخزن جميع البيانات.
skodaconnect.dashboard: قم بتعيين مستوى التصحيح لفئة Dashboard لمكتبة Skoda Connect. فئة غلاف بين مكون Hass والمكتبة.
custom_components.skodaconnect: تعيين مستوى التصحيح للمكون المخصص. التواصل بين هاس والمكتبة.
custom_components.skodaconnect.xyz يضبط مستوى التصحيح لأنواع الكيانات الفردية في المكون المخصص.
التكوين في التكوين. تم إهمال yaml الآن ويمكن أن يتداخل مع إعداد التكامل. لتكوين التكامل ، انتقل إلى التكوين في اللوحة الجانبية للمساعد المنزلي ثم حدد التكامل. انقر فوق الزر "إضافة التكامل" في الزاوية اليمنى السفلية وبحث/حدد skodaconnect. اتبع الخطوات وأدخل المعلومات المطلوبة. نظرًا لكيفية تخزين البيانات والتعامل معها في مساعد المنزل ، سيكون هناك تكامل واحد لكل مركبة. قم بإعداد مركبات متعددة عن طريق إضافة التكامل عدة مرات.
يمكن تغيير خيارات التكامل بعد الإعداد بالنقر فوق النص "تكوين" على التكامل. الخيارات المتاحة هي:
تواتر الاستطلاع الفاصل (بالثواني) التي يتم استطلاع الخوادم للحصول على بيانات محدثة. أبلغ العديد من المستخدمين عن كونه محدودًا (HTTP 429) عند استخدام الستينيات أو أقل. يوصى بالبدء بقيمة 120 أو 180s. انظر #215.
S-Pin S-Pin للسيارة. هذا اختياري وهو مطلوب فقط لطلبات/إجراءات السيارة (سخان مساعد ، قفل إلخ).
حدد قابلاً للتغيير للسماح بالتفاعلات مع السيارة ، وبدء التنقل وما إلى ذلك.
تسجيل تصحيح API الكامل تمكين تسجيل التصحيح الكامل. سيؤدي ذلك إلى طباعة الأطراف الكاملة من API إلى HomeasSistant.log. فقط تمكين لاستكشاف الأخطاء وإصلاحها لأنه سيؤدي إلى توليد الكثير من السجلات.
الموارد لمراقبة الموارد التي ترغب في مراقبتها للسيارة.
تحويلات المسافة/الوحدة حدد ما إذا كنت تريد تحويل المسافة/الوحدات.
في هذا المثال ، نرسل إشعارات إلى جهاز iOS. لا يدعم تطبيق Android Companion حاليًا المحتوى الديناميكي في الإخطارات (الخرائط وما إلى ذلك)
احفظ هذه الأتمتة في ملف الأتمتة الخاص بك <config dir>/automations.yaml
قم أولاً بإنشاء input_number ، عبر محرر في configuration.yaml أو غيره من ملف التكوين المضمّن ، أو عبر محرر مساعدين واجهة المستخدم الرسومية. من المهم ضبط الحد الأدنى لقيمة على 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 أو عبر محرر واجهة المستخدم الرسومية. يمكنك العثور على معرف الجهاز عن طريق الانتقال إلى الإعدادات-> الأجهزة والخدمات ومن ثم النقر على الجهاز للسيارة Skodaconnect. سيعرض معرف الجهاز في شريط عنوان متصفح الويب بعد "/config/devices/device/". يمكن العثور على المعرف أيضًا باستخدام محرر خدمات واجهة المستخدم الرسومية تحت أدوات المطورين. اختر إحدى خدمات Skodaconnect واختر سيارتك. التغيير إلى وضع YAML ونسخ معرف الجهاز.
# 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
ملاحظة: متوفر فقط لأجهزة iOS لأن تطبيق Android Companion لا يدعم هذا بعد. قد يتم كسر هذا منذ 1.0.30 عندما غيرت Device_Tracker السلوك.
- 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! "