Hallo Frank,
 
danke für Deine Geduld.
Konkret sieht es aus wie folgt:
 
Erste Lücke, ca. drei Stunden.
Zweite Lücke, ca. eine Stunde.
Dritte Lücke, knapp drei Stunden.
Dann der einzelne Peak.
Vierte Lücke (direkt hinter dem Peak), ca. 37 Stunden.
Danach geht 's normal Werte.
 
Grüße
 
JD.
 
 
Sent: Friday, February 28, 2020 at 7:47 PM
From: "Frank Richter" <frank.richte...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Manuelles Löschen eines Wertes aus der DB
Um wie viele falsche Werte geht es denn (vom Peak bis zur Lücke)? Wenn du nicht manuell deren Timestamps anpassen willst, musst du die alle löschen.
 
John Doe <john...@null.net> schrieb am Fr., 28. Feb. 2020, 19:43:
Hallo Frank,
 
die Lücke existiert und ist ca. 40 Stunden lang ...
Der Peak wird aktuell am linken Ende, also zu Beginn der Lücke dargestellt.
Welchen Wert der DB sollte ich denn nun wie anpassen ?
Grüße
 
JD.
 
 
Sent: Friday, February 28, 2020 at 7:10 PM
From: "Frank Richter" <frank.richte...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Manuelles Löschen eines Wertes aus der DB
Wenn deine Systemzeit vorwärts verstellt wurde, müsstest du das als Lücke im Graph finden können. Wenn du die Darstellung temporär auf "points" änderst, siehst du es leichter.
 
Grüße
Frank
 
John Doe <john...@null.net> schrieb am Fr., 28. Feb. 2020, 19:00:
Hallo Frank,
 
das mit dem "Verschieben" des Problems/Peaks habe ich mir schon gedacht ...
Aber wie finde ich denn den wieder "korrekten" Zeitpunkt ?
Der gepostete Ausschnitt ist exakt das, was Dein Tip zur Abfrage ergeben hat, d.h. zwischen der Kante existieren keinerlei andere Werte.
Grüße
 
JD.
 
 
Sent: Friday, February 28, 2020 at 6:48 PM
From: "Frank Richter" <frank.richte...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Manuelles Löschen eines Wertes aus der DB
Du hast da offensichtlich Zählerstände mit falschem Timestamp geloggt. Wenn du den ersten davon löschst, verschiebst du den Peak halt zum nächsten Messwert. Du musst den Zeitpunkt finden, wo die Zeit wieder korrekt ist (müsste dann ein längerer Zeitraum ohne Messwerte und mit ungewöhnlichen geringer Leistung sein).
 
Grüße
Frank
 
John Doe <john...@null.net> schrieb am Fr., 28. Feb. 2020, 18:10:
Hallo Frank, danke für den Tip!
 
Ausschnitt vom Ergebnis der relevanten Phase sieht so aus:
 
| 14285609 |          1 | 1575269994751 | 41139.5769 |
| 14285610 |          1 | 1575269996809 | 41139.5787 |
| 14285611 |          1 | 1575269998869 | 41139.5805 |
| 14285612 |          1 | 1575270000929 | 41139.5823 |
| 14285622 |          1 | 1575270050002 |  41162.974 |
| 14285623 |          1 | 1575270052076 | 41162.9756 |
| 14285624 |          1 | 1575270054149 | 41162.9772 |
 
Kurioserweise sieht man aber, wie ich schrieb, hier bloß den "normalen" Zählerstand.
Im akkumulierten Verbrauch, d.h. in der Jahresansicht der Daten im GUI, sieht man dann den Peak ....der ja irgendwie aus ca. 13 kWh in einer Millisekunde resultiert.
Sollte ich vielleicht doch ein anderes Feld als data betrachten ?
 
Grüße
 
JD.
 
 
 
Sent: Friday, February 28, 2020 at 11:06 AM
From: "USER VZ" <vz-u...@thhoe.de>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Manuelles Löschen eines Wertes aus der DB
Hallo,
in der Datenbank stehen die Werte die du erfasst. Wenn du den Zählerstand abfragst dann steht der auch in der DB.  Versuche doch bitte alle Datensätze aus der Zeit des Crashs zu ermitteln. 
zb:
select * from data where channel_id=1 and timestamp>“kurz vor dem crash“ and timestamp<„kurz nach dem peak“
 
timestamp ist dabei unixtime in Microsekunden. 
 
Thomas 
 
 
Am 28.02.2020 um 10:32 schrieb John Doe <john...@null.net>:
 

Hey Jakob,
 
sorry für die späte Rückmeldung.
Ein
 
select * from data where channel_id = 1 order by value desc limit 1;
 
bringt bei mir leider keinen (sinnvollen) Output;
 
Database changed
MariaDB [volkszaehler]> SELECT * from data where channel_id = 1 order by value desc limit 1;
+----------+------------+---------------+----------+
| id       | channel_id | timestamp     | value    |
+----------+------------+---------------+----------+
| 21111815 |          1 | 1582879317183 | 42256.52 |
+----------+------------+---------------+----------+
1 row in set (11 min 23.290 sec)
 
Mir scheint der value eher den Zählerstand anzugeben, allerdings wollte ich ja den akkumulierten Verbrauch, der aufgrund des DB-Crashs nicht stimmen kann, ändern, z.B. einen Eintrag mit ca. 5 MW(h).
Benutze ich vielleicht die falsche DB und/oder das falsche Feld ?
Grüße
 
JD.
 
 
Sent: Wednesday, February 19, 2020 at 4:58 PM
From: "Jakob Hirsch" <j...@plonk.de>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Manuelles Löschen eines Wertes aus der DB
Hi!

On 2020-02-19 11:45, John Doe wrote:
> Aber mit meinem Denkansatz
> SELECT MAX(value) FROM data WHERE channel_id = 1;
>  
> komme ich irgendwie nicht weiter, da so ja nur der Maximalwert, nicht
> aber die zugehörige ID. die ich löschen möchte, ausgegeben wird.

select * from data where channel_id = 33 order by value desc limit 1;

Aber wenn du den wert schon kennst, kannst du den auch direkt löschen
(vorher anschauen):

select * from data where channel_id = 33 order by value desc limit 1;

und wenn es passt:

delete from data where channel_id=1 and value = 12345.6;



Gruß
J

Antwort per Email an