Benachrichtigungen
Alles lรถschen

Mit SQL noch mehr Daten in Home Assistant nutzen

21 Beitrรคge
4 Benutzer
0 Reactions
530 Ansichten
Beitrรคge: 6
(@jove02)
Active Member
Beigetreten: Vor 2ย Monaten

Hallo Olli

vielen Dank, das war es

Jรผrgen

Antwort
Beitrรคge: 5
(@markus)
Active Member
Beigetreten: Vor 1ย Monat

Hallo Olli,

ich habe zwei Anwendungsfรคlle, die ich separat poste.

Anwendungsfall 1: Ich lese meinen Stromzรคhler mit einen IR Kopf und Tibber aus. Beide Zรคhlerstรคnde landen in HA. Aus mir nicht erklรคrlichen Grรผnden, waren fรผr die Einspeisewerte vom Zรคhler nur die letzten 3 oder 4 Monate in HA. Die Tibber Werte waren aber durchgรคngig vorhanden.

Hast Du eine Idee, wie man das versehentlich hinbekommt? Im SQLite Web habe ich bewusst nur Select Statements ausgefรผhrt, aber viel in den Developertools HA unter die Haube geschaut.

Die Werte vom Tibber (Medadata_id 179) habe ich รผber INSERT INTO auf den Zรคhler (Metadata_id 168) รผbertragen. Da noch Werte vorhanden waren, nur die vor dem ersten start_ts Eintrag fรผr ID 168

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,
  168 AS metadata_id,
  created_ts,
  start_ts,
  last_reset_ts
FROM statistics
WHERE metadata_id = 179 AND start_ts < 1765400000.0 AND true

GrรผรŸe

Markus

Antwort
1 Antwort
 Olli
Admin
(@olli)
Beigetreten: Vor 10ย Jahren

Mitglied
Beitrรคge: 705

@markus Verstehe ich dich richtig, dass deine eigentliche Frage ist, warum die Daten fรผr einen Zeitraum weg sein kรถnnen?

Und wenn ich es weiter richtig verstanden habe, hast du es durch den INSERT geheilt?

Antwort
Beitrรคge: 5
(@markus)
Active Member
Beigetreten: Vor 1ย Monat

Hallo Olli,

hier mein zweiter Fall, und ich knacke noch an der Nuss, bei dem Du mir vielleicht helfen kannst.ย 

Mein Stromzรคhler hat sich รผber einen Zeitraum von 3 Monaten verschluckt und die Werte um 6 stellen nach Links verschoben. Die richigen Werte liefert mir Tibber.

Mit einem reinen Insert ist es nun nicht mehr getan, weil ja Werte vorhanden sind, die aktualisiert werden mรผssen.

ย 

Hier die fehlerhaften Werte aus "statistics" fรผr Sensor 167

state      sum                metadata_id  start_ts
4807.297   5650.215391840034      167      1714208400.0
0.048      5650.263391840033      167      1714212000.0
0.048      5650.263391840033      167      1714215600.0
0.048      5650.263391840033      167      1714219200.0
0.048      5650.263391840033      167      1714222800.0

Hier die richtigen Werte aus "statistics" fรผr Sensor 178

state      sum        metadata_id  start_ts
4807.297   1531.3169      178      1714208400.0
4807.317   1531.337       178      1714212000.0
4807.317   1531.337       178      1714215600.0
4807.374   1531.3939      178      1714219200.0
4807.418   1531.4379      178      1714222800.0

Die Abfrage mรผsste รผber eine virtuelle Zwischentabelle funktionieren, bei der die o.g. Tabellen erzeugt werden und dann die Werte mit dem 178 Wert aktualisiert, der den gleichen start_ts Wert hat. Das bekomme ich bisher leider nicht hin.

Update 167.state WHERE 167.start_ts=178.start_ts ist.

ย 

Wie berechne ich zudem aus den state-werten die richtige Summe in Spalte "sum"? Das Energy Dashboard hat bisher am Anfang und Ende meiner SQL Korrketuren einen Peak. Diese habe ich manuell in der Statistik korrigiert. Die richtigen Werte fรผr die jeweilige Stunde habe ich ja im Sensor mit den richtigen Daten.

ย 

Danke und GrรผรŸe

Markus

ย 

Antwort
3 Antworten
 Olli
Admin
(@olli)
Beigetreten: Vor 10ย Jahren

Mitglied
Beitrรคge: 705

Hi @markusย 

eine Verstรคndnisfrage vorweg: Wieso ist der Summenwert von 178 kleiner, als die Einzel-States jeweils? Also ist da nicht ggf. noch mehr "schief"?

Fรผr 167 willst du State jeweils mit dem gem. start_ts passenden State von 178 รผberschreiben/korrigieren? Und sum von 167 soll dann dynamisch berechnet werden?

Sorry fรผr die Rรผckfragen, aber ich durchblicke deinen Plan noch nicht so genau...

VG

Olli

ย 

Antwort
(@markus)
Beigetreten: Vor 1ย Monat

Active Member
Beitrรคge: 5

@olli Keine Ahnung, wie sich der Summenwert bildet. Ich vermute dass die Summe zum Zeitpunkt t0 = Inbetriebnahme auf Null steht. Der Zรคhler aber schon bei ~3500 stand.

Korrekt. Zum Zeitpunkt x soll der 178er wert in den 167er Wert geschrieben werden.

Ich habe keine Ahnung wie sum sich berechnet und welchen Effekt sie auf das Energy-Dashboard hat. Das wรคre erstmal sekundรคr. Vermutlich gibt es ein paar AusreiรŸer beim รœbergang. Aber das schauen wir dann.

Hier der Screenshot meines HA: das gelbe muss ins blaue ๐Ÿ˜‰

image

Danke und GrรผรŸe

Markus

Antwort
(@markus)
Beigetreten: Vor 1ย Monat

Active Member
Beitrรคge: 5

Ich hab grad geschaut: die Summe bildet sich ab dem Zeitpunkt der Inbetriebnahme des Sensors. Der IR-Leser lรคuft schon lรคnger als der Tibber Pulse.

Die Neuberechnung macht das vermutlich komplizierter, weil man nun die Differenz der aktuellen mit der vorhergehenden Zeile bilden muss.ย 

Ich vermute im HA wird vor dem speichern der letzte gespeicherte Wert ausgelesen, dann minus jetzt() berechnet und als sum mit dem neuen Wert weggeschrieben.

Antwort
Beitrรคge: 5
(@markus)
Active Member
Beigetreten: Vor 1ย Monat

Ich habe rausbekommen, woran der falsche Zรคhlerstand lag. Bei einem Stromausfall im Netz, setzt mein Zรคhler eBZ DD3 die Details zurรผck und liefert keine Leistungsdaten mehr und รคndert einzelne Zรคhlerstรคnde รผber die IR Schnittstelle nach vorne mit Faktor 1Mio kleiner. Die IR Schnittstelle oben, die der Tibber Pulse abruft, liefert die richtigen Daten. Nachdem ich die Details mit der Taschenlampe wieder aktiviert habe, kommen wieder die richtigen Daten, aber ich muss nun den zweiten Zeitraum korrigieren.

Antwort
Seite 3 / 3