Home Assistant: Abschaltung Skoda Connect steht bevor, Nachfolger MySkoda funktioniert

  • Hallo zusammen,


    In der vergangenen Woche wurde ich von einer prominenten DEPRECATION NOTICE der Skoda-Connect-Integration überrascht. Wobei „überrascht“ das falsche Wort, weil schon länger erkennbar war, dass diese Integration auslaufen wird, weil Skoda die entsprechenden API Anfang Dezember abschalten will.


    Ich habe daraufhin die MySkoda-Integration installiert, die nach eigener Aussage „Alpha-Qualität“ hat, und diese funktioniert bislang problemlos. Trotz Alpha-Stadiums ist sie der alten Integration schon in einigen Punkten überlegen, so besitzen die Sensoren beispielsweise deutsche Bezeichnungen.


    Einige Sensoren sind sowohl in der alten wie auch der neuen Integration vorhanden:

    1. Ladeleistung
    2. Reichweite
    3. Batteriestand

    Wer mutig ist, kann per SQL die Langzeitstatistik der Sensoren der alten Integration in die der neuen Integration kopieren. Ich zeige das in mehreren Schritten, aber vorweg: Ihr macht das auf eigenes Risiko! Ich übernehme keine Haftung, wenn Home Assistant hinterher kaputt ist oder die Katze brennt. Das ist eine Aktion für fortgeschrittene Anwender.


    Zur Übersicht noch mal die Schritte:

    1. Home Assistant herunterfahren
    2. Backup der Datenbank erstellen
    3. Sensormapping erzeugen -> separater Post
    4. Ersten Eintrag der neuen Sensoren finden -> separater Post
    5. Daten kopieren -> separater Post
    6. Home Assistant wieder starten

    Skoda Enyaq iV 80, Software 3.2, race-blau, Loft, 19" Regulus AERO, diverser Schnickschnack. Ex-Mitglied des Clubs 400

  • Sensormapping erzeugen

    Über das Sensormapping wird definiert, welche technischen ID die alten Sensoren und deren neuen Gegenstücke besitzen, damit man per SQL die Historie kopieren kann.


    Bei mir enthalten die alten Sensoren die Fahrgestellnummer und die neuen Sensoren den String skoda_enyaq, daher geht das mit einem SQL:

    Daraus kann man herleiten:

    1. 64 und 277 entsprechen dem alten bzw. neuen Sensor für den Batteriestand
    2. 63 und 272 der Ladeleistung. Hier muss man aufpassen: Der alte Sensor misst die Ladeleistung in Watt, der neue in Kilowatt. Mehr dazu später.
    3. 62 und 274 sind die Reichweite

    Skoda Enyaq iV 80, Software 3.2, race-blau, Loft, 19" Regulus AERO, diverser Schnickschnack. Ex-Mitglied des Clubs 400

  • Ersten Eintrag der neuen Sensoren finden

    Wir wollen nur Einträge für die neuen Sensoren erzeugen für die Vergangenheit. Wir müssen also den ältesten Statistikeintrag eines der neuen Sensoren finden:

    Code
    select min(s.start_ts)
    from "statistics" s  
    where s.metadata_id = :new_id;
    
    min
    1.731.006.000

    :new_id ist ein Platzhalter für einen beliebigen der neuen Sensoren. Das Ergebnis merken wir uns als „magischen Zeitstempel“.

    Skoda Enyaq iV 80, Software 3.2, race-blau, Loft, 19" Regulus AERO, diverser Schnickschnack. Ex-Mitglied des Clubs 400

  • Daten kopieren

    Jetzt geht es ans Eingemachte: Wir kopieren die Statistikhistorie mit folgendem SQL:

    Code
    insert into "statistics" (created, "start", mean, "min", "max", last_reset, state, "sum", metadata_id, created_ts, start_ts, last_reset_ts)
    select created, "start", mean, "min", "max", last_reset, state, "sum", :new_id as metadata_id, created_ts, start_ts, last_reset_ts
    from "statistics"
    where metadata_id = :old_id and start_ts < :magic_ts;

    :new_id und :old_id sind die weiter oben identifizierten Pärchen aus altem und neuen Sensor.


    :magic_ts ist der oben ermittelte magische Zeitstempel.


    Dieses SQL führen wir jeweils für die Pärchen aus Batteriestand und Reichweite aus. Für die Ladeleistung müssen wir W in kW umrechnen, daher verwenden wir dafür ein anderes SQL:

    Code
    insert into "statistics" (created, "start", mean, "min", "max", last_reset, state, "sum", metadata_id, created_ts, start_ts, last_reset_ts)
    select created, "start", mean / 1000 as mean, "min" / 1000 as "min", "max" / 1000 as "max", last_reset, state, "sum", :new_id as metadata_id, created_ts, start_ts, last_reset_ts
    from "statistics"
    where metadata_id = :old_id and start_ts < :magic_ts;

    Das war es auch schon.


    Summen werden nicht berechnet, daher müssen wir diese nicht anfassen.

    Skoda Enyaq iV 80, Software 3.2, race-blau, Loft, 19" Regulus AERO, diverser Schnickschnack. Ex-Mitglied des Clubs 400

    Einmal editiert, zuletzt von ichwarteaufnenblauen ()

  • Habe auch seit ein paar Tagen die neue MySkoda Integration in Betrieb. Aktuell gib es alle 2-3 Tage ein Update, welches manuell installiert werden muss.


    Läuft soweit einwandfrei aber enthält noch nicht alle Sensoren der alten Integration.

  • Nein. Bei mir nie passiert. Die API ist die gleiche wie bei der App.

Liebe/r Besucher/in des Enyaq-Forum. Wir würden uns freuen, wenn du etwas zum obigen Thema beitragen möchtest.

Hier klicken, um ein kostenloses Benutzerkonto im Enyaq Forum anlegen

Bereits 10195 Mitglieder sind dabei und tauschen erste Informationen rund um das neue Elektro SUV Enyaq von Skoda aus! Viel Spaß :)