Verwirrt durch Datenchaos nach dem Umbenennen oder Austauschen von Geräten in Home Assistant? Keine Sorge! In diesem Video zeige ich dir, wie du deine wertvollen Statistiken und Daten problemlos überträgst und stets den Überblick behältst. Mit diesen Tipps behältst du die Statistiken, die du willst und bringst Ordnung in dein Smarthome.
== Befehle (Eingabe als Query in SQLite Web!) =⇒
== Anzeige der gespeicherten Statistik-Daten einer Entität: select *, datetime(start_ts, 'unixepoch', 'localtime') as Statistikdatum from statistics where metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = "sensor.ABZUFRAGENDER_ENTITÄTSNAME")
== Migrieren der Langzeitstatistik einer Entität: UPDATE or REPLACE statistics SET metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = "sensor.NEUER_ENTITÄTSNAME") WHERE metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = "sensor.ALTER_ENTITÄTSNAME")
== Migrieren der Kurzzeitstatistik (Standard: 10 Tage): UPDATE or REPLACE statistics_short_term SET metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = "sensor.NEUER_ENTITÄTSNAME") WHERE metadata_id = (SELECT id FROM statistics_meta WHERE statistic_id = "sensor.ALTER_ENTITÄTSNAME")
Hallo, ich habe genau zu diesem Beitrag eine Frage, ich habe das genau wie beschrieben für die Statistik einer Entität im Energie Dahboard gemacht, das übertragen hat in der DB auch problemlos geklappt, aber im Dashboard steht bei jedem Tag nur 0, die Balken sind aber da, hat jemand eine Idee?
Bilder anbei.
Danke und Gruß
Bad Randolph
Normalerweise genau über diesen Weg, hast du evtl mal neu gestartet? Vielleicht musst du auch etwas mit der Uhrzeit und den Minuten rumspielen, um den richtigen Datenpunkt der Hinterlegten Entität zu finden.
Leider nein, bin die ganzen Stunden druch gegangen, habe mir auch die neue Entität einmal angeschaut. Ein neustart, wurde gestern gemacht, da den ganzen Strom im HWR Tracke.
Im Bild selber sieht man wie von 6 bis 9 erst Daten genommen werden und dann wieder dazu kommen.
Ggf. kommt der Fehler auch zustande, da die Werte, dummerweise erst Negative waren und dann geändert wurden in Postiv, Solarstunden im Minusbereich machen nicht soviel sinn.
Wenn ich über UPDATE or REPLACE die Werte ändere, ist das Energy-Dashboard immer gleich, entweder vom 29.04 auf den 30.04 oder vom 01.05 auf den 30.04.
In der statistics_short_term sind die Werte richtig, nur in der statistics sind die Werte falsch.
Update, ich habe über UPDATE or REPLACE die Werte aus der statistics_short_term genommen und nochmal versucht. Hat geklappt.
Hi,
danke für deine bisherigen Videos. Mir hat schon einiges weitergeholfen.
Ich versuche seit gestern die Daten eines Sensors auf einen neuen zu übertragen bzw. zu kopieren in InfluxDB1.
Als Anhaltspunkt habe ich bisher nur das hier gefunden:
Inhalt von OLD nach NEW
SELECT * INTO {NEWMEASUREMENT} FROM {OLDMEASUREMENT}
Als Alternative könnte ich auch zur InfluxDB2 wechseln aber dann stehe ich wohl auch vor dem Problem, dass ich alles migrieren muss.
Darf man fragen, wieso Du das machen möchtest und warum der neue Sensor nicht so heiß wie der alte?
Wie sehen denn die Daten aus?
Ist das als Add-on in HA installiert?
Dann wurde auch Chronograf installiert, sollte dann in der Seitenleiste zu sehen sein
Da kann man sich das als CSV exportieren und anschließend wohl auch wieder importieren, oder aber, wenn zugriff auf die Kommandozeile des influxDB Docker Container besteht, dann
KI Gemini
Absolut! Hier ist ein grundlegendes SQL-Statement, das eine Messung namens “alt” in eine neue Messung namens “neu” kopiert:
SELECT * INTO neu FROM alt
Was dieses Statement macht:
SELECT *: Es wählt alle Felder (Spalten) aus der Messung “alt” aus.
INTO neu: Die ausgewählten Daten werden in eine neue Messung namens “neu” geschrieben.
Beispiel:
Angenommen, deine Messung “alt” hat die Felder “zeit”, “temperatur” und “feuchtigkeit”. Nach Ausführung des obigen Statements wird eine neue Messung “neu” erstellt, die exakt die gleichen Felder und Daten enthält.
Anpassungen:
Auswählen bestimmter Felder:
SELECT zeit, temperatur INTO neu FROM alt
Hier werden nur die Felder “zeit” und “temperatur” in die neue Messung kopiert.
Ändern von Feldnamen:
SELECT zeit AS timestamp, temperatur INTO neu FROM alt
Das Feld “zeit” wird in der neuen Messung als “timestamp” bezeichnet.
Filtern von Daten:
SELECT * INTO neu FROM alt WHERE temperatur > 20
Nur Datenpunkte mit einer Temperatur über 20 werden in die neue Messung kopiert.
Wichtiger Hinweis:
Bestehende Messung: Wenn eine Messung namens “neu” bereits existiert, wird sie überschrieben. Stelle sicher, dass du die richtige Messung anlegst oder die bestehende Messung vorher löschst.
Tags und Felder: Wenn deine Messungen Tags oder Felder enthalten, die nicht kopiert werden sollen, musst du diese explizit angeben oder filtern.
Performance: Für große Datenmengen kann diese Operation einige Zeit in Anspruch nehmen.
Zusätzliche Optionen:
Gruppieren und Aggregieren:
SELECT mean(temperatur) AS avg_temp INTO neu FROM alt GROUP BY host
Hier wird der Durchschnittswert der Temperatur für jeden Host berechnet und in die neue Messung geschrieben.
Zeitliche Einschränkungen:
SELECT * INTO neu FROM alt WHERE time > now() - 1h
Nur Daten der letzten Stunde werden kopiert.
Deine spezifischen Anforderungen:
Um dir eine noch passendere SQL-Abfrage zu erstellen, teile mir bitte mit:
Welche Felder sollen kopiert werden?
Sollen Daten gefiltert oder aggregiert werden?
Gibt es spezielle Anforderungen bezüglich Tags oder Zeiträumen?
Mit diesen Informationen kann ich dir eine maßgeschneiderte Lösung anbieten.
Danke für die Antwort. Ich habe den Sensor gewechselt und möchte einen neuen eindeutigeren Namen verwenden.
Ich komme natürlich in die InfluxDB Oberfläche und kann auch Daten etc. abrufen das Problem ist, dass dieses Query wohl nicht so einfach ist:
SELECT * INTO neu FROM alt WHERE time > now() - 1h
Was genau sollte hier bei neu und alt stehen? Die einzige mir bekannte Möglichkeit direkt auf einen Sensor zuzugreifen ist diese:
SELECT * FROM “homeAssistant”.“autogen”.“kWh” WHERE “entity_id”=‘stromverbrauch_gesamt’
Hier bekomme ich mit WHERE den Sensor den ich möchte aber WHERE darf ich nur einmal in der Query verwenden also weiß ich nicht wie die Query aussehen soll.
Das sind übrigens beide Sensoren:
neu: stromverbrauch_gesamt
alt: tasmota_holley_verbrauch
Nein, das ist nicht die Oberfläche von influxDB, denn die Version 1.8 hat keine, das ist Chronograf, das zur Verwaltung von influxDB <= V 1.8 genutzt werden kann Kleinigkeitskrämer Off
Mir fällt es schwer ohne Daten da was zu Basteln, ich habe nur noch influxDB V 2.7.x
Aber wenn Du das so in die GUI einfügst und dann auf CSV klickst
Cool, dass es so einfach gegen könnte - an dieser Stelle hatte die KI nix einfaches auf Lager. Leider habe ich dennoch gleich einen Fehler gemacht: Nämlich beim Migrationsbefehl einen falschen Namen für die neuen Entität angegeben mit dem Ergebnis, dass die alten Daten weg sind (ausgeschnitten statt kopiert) und in der falschen Entität auch nix “zwischengespeichert” steht, weil es sie vermutlich garnicht gibt.
Fragen:
gibt es keinen Befehl, der nur kopiert? Das wäre für Anfänger wie mich viel besser, denn löschen kann ich die Statistik doch besser, wenn alles geklappt hat
wie lautet der Befehl für SQLite Web, um die Statistik aus einem alten Core Backup zu kopieren?
Liebe Grüße!
Vorhandene kann man ja ersetzen. Mir ging es darum, dass es (unnötig?!) destruktiv ist, dass die Daten aus der alten Instanz gelöscht (also verschoben) werden und nicht nur kopiert!