Škoda Elroq + Home Assistant — Seks måneder inde
Hvad MyŠkoda-integrationen faktisk giver dig i Home Assistant, hvad der mangler, og hvordan jeg byggede et nyttigt EV-dashboard med batteristatus og kalenderbaseret forvarming.
API-begrænsninger — maj 2026
VW Group har indført app-attestering, som gradvist begrænser tredjepartsadgang. Integrationen virker delvist, men ikke fuldt ud:
- Aflæsning (batteri, rækkevidde, ladestatus) — virker stadig via polling
- Realtidskommandoer (forvarming, start/stop ladning) — brudt siden ~7. maj via MQTT
- Push-opdateringer fra bilen — brudt
Automationer der afhænger af kommandoer — som forvarming fra Google Kalender — er upålidelige. VW har meddelt at apps uden formel aftale med VW Group Info Services fremadrettet ikke vil have adgang. EU Data Act (12. sept. 2026) kan ændre dette lovmæssigt.
Se GitHub-issues for seneste status.
Min Škoda er det eneste i huset der ikke taler med Home Assistant automatisk. Alle andre enheder er enten integreret native eller via HACS. Bilen levede i sin egen app, og det nag jeg. Ikke dramatisk — bare en konstant lille irritation.
MySkoda-integrationen løser det. HACS, godkend med din Škoda Connect-konto, og bilen dukker op som en enhed. API-polling med 15-60 sekunders latens på kommandoer — det er cloud-begrænsning, ikke HA.
Hvad MySkoda-integrationen giver dig i Home Assistant
sensor.skoda_elroq_battery_percentage — ladestilstand (%)
sensor.skoda_elroq_charging_power — aktuel ladehastighed (kW)
sensor.skoda_elroq_range — estimeret rækkevidde (km)
number.skoda_elroq_charge_limit — lademål sat i bilen (%)
binary_sensor.skoda_elroq_charger_connected
sensor.skoda_elroq_charging_state
binary_sensor.skoda_elroq_doors_locked
climate.skoda_elroq_air_conditioning — fjernbetjent HVAC
switch.skoda_elroq_charging — start/stop
climate-entiteten er den jeg bruger mest. Sæt en temperatur, kald climate.turn_on, og bilen begynder at varme eller køle fra den strømkilde den er tilsluttet. Er den i stikkontakt, trækker den fra nettet. Er den ikke — fra batteriet. Derfor springer jeg forvarming over hvis batteriet er under 30%.
Sådan bygger du EV-dashboardkortet
Jeg ville have batteriniveauet synligt med det samme uden at det fylder for meget. Løsningen er en grøn gradient bag kortindholdet via ha-card::after — den fylder kortet proportionalt med ladestanden. Kortet bruger custom:stack-in-card og custom:mushroom-template-card (begge HACS, Mushroom-suiten), med card_mod (HACS) til CSS’en:
type: custom:stack-in-card
card_mod:
style: |
ha-card {
background: rgba(255,255,255,0.05) !important;
backdrop-filter: blur(15px) !important;
border: 1px solid rgba(255,255,255,0.10) !important;
box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
border-radius: 28px !important;
overflow: hidden !important;
position: relative !important;
}
ha-card::before { display: none !important; }
ha-card::after {
content: '' !important;
position: absolute !important;
left: 0; top: 0;
width: {{ states('sensor.skoda_elroq_battery_percentage') | int(0) }}% !important;
height: 100% !important;
background: linear-gradient(90deg, rgba(76,175,80,0.18), rgba(129,199,132,0.05)) !important;
pointer-events: none !important;
}
cards:
- type: custom:mushroom-template-card
primary: "{{ states('sensor.skoda_elroq_battery_percentage') }}% · {{ states('sensor.skoda_elroq_range') }} km"
secondary: Škoda Elroq
icon: mdi:car-electric
icon_color: >
{% set soc = states('sensor.skoda_elroq_battery_percentage') | int(0) %}
{% if soc > 60 %}green{% elif soc > 30 %}orange{% else %}red{% endif %}
Gradienten er subtil — du lægger ikke mærke til den som en statusbjælke, det gør bare kortet føles anderledes ved 20% versus 80%. Det tog et par iterationer at få opaciteten rigtig.
Bilikonen får et ekstra lag når sensor.skoda_elroq_charging_state er charging: en lysende ring der pulserer i cyan og grønt — de samme farver som LED-ringen på Elroq’ens forreste kofanger mens den lader. Tilføj en card_mod-blok direkte på mushroom-kortet inde i stacken:
card_mod:
style: |
mushroom-shape-icon {
{% if is_state('sensor.skoda_elroq_charging_state', 'charging') %}
animation: charge-ring 2s linear infinite;
{% endif %}
}
@keyframes charge-ring {
0% { box-shadow: 0 0 8px 3px rgba(0,212,255,0.85); }
33% { box-shadow: 0 0 8px 3px rgba(0,255,140,0.85); }
66% { box-shadow: 0 0 8px 3px rgba(100,220,255,0.85); }
100% { box-shadow: 0 0 8px 3px rgba(0,212,255,0.85); }
}
Jinja’en i CSS’en evalueres server-side, så animationen eksisterer kun i DOM’en når bilen faktisk oplader. Når den ikke gør, har selectoren slet ingen properties.
Forvarming fra Google Kalender
Jeg har en tilbagevendende kalenderbegivenhed med et fast starttidspunkt. Automatiseringen aktiverer 30 minutter før:
alias: Elroq — Forvarm fra kalender
trigger:
- platform: calendar
event: start
offset: "-0:30:0"
entity_id: calendar.personlig
condition:
- condition: template
value_template: "{{ 'Kør til kontor' in trigger.calendar_event.summary }}"
- condition: numeric_state
entity_id: sensor.skoda_elroq_battery_percentage
above: 30
action:
- service: climate.turn_on
target:
entity_id: climate.skoda_elroq_air_conditioning
- service: climate.set_temperature
target:
entity_id: climate.skoda_elroq_air_conditioning
data:
temperature: 21
Det virker godt om vinteren. En varm bil om morgenen er en underapprecieret luksus.
Ét problem: begivenhedsnavnet skal matche præcist. Jeg har omdøbt begivenheden to gange og gemt det i tide til at undre mig over hvorfor bilen ikke var varm. Det er en skrøbelig strengmatch og jeg har ikke fundet en bedre tilgang endnu.
Kabeladvarsels-automatisering
At glemme at sætte bilen til opladning er den eneste fejl der rent faktisk koster noget. Bilen står natten over, trækker intet fra nettet, og du kører om morgenen med den ladning du havde dagen før.
AlertTicker-kortet håndterer det. Mellem kl. 21 og 06, hvis binary_sensor.skoda_elroq_charger_connected er off, vises en advarselsbanner på tværs af alle dashboard-views:
type: custom:alert-ticker-card
alerts:
- entity: binary_sensor.skoda_elroq_charger_connected
state: "off"
message: "Elroq is not plugged in"
theme: warning
priority: 1
time_from: "21:00"
time_to: "06:00"
Tidsvinduet er vigtigt — om dagen er bilen konstant fra laderen. Advarslen er kun relevant om natten når den burde lade. Uden for det vindue er den stille uanset kabeltilstand.
Hvad MySkoda-integrationen stadig mangler
Integrationen eksponerer ikke opladningssessionsdata — ingen kWh tilføjet i den aktuelle session, ingen opladningshistorik. Du kan se den aktuelle effektafsætning, men ikke hvor længe den har kørt eller hvad det har kostet. Til smart-opladningsautomatisering er det fint; til at overvåge dine faktiske opladningsomkostninger er det et hul.
For latens-problemet specifikt: hvis du står ved siden af bilen og trykker “start opladning” i HA-dashboardet, så forvent at vente et minut inden kontaktens tilstand opdateres. Brug appen til alt der kræver øjeblikkelig reaktion.
Spor batteri og rækkevidde over tid
Efter et stykke tid er det ikke den aktuelle tilstand jeg vil se — det er tendensen. Dræner batteriet om natten? Hvordan ændrer rækkevidden sig når temperaturen falder?
custom:apexcharts-card (HACS) besvarer begge spørgsmål. Batteri-procent over 5 dage — opladningssessioner viser sig som skarpe opadgående spidser, nattedræn som blide hældninger:
type: custom:apexcharts-card
graph_span: 5d
header:
show: true
title: Batteri
show_states: true
colorize_states: true
apex_config:
chart:
background: transparent
toolbar:
show: false
theme:
mode: dark
yaxis:
min: 0
max: 100
series:
- entity: sensor.skoda_elroq_battery_percentage
name: Batteri %
color: "#4CAF50"
stroke_width: 2
fill_raw: last
type: line
unit: "%"
Rækkevidde og udetemperatur på et dual-akse-diagram. De to linjer bevæger sig næsten uafhængigt om sommeren. Det er en vinterhistorie: på MEB-platformen kan du forvente 20–30% rækkevidde-tab under frysepunktet:
type: custom:apexcharts-card
graph_span: 5d
header:
show: true
title: Rækkevidde & Temperatur
show_states: true
colorize_states: true
yaxis:
- id: range_axis
min: 0
max: 600
apex_config:
title:
text: km
- id: temp_axis
opposite: true
min: -10
max: 40
apex_config:
title:
text: °C
apex_config:
chart:
background: transparent
toolbar:
show: false
theme:
mode: dark
series:
- entity: sensor.skoda_elroq_range
name: Rækkevidde (km)
yaxis_id: range_axis
color: "#2196F3"
stroke_width: 2
fill_raw: last
unit: km
- entity: sensor.skoda_elroq_outside_temperature
name: Temp (°C)
yaxis_id: temp_axis
color: "#FF9800"
stroke_width: 2
fill_raw: last
unit: °C
En ting at holde øje med: MySkoda-integrationen opretter 56 entiteter. At optage dem alle hober sig hurtigt op — vinduestilstande, dørtilstande, softwareversion, serviceintervaller. De fleste ændrer sig sjældent og har ingen grafværdi. Ekskluder størstedelen og behold kun det du vil følge historisk:
recorder:
exclude:
entity_globs:
- sensor.skoda_elroq_*
include:
entities:
- sensor.skoda_elroq_battery_percentage
- sensor.skoda_elroq_range
- sensor.skoda_elroq_outside_temperature
- sensor.skoda_elroq_charging_state