Migration von Daten nach Hardwaretausch EDL21 USB Lesekopf Zähler nach WIFI

Hallo zusammen,

ich habe meine Hardware Lesekopf Zähler Energieversorger von einer USB Variante per EDL21 zu eine Wifi-Tasmota Variante via MQTT getauscht.

Ich hätte gerne auch die alten Daten der Einspeisung, Bezug und die aktuelle Leistung auf das neue Gerät umgezogen.

Dazu hatte ich Genimi gefragt und der hat mir folgenden Weg gezeigt:

Methode 2: Datenbankbearbeitung (nur für fortgeschrittene Benutzer und mit Vorsicht)

Diese Methode ist komplexer und sollte nur verwendet werden, wenn Methode 1 nicht funktioniert oder du spezifische Anforderungen hast, die eine direkte Datenbankmanipulation erfordern (z.B. wenn du Entitäten von einer Integration zu einer anderen migrieren möchtest und dabei die Historie übertragen willst).

Voraussetzung: Du benötigst Zugriff auf die Home Assistant Datenbank (standardmäßig home-assistant_v2.db im config Verzeichnis) und ein Tool wie SQLite Web Add-on oder DB Browser for SQLite.

Ablauf (vereinfacht):

  • Home Assistant stoppen: Ganz wichtig, um Datenkorruption zu vermeiden.*
  • Backup der Datenbank erstellen: Kopiere die home-assistant_v2.db an einen sicheren Ort.
  • Neue Entitäten erstellen: Füge das neue Gerät in Home Assistant hinzu (wenn noch nicht geschehen), um die neuen Entitäten zu erzeugen.
  • Datenbank bearbeiten:
  • Finde die metadata_id der alten Entität in der Tabelle statistics_meta.
  • Finde die metadata_id der neuen Entität in der Tabelle statistics_meta.
  • Führe SQL-Befehle aus, um die metadata_id in den statistics und statistics_short_term Tabellen von der alten metadata_id auf die neue metadata_id zu aktualisieren. Dies “verschiebt” die Historie von der alten auf die neue Entität.

Beispiel (aus der Home Assistant Community, an deine Entitäten anpassen):*

SQL

UPDATE statistics SET metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = 'sensor.neue_entitaet') WHERE metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = 'sensor.alte_entitaet');
UPDATE statistics_short_term SET metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = 'sensor.neue_entitaet') WHERE metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = 'sensor.alte_entitaet');

Denke daran, auch die Kostenstatistiken zu migrieren, falls vorhanden (oft mit einem _cost-Suffix).

Home Assistant starten: Nach dem Speichern der Änderungen die Datenbank schließen und Home Assistant starten.

Alte Entität löschen: Sobald die Daten erfolgreich übertragen wurden, kannst du die alte Entität oder das alte Gerät (falls es keine anderen relevanten Entitäten mehr hat) aus Home Assistant entfernen.

Das habe ich dann auch so für die aktuelle Leistung ausgeführt aber leider sehe ich die Daten nicht in der Historie, obwohl es Datensätze gab, die das Update umgestellt hat.

Hat jemand Erfahrung mit der Migration von Daten und weiß, ob ich noch mehr Einträge als die in der Tabelle statistics_short_term und statistics umstellen muss?

Gruß
Jörn