Archivdaten ändern bevor gespeichert wird

Hallo,

wenn meine onewire-Kommunikation gestört ist, dann laufen die Impulse für die Leistungsmessung auf und ich habe plötzlich eine sehr hohe Etagenleistung, die das ganze Diagramm verzerren. Ich bin es leid, diese Werte dann im Archiv manuell zu löschen.
Meine Frage: gibt es eine Möglichkeit den Wert vor dem Speichern abzufangen und auf einen anderen Wert zu setzen. Ich habe es mit einem „Ereignis:ausgelöst“ versucht. Der Leistungswert wird geprüft und bei Überschreitung eines Maximalwertes geändert. Der geänderte Wert wird dann auch korrekt gespeichert - leider ist der überhöhte Ursprungswert dann aber auch schon gespeichert.

Ich habe hier von 2016 ein Skript von jemanden gefunden, der ein ähnliches Problem dadurch löste, das er in zeitlichen Abständen mit einem Skript die Excel-Dateien anpasste.

Wer hat eine Idee, den überhöhten Wert sofort „anzugleichen“ - bevor der überhöhte Wert gespeichert wird …

Viele Grüße
Mikesch

Es gibt ein sog. Entkopplermodul. Das könnte dir helfen. Villeicht kann man dort Bedinungen für das Update einbauen.
Letztendlich läuft es darauf hinauf, dass du eine zweite Variable benötigst, die ins Archiv kommt. Und wenn du da ein Skript dazwischen schaltest (welches bei Änderung der onewire-Variable angestoßen wird), kannst du dort in dem Skript abfragen, ob die Werte plausibel sind und wenn ja, schreibst du den Wert in die Variable für das Archiv und somit auch ins Archiv. Das ganze geht auch sehr einfach mit einem Ablaufplan oder einem Logikplan (da bin ich aber raus :wink: ).

Danke für die schnelle Antwort. Was verstehst Du hier als „Entkopplermodul“? Wo finde ich es?

Ich benötige etwas, was zwischen Variablenänderung und Speicherung dieser greift.

Viele Grüße
Mikesch

Schau mal hier, das ist für solche Zwecke gebaut worden:

Wir ersuchen aber @paresy in einem anderen Thread auch gerade drum krumme Werte bereits vor der Übernahme ins Archiv rausfiltern zu können damit diese gar nicht erst gespeichert werden.
Dies wäre auch so ein Beispiel.

Danke allen, die bereits geantwortet haben,

ich habe mal den Entkoppler getestet und es scheint zu funktionieren. Dank an Volkerm. Werde die Funktion in alle Variable, die falsche Werte liefern könnten, jetzt einbauen.

@ habre: Schön wäre es natürlich, wenn der Wert noch vor dem Speichern direkt verändert oder verhindert werden könnte (ohne extra Variable), dann sind diese korrigierten Daten auch im selben Datenfile. Jetzt habe ich eine zweite Variable und muss im Diagramm beide Werte einfügen. Ich weis noch nicht, wie das mit der Historie dann aussieht. Ich müsste wohl alle gespeicherten Daten der ersten Variablen in die zweite kopieren.

Viele Grüße
Mikesch

Dafür gibt es die Möglichkeit im Archiv, die Daten von einer auf eine andere Variable zu übertragen. Dazu musst du aber zuerst bei der Zielvariable die Archivierung deaktiveren, glaub ich. Probiers einfach.

Dabei werden sie aber in der alten Variablen gelöscht.

Alternativ kannst du ein Skript benutzen:

Was in dem Fall, bei einer neuen Variable, egal wäre.

https://community.symcon.de/t/minus-werte-im-archiv/138879/12