Nightscout: Wie einzelne/mehrere BZ-Werte löschen?

  • Weiß jemand wie man BZ-Werte aus der Nightscout-Datenbank löschen kann?


    Manchmal hat man ja Phasen (z.B. neuer Sensor oder Sensorfehler) wo einzelne oder selten sogar ein paar Stunden die Werte "falsch" sind -> Meßfehler. Kann man solche BZ-Datenpunkte aus NS rauslöschen damit die falschen Werte ncht die Nightcout-Reporter Statistik unnötig verfälschen? Hier ein Beispiel: Sensor am Ende der Lebensdauer und grad mit Sensor Error ausgestiegen ==> eingekreiste Werte sind 100% Meßfehler.



    Rechts oben ist ein Button mit dem ich die "Treatments" (KH+Insulin) löschen kann aber BZ-Werte bekomme ich mit dieser Funktion nicht zu fassen. Wer kennt den Trick? Danke :-)

  • Wenn du technikaffin bist kannst du die entsprechenden Werte aus der Datenbank direkt löschen. Wenn dich das interessiert und du ssh Zugriff auf den Server hast auf dem die Datenbank läuft, kann ich dir dabei helfen.


    Über das Webinterface geht es nicht.

  • Meine NS instanz läuft bei 10be.de -- muss ich nachschauen, ob ich da ssh Zugriff habe (noch nie getestet).


    Ich dachte das geht "graphisch" über das NS-Webinterface oder ggfls. mit einem bedienerfreundlichen Tool/app?


    Technikaffin ja - aber wenn's einfacher geht dann lieber letzteres :-) Bin ich der erste, der das fragt/braucht? Kann ich kaum glauben...

  • Ich glaube tatsächlich, dass es über 10be nicht möglich ist.


    Mein Lösungsweg ist


    - Mongo db exportieren

    - Manuell die entsprechenden ObjectIds der entsprechenden Glc Werte finden

    - Per Mongo console die entsprechenden Einträge aus der DB löschen

  • Wenn du an deine URL bei 10be noch ein /api-docs dran hängst gelangst du zur API Dokumentation, wo alle möglichen Befehle aufgelistet sind. Dort gibt es auch die Möglichkeit über den Browser direkt Queries auf die Datenbank abzufeuern, aber sei vorsichtig dabei, da kannst du dir natürlich viele Daten zerschießen.

  • Wenn wir es schon mal gerade davon haben.


    Wenn ich mit einem solchen "Befehl" mir meine Sensorglukosewerte anzeigen lasse, besteht ein gewaltiger Unterschied zwischen den Dexcomwerten und den Werten in der Datenbank.

    z.B.

    Wert Dexcom am 1.7 um 01:03 Uhr: 143 mg/dl

    Wert in der Nightscout-Datenbank am 1.7 um 00:03 Uhr: 129 mg/dl


    Das es ein paar mg Unterschied gibt, kann ich ja noch verstehen, aber so eine Abweichung in den Daten?

    Gibt es da eine Erklärung für? Die direkt angezeigten Einzelwerte stimmen überein


    LG

    zuckerstück

    Das ist mein erster Garten, ich übe noch.🐞🌼

  • YPOC: Danke Dir, das mit /api-docs funktioniert schonmal ;-)


    Hat jemand mal ein paar Beispiel-Befehle zum Löschen von

    • 1 Einzel-BZ Wert z.B. für den Zeitstempel 10.7.2021 14:35 (UTC oder MEZ)
    • allen BZ-Werten vom 10.7.2021 sagen wir zwischen 12:30 und 14:45 (UTC oder MEZ)


    Hat dafür nicht jemand schon ein Skript geschrieben wo man einfach den "Lösch-Zeitraum" eintippt/auswählt und auf "DELETE" klicken kann? Ich bin ja schon IT-affin aber etwas steinzeit-mäßig finde ich das schon sowas "simples" händisch auf die Datenbank abzufeuern... ;-) Das ist mir noch nicht geheuer ohne Beispiele und fachmännischem Zuspruch, dass das auch ohne Nebenwirkungen funzt ... ;-)


    Aber spannede Sache, Danke Euch für die Tipps! Wir schaffen das.

  • YPOC - ich glaube es gibt "fast" ein eingebautes Skript dafür, schau mal den Screenshot...


    Jetzt die entscheidende Frage: Was trage ich in die beiden Felder ein zum Löschen von

    • 1 Einzel-BZ Wert z.B. für den Zeitstempel 10.7.2021 14:35 (UTC oder MEZ)
    • allen BZ-Werten vom 10.7.2021 sagen wir zwischen 12:30 und 14:45 (UTC oder MEZ)

    Liest hier jemand mit, der das schonmal gemacht hat?



  • Ja genau das meine ich. Damit habe ich gerade auch mal herum probiert, aber zumindest bei meiner Instanz scheint es da ein Problem mit den Character Encoding zu geben, so dass es nicht so einfach funktioniert. Ich werde dazu mal ein Issue auf Github erstellen.


    Man kann das zwar per URL bedienen, allerdings kannst du so nur Einträge abrufen aber nicht löschen. Dafür müsstest du mit Curl oder ähnlichem arbeiten.

  • https: //XXXXXXX.ns.10be.de:YYYYYY/api/v1/entries


    Mit dieser URL bekommt man die letzten 10 BZ-Einträge in Textform aufgelistet. Da sieht man auch das Zeitformat. Sogar Millisekunden sind mit dabei und ein "Z" am Ende. In diesem Encoding-Format müsste das DELETE-Skript eigentlich funktionieren...


    Habe mal den letzten Wert aus meiner DB wie folgt in die Eingabemaske für den find query auf der DELETE entries Seite eingetragen:


    find[dateString][$gte]=2021-07-10T20:02:43.608Z


    Ergebnis nach dem mutigen Klick auf EXECUTE: Leider Fehlermeldung "401 Error: Unauthorized". Da muss ich vermutlich irgendwie noch mein Passwort mitschicken?


    Wo ist das denn mal mit ein paar Beispielen dokumentiert? Kann doch nicht so schwierig sein.


    Einmal editiert, zuletzt von emp00 ()

  • emp00 Du musst dafür mit einem Token authentifiziert sein. Das kannst du im NightScout Admin Panel erstellen. Aber wie gesagt, aktuell scheint ein Bug in Swagger vorzuliegen. Mit der URL https://deineSeite.ns.10be.de:deinPort/api/v1/entries/sgv?find[dateString][$gte]=2021-07-10&count=100&token=deinToken kannst du die aktuellsten 100 Einträge abrufen. Per Browser kannst du aber nur einen GET-Request schicken, nicht den von dir gewünschten DELETE-Request.


    Wenn du nur einen einzelnen Wert auswählen willst musst du zwei Daten eintragen, die also direkt vor und direkt nach diesem gewünschten Eintrag liegen. Beispielsweise https://deineSeite.ns.10be.de:deinPort/api/v1/entries/sgv?find[dateString][$gte]=2021-07-10T14:42&find[dateString][$lte]=2021-07-10T14:43&count=100&token=deinToken

  • Sn1kk3r5 : Was genau meinst Du konkret ?


    Genau das habe ich doch gemacht, nämlich unter "https: //XXXXXX.ns.10be.de:YYYYYY/api-docs/#/Entries/remove" das eingetragen was ich oben geschrieben habe.

  • Du kannst doch rechts vom querry window dein Api-Key mit angeben.


    Du musst nur eins nehmen was auch entsprechend Berechtigung hat, am besten Admin.

  • Sn1kk3r5 -- stimmt, da kann ich mich mit "api_secret" oder "token" authentifizieren...



    Aber woher bekomme ich das api_secret oder den token?? Ich mache das zum ersten Mal, sorry. In den Admin Tools gibt's das hier - aber "test" als Role funktioniert sicher nicht, muss ich da Admin eintragen? Fragen über Fragen.