การรวมนี้รองรับ Skoda API 'เก่า' เท่านั้น (เกี่ยวข้องกับแอพมือถือเก่าที่เรียกว่า Skoda Essentials ) และจะหยุดทำงานเมื่อ Skoda ปิด API เก่า นี่คือประกาศว่าจะเป็นวันที่ 2 ธันวาคม 2024 แต่วันที่ได้เปลี่ยนไปแล้วในอดีต
หากคุณไม่สามารถใช้แอพ Skoda Essentials การรวมนี้จะ ไม่ ทำงานสำหรับคุณ นี่คือกรณีสำหรับบัญชี Skoda รุ่นใหม่
การพัฒนาเกี่ยวกับการรวมนี้ได้หยุดลงอย่างสมบูรณ์และจะไม่ได้รับการปรับปรุงเพื่อสนับสนุนแอพ/API ใหม่
การรวมใหม่กำลังได้รับการพัฒนาเพื่อทำงานกับ 'ใหม่' Skoda API (เกี่ยวข้องกับแอพมือถือใหม่ที่เรียกว่า Myskoda ): https://github.com/skodaconnect/homeassistant-myskoda
การรวมใหม่ได้รับการพัฒนาอย่างแข็งขันและมีเพียงไม่กี่รุ่นเท่านั้นที่ได้รับการสนับสนุน (บางส่วน) ในเวลานี้ ถึงกระนั้นเราก็ขอแนะนำให้ทุกคนลองใช้การรวมใหม่และให้ข้อเสนอแนะผ่านปัญหา GitHub หรือ Discord
หากคุณยังใหม่กับผู้ช่วยที่บ้านโปรดอ่านเอกสารผู้ช่วยที่บ้านก่อน
นี่คือส้อมของ Robinostlund/HomeAssistant-Volkswagencarnet แก้ไขเพื่อรองรับ Skoda Connect/Myskoda ผ่าน API API ดั้งเดิม (API เรียกโดยตรงไปยังบริการ VWG-Connect)
การรวมสำหรับผู้ช่วยในบ้านนี้จะดึงข้อมูลจากเซิร์ฟเวอร์ Skoda Connect ที่เกี่ยวข้องกับรถยนต์ที่เปิดใช้งาน Skoda Connect ของคุณ Skoda Connect ไม่เคยดึงข้อมูลโดยตรงจากรถยนต์รถยนต์จะส่งข้อมูลที่อัปเดตไปยังเซิร์ฟเวอร์ VAG ในเหตุการณ์เฉพาะเช่นล็อค/ปลดล็อคการชาร์จเหตุการณ์เหตุการณ์ที่เกิดขึ้นและเมื่อยานพาหนะจอดอยู่ การรวมจะดึงข้อมูลนี้จากเซิร์ฟเวอร์ เมื่อการกระทำของยานพาหนะล้มเหลวหรือกลับมาโดยไม่มีการตอบสนองการรีเฟรชกำลังอาจช่วยได้ สิ่งนี้จะทำให้เกิดการโทร "ตื่นขึ้นมา" จากเซิร์ฟเวอร์ VAG ไปยังรถ SCAN_INTERVAL คือความถี่ที่การรวมข้อมูลควรดึงข้อมูลจากเซิร์ฟเวอร์หากไม่มีข้อมูลใหม่จากรถยนต์แล้วเอนทิตีจะไม่ได้รับการอัปเดต
โครงการนี้มีรหัสองค์ประกอบที่กำหนดเองที่บ้านผู้ช่วย ขึ้นอยู่กับ https://github.com/skodaconnect/skodaconnect ซึ่งให้ห้องสมุด Python ที่มีปฏิสัมพันธ์กับ Skoda API
การรวมนี้จะใช้ได้เฉพาะกับรถยนต์ของคุณหากคุณมีฟังก์ชั่น Skoda Connect/Myškoda รถยนต์ที่ใช้แอพมือถือของบุคคลที่สามกึ่งทางการเช่น "Minskoda" จาก ConnectedCars ในเดนมาร์กจะไม่ทำงาน ห้องสมุดที่ใช้สำหรับการสื่อสาร API นั้นถูกออกแบบมาทางวิศวกรรมจากแอพ Myskoda Android การสนับสนุนเริ่มต้นได้รับการเพิ่มสำหรับรถยนต์ 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 สิ่งนี้จัดการคำขอ GET/SET ไปยัง API
Skodaconnect.vehicle: ตั้งค่าระดับการดีบักสำหรับคลาสยานพาหนะของไลบรารี Skoda Connect วัตถุหนึ่งที่สร้างขึ้นสำหรับยานพาหนะทุกคันในบัญชีและเก็บข้อมูลทั้งหมด
Skodaconnect.dashboard: ตั้งค่าระดับการดีบักสำหรับคลาสแดชบอร์ดของไลบรารี Skoda Connect คลาส wrapper ระหว่างส่วนประกอบ HASS และ Library
custom_components.skodaconnect: ตั้งค่าระดับการดีบักสำหรับส่วนประกอบที่กำหนดเอง การสื่อสารระหว่าง Hass และ Library
custom_components.skodaconnect.xyz ตั้งค่าระดับการดีบักสำหรับประเภทเอนทิตีแต่ละประเภทในองค์ประกอบที่กำหนดเอง
การกำหนดค่าใน configuration.yaml ตอนนี้เลิกใช้แล้วและสามารถรบกวนการตั้งค่าการรวม ในการกำหนดค่าการรวมให้ไปที่การกำหนดค่าในแผงด้านข้างของผู้ช่วยบ้านจากนั้นเลือกการรวม คลิกที่ปุ่ม "เพิ่มการรวม" ที่มุมล่างขวาและค้นหา/เลือก skodaconnect ทำตามขั้นตอนและป้อนข้อมูลที่ต้องการ เนื่องจากวิธีการจัดเก็บและจัดการข้อมูลใน Home Assistant จึงมีการรวมหนึ่งครั้งต่อยานพาหนะ ติดตั้งยานพาหนะหลายคันโดยการเพิ่มการรวมหลายครั้ง
ตัวเลือกการรวมสามารถเปลี่ยนแปลงได้หลังจากการตั้งค่าโดยคลิกที่ข้อความ "กำหนดค่า" ในการรวม ตัวเลือกที่มีอยู่คือ:
ความถี่การสำรวจ ความถี่ช่วงเวลา (เป็นวินาที) ที่เซิร์ฟเวอร์จะสำรวจข้อมูลที่อัปเดต ผู้ใช้หลายคนรายงานว่าเป็นอัตรา จำกัด (HTTP 429) เมื่อใช้ 60s หรือต่ำกว่า ขอแนะนำให้เริ่มต้นด้วยค่า 120s หรือ 180s ดู #215
s-pin s-pin สำหรับยานพาหนะ นี่เป็นทางเลือกและจำเป็นสำหรับการร้องขอ/การกระทำของยานพาหนะบางอย่างเท่านั้น (เครื่องทำความร้อนเสริมล็อค ฯลฯ )
เลือก ไม่แน่นอน เพื่ออนุญาตให้มีปฏิสัมพันธ์กับยานพาหนะเริ่มต้นสภาพอากาศ ฯลฯ
การบันทึกการดีบัก API เต็มรูปแบบ เปิดใช้งานการบันทึกการดีบักเต็มรูปแบบ สิ่งนี้จะพิมพ์การตอบสนองอย่างเต็มรูปแบบจาก API ไปยัง HomePsistant.log เปิดใช้งานการแก้ไขปัญหาเท่านั้นเนื่องจากจะสร้างบันทึกจำนวนมาก
ทรัพยากรในการตรวจสอบ การเลือกทรัพยากรที่คุณต้องการตรวจสอบสำหรับยานพาหนะ
การแปลงระยะทาง/หน่วย เลือกหากคุณต้องการแปลงระยะทาง/หน่วย
ในตัวอย่างนี้เรากำลังส่งการแจ้งเตือนไปยังอุปกรณ์ iOS แอพ Android Companion ไม่รองรับเนื้อหาแบบไดนามิกในการแจ้งเตือน (แผนที่ ฯลฯ )
บันทึกระบบอัตโนมัติเหล่านี้ในไฟล์อัตโนมัติของคุณ <config dir>/automations.yaml
ก่อนอื่นสร้าง input_number ผ่านตัวแก้ไขใน configuration.yaml หรือไฟล์ config อื่น ๆ ที่รวมอยู่หรือผ่านตัวแก้ไขผู้ช่วย GUI มันเป็นสิ่งสำคัญที่จะกำหนดค่าขั้นต่ำเป็น 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 หรือ Via GUI Editor คุณสามารถค้นหารหัสอุปกรณ์ได้โดยไปที่การตั้งค่า-> อุปกรณ์และบริการจากนั้นคลิกที่อุปกรณ์สำหรับยานพาหนะ skodaconnect ID อุปกรณ์จะแสดงในแถบที่อยู่เว็บเบราว์เซอร์หลังจาก "/config/อุปกรณ์/อุปกรณ์/" ID สามารถพบได้โดยใช้ตัวแก้ไขบริการ GUI ภายใต้เครื่องมือนักพัฒนา เลือกหนึ่งในบริการ 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 เมื่ออุปกรณ์เปลี่ยนพฤติกรรม
- 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! "