Löschen einzelner Werte möglich?

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
TriLogiX
Beiträge: 4
Registriert: 26.12.2014, 17:56

Löschen einzelner Werte möglich?

Beitrag von TriLogiX » 22.02.2016, 12:51

Hallo,

wie kann ich einzelne "Ausreißer" in den Werten löschen?

Per PC-Applikation beschreibe ich Systemvariable von extern, so dass sich schon das ein oder andere Mal fehlerhafte Werte einschleichen.

Viele Grüße,

Max

duffy6
Beiträge: 184
Registriert: 14.03.2017, 10:29
Hat sich bedankt: 29 Mal
Danksagung erhalten: 1 Mal

Re: Löschen einzelner Werte möglich?

Beitrag von duffy6 » 29.11.2020, 10:09

Hast du mittlerweile einen Weg gefunden?

Gruß
Duffy6
——-
Raspberrymatic auf einem Raspi 3B, Funkmodul HM-MOD-RPI-PCB

Benutzeravatar
Baxxy
Beiträge: 10779
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: Löschen einzelner Werte möglich?

Beitrag von Baxxy » 29.11.2020, 10:19

duffy6 hat geschrieben:
29.11.2020, 10:09
einen Weg
Wo ist das Problem?
  • Zuerst notiert man sich den genauen Zeitpunkt der "Ausreißer" auf einen Zettel (TT.MM.JJJJ hh:mm:ss)...
  • dann Datenpunktliste --> den Datenpunkt mit den "Ausreißern" auswählen --> Werkzeuge
  • dann Zeitbereich löschen auswählen und den notierten Zeitpunkt (- ein paar Sekunden ) bei "Beginnzeitpunkt" und (+ ein paar Sekunden ) bei "Endzeitpunkt" eintragen
  • Zeitbereich löschen anklicken... fertig

duffy6
Beiträge: 184
Registriert: 14.03.2017, 10:29
Hat sich bedankt: 29 Mal
Danksagung erhalten: 1 Mal

Re: Löschen einzelner Werte möglich?

Beitrag von duffy6 » 29.11.2020, 10:27

Danke für den Tipp!

Ich suche einen Weg um Werte zu löschen, die genau den Wert „0“ haben.
Das geschieht realtiv oft, sodass das Löschen über Timecodes langwierig ist.
Gibt es da einen anderen (komfortablen) Weg?
——-
Raspberrymatic auf einem Raspi 3B, Funkmodul HM-MOD-RPI-PCB

Mathias
Beiträge: 1783
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: Löschen einzelner Werte möglich?

Beitrag von Mathias » 29.11.2020, 22:15

Über Werkzeuge Skriptumgebung ist fast alles möglich.

Achtung: Unbedingt vorher ein Backup der Datenbank erstellen!

Code: Alles auswählen

// Zeitbereich
begin=Date.parse("dd.MM.yyyy", "28.04.2020")
end=Date.parse("dd.MM.yyyy", "30.04.2020")
println "Anfang: $begin"
println "Ende: $end"

// Historian-ID vom Datenpunkt
dataPointID=27
dataPoint=database.getDataPoint(dataPointID)
println "Datenpunkt: $dataPoint.displayName"

// Zeitreihe laden
timeSeries=database.getTimeSeriesRaw(dataPoint, begin, end)
println "Einträge: $timeSeries.size"

// Zeitreihe filtern (Beispiel: Alle Werte<40 sollen gelöscht werden.)
filteredTimeSeries=new mdz.hc.timeseries.TimeSeries(dataPoint)
timeSeries.each { entry ->
    // Wert OK?
    if (entry.value>=40) {
        // dann übernehmen
        filteredTimeSeries.add(entry)
    }
}
println "Gefilterte Einträge: $filteredTimeSeries.size"

// Zeitbereich ersetzen
database.replaceTimeSeries(dataPoint, filteredTimeSeries, begin, end)

duffy6
Beiträge: 184
Registriert: 14.03.2017, 10:29
Hat sich bedankt: 29 Mal
Danksagung erhalten: 1 Mal

Re: Löschen einzelner Werte möglich?

Beitrag von duffy6 » 30.11.2020, 12:12

Danke!!!

Aber vorsicht an alle DAUs, dass es Euch nicht wie mir geht!

Dass es ein Größer-Zeichen und Kleiner-Zeichen gibt hat seinen Sinn!
Ich wollte bspw. alle Werte entfernen, die Null sind und habe statt „>=40“ „==0“ angegeben mit dem Effekt, dass die ganze Datenreihe des Datenpunktes genullt wurde!

Wie hätte ich es denn machen müssen? Also eine „Ungleich Null“ Bedingung)
Hab aber natürlich ein Backup gemacht vorher :-)
——-
Raspberrymatic auf einem Raspi 3B, Funkmodul HM-MOD-RPI-PCB

Benutzeravatar
Baxxy
Beiträge: 10779
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: Löschen einzelner Werte möglich?

Beitrag von Baxxy » 30.11.2020, 13:12

duffy6 hat geschrieben:
30.11.2020, 12:12
Wie hätte ich es denn machen müssen?
Ohne jetzt sicher zu sein... !
Ich denke

Code: Alles auswählen

if (entry.value>0)
müsste passen.
Damit sollten alle Werte >0 behalten werden, der Rest fliegt raus.

duffy6
Beiträge: 184
Registriert: 14.03.2017, 10:29
Hat sich bedankt: 29 Mal
Danksagung erhalten: 1 Mal

Re: Löschen einzelner Werte möglich?

Beitrag von duffy6 » 30.11.2020, 13:23

Die Werte kleiner Null will ich ja auch behalten, nur eben die Nullwerte nicht!
——-
Raspberrymatic auf einem Raspi 3B, Funkmodul HM-MOD-RPI-PCB

Benutzeravatar
Baxxy
Beiträge: 10779
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: Löschen einzelner Werte möglich?

Beitrag von Baxxy » 30.11.2020, 13:28

duffy6 hat geschrieben:
30.11.2020, 13:23
Die Werte kleiner Null will ich ja auch behalten, nur eben die Nullwerte nicht!
Ach herrje, Negativwerte gibt es auch noch. :wink:
Dann vielleicht...

Code: Alles auswählen

if (entry.value!=0)

Antworten

Zurück zu „CCU-Historian“