Archiv selbst bearbeiten

Das ist jetzt eher eine Frage an die Entwickler!

Da mir beim Archiv einige Funktionen fehlen, bin ich versucht das Archiv mit eigenem Code zu bearbeiten.
Welche gefahren bestehen dabei bzw. gibt es Randbedingungen unter denen ich das gefahrlos machen kann?

Solange IP-Symcon aus ist, kannst du gerne alle Daten bearbeiten und IP-Symcon liest die beim Start ein, sofern diese korrekt sind. Rohdatenänderungen bedeuten, dass du die Variable neu aggregieren musst. Wenn IP-Symcon läuft würde ich davon abraten Änderungen an den Rohdaten zum aktuellen Monat zu machen, da ansonsten Zugriffsprobleme auftreten können.

Was genau vermisst du?

paresy

Würde es auch Probleme geben wenn ich vor dem Ändern der Daten das Loggen der Variablen abschalten würde und danach wieder ein.

Ich vermisse Funktionen zum Einpflegen von Daten incl. Zeitstempel.

Ich möchte Daten ins Archiv speichern, die ich aber erst einen Tag später bekomme.

Das Ganze wäre auch Sinnvoll wenn ich etwas bestehendes in IPS intergiere und die vorhandenen Daten importieren möchte.

Eine weitere Anwendung wäre das nachträgliche Erzeugen berechneter Daten um sie dann in einer Chart darstellen zu können. Die Charts können ja leider keine berechneten Kanäle.

Das wird von verschiedenen Seiten vermisst. Zum Beispiel auch hier.

Eine AC_WriteLogValue() Funktion wäre schon cool.

Moin,

ja, das geht mir genauso siehe Übernahme von älteren externen Daten ins Archiv mit dem Origirnal Zeitstempel

Letztendlich musste ich die CSV Dateien erzeugen, damit das Ganze funktionierte :frowning:

Gruß
Hans

Ein schönes Modul wäre sicher der Renner.

Gesendet von iPhone mit Tapatalk

Machbar ist da bestimmt was.
Grundsätzlich wohl auch nicht sooo aufwändig.
Aber mir graut es vor den Nebeneffekten welche man alle bedenken muss.
Von der Aggregationen bis hin zum testen aller Szenarien.
Vielleicht wenn ich Mal wieder eine Tüte Zeit habe.
Bei dem MySql-Archiv von mir könnte ich das sofort einbauen. Hier werden die aggregierten Daten von der Datenbank in Echtzeit erzeugt :wink:
Michael

Aber ist das nicht von hinten durch die Brust ins Auge? Letztendlich fehlt doch nur eine IPS Funktion zum Schreiben…

Ich kann Symcon da durchaus verstehen.
Das Archiv ist ja ein Logging der eintreffenden Daten, nachträgliche Schreiben verfälscht also die Datenintegrität.
So etwas also ab Werk für jeden normalen Nutzer anzubieten würde ich auch nicht machen.
Eigentlich müsste man hier sagen… Pech auch dir Hardware welche die Daten häufiger, ich Echtzeit… What ever liefert.

Blöd halt für die User welche Daten z.B. von einer externen Quelle mit Zeitstempel laden und integrieren wollen.
Michael

Aber das war doch genau die damalige große Lobpreisung der Umstellung auf die Einzeldateien.
Merkwürdig, dass das nun als Problem verkauft wird.

Gesendet von iPhone mit Tapatalk

Ein schönes Modul wäre sicher der Renner.

Das wäre sicher eine feine Sache.
Was mir in diesem Zusammenhang auch wieder einfällt wäre eine Filterung der Daten bevor sie in die „Datenbank“ geschrieben werden.
z.B.

  • schreibe Werte wenn um mehr als …% vom Vorwert abweicht oder letzter Wert mindestens 1 min alt ist
  • schreibe Werte wenn er z.B. absolut um mindestens 0,1 vom Vorwert abweicht
    usw.

Ich denke hier könnten viele ihre aufgezeichneten Daten schon im Vorfeld erheblich reduzieren.
Ohne das aufwendig über Scripte und Hilfsvariablen zu lösen.

oder zum Beispiele eine automatische Komprimierung von Zählern.
bestes Beispiel wäre eine Verbrauchszähler der alle paar Senkunden einen neuen Wert liefert.
Nach mehreren Monaten ist diese hohe Auflösung meist nicht mehr erfoderlich.

Da reicht es zum Beispiel wenn von einem Stromzähler noch jede Stunde ein Wert in der Datenbank (Rohdaten) steht.

René

Sofern du in die Variable niemals etwas seitens IP-Symcon schreibst, kannst du die Daten auch zur Laufzeit problemlos in die CSVs schreiben und dann eine Aggregation ausführen.

paresy

Hallo paresy,

„Niemals“ ist eine harte Forderung. Nachfrage dazu: Öffnet IPS die Datei immer nur kurzfristig, um den Wert zu schreiben, und schliesst sie dann wieder? Wäre der externe Dateizugriff also sicher, wenn man in IPS temporär das Logging der Variablen abschaltet?

Viele Grüße
Volker

Nein. Das ist nicht ausreichend, da die Daten zur Zeit alle 60 Sekunden gesammelt auf die Festplatte geschrieben werden. Wenn du das Logging deaktivierst, kann es jedoch sein, dass noch Daten gesammelt wurden, welche geschrieben werden müssen. Somit müsstest du nach dem Deaktivieren mindestens 1 Minuten warten, damit du sicher alle Daten auf der Platte hast. (Lieber etwas mehr, da es ja ggf. I/O Verzögerung geben kann…)

paresy

Vielleicht denke ich zu einfach aber ihr redet doch hier von Daten am gleichen Tag.
Der überwiegende Anwendungsfall wäre doch nicht der aktuelle Tag, sondern die aus der Vergangenheit.
Den aktuellen Tag kann ich sperren und nach Abschluss der Änderungen die Variable neu zu aggregieren sollte ja auch nicht unüberwindbar sein.

Gesendet von iPhone mit Tapatalk

Leider ist das so nicht richtig, da die Daten in einer Datei pro Monat gesichert werden. Und der Zugriff auf diese Monats-Datei ist somit das Problem. Anpassungen vom vorherigen Monat (Wichtig: Zeitzone GMT beachten!) wären problemlos möglich.

paresy

Stimmt, es waren ja monatsweise aber wie von Dir bestätigt, passt die Überlegung schon.

Gesendet von iPhone mit Tapatalk