Š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.

#ev #skoda-elroq #myskoda #home-assistant #anmeldelse
13. april 2026
Škoda Elroq + Home Assistant — Seks måneder inde

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