Nachträgliche Änderung / Hinzufügen von Variablen in Archive Control

Hallo zusammen

Ich lese alle 1h ein Log-File betreffend dem Stromverbrauch meiner Wärmepumpe aus und möchte die Daten in IP-Symcon zwecks Visualisierung loggen. Das Logfile beinhaltet die Daten alle 5 Minuten. Wie kann ich es anstellen, dass ich alle 1h die 5-Minuten-Werte des Stromverbrauchs in der letzten Stunde im ArchiveControl loggen kann ? Das Problem ist ja, dass ich nachträglich die Daten eintragen muss und daher auch einen Zeitstempel in der Vergangenheit bei der Variablenänderung definieren sollte. Geht das überhaupt ?

Das Logfile alle 5-Minuten auszulesen, dürfte dem Betreiber der Webseite (ist eine externe Firma) nicht unbedingt gefallen, denn eine automatisierte Datenabfrage ist nicht vorgesehen.

Besten Dank für eure Inputs.

Gruss Letraz

Hi Letraz,

das klingt, als dürfest du dort keine Daten auslesen, deshalb nur ein kleiner Hinweis:
> Bis inkl. IPS 3.4 ist es eine SQL Datenbank, wo du direkt dann deine Daten einpflegen müsstest (SQL Kenntnisse notwendig)
> Ab IPS 4.0 ist die Datenbank in CSV abgebildet. Dort müsstest du dann die CSV nachträglich um deine Werte ergänzen

ABER es ist NICHT ratsam in der IPS Datenbank rumzufummeln, außer du weißt sehr genau was du machst! Sonst hattest du mal ein funktionierendes IPS :smiley:

Grüße,
Chris

Hi Chris

Danke für deine Antwort. Naja ich darf die Daten schon abfragen, nur habe ich keinen API-Zugriff zur Verfügung für den „einfachen“ automatischen Datenabruf. Ich musste mit CURL den Webseiten-Aufruf inkl. Einloggen und navigieren nachbauen um an die Daten zu kommen. Da der Server CSRF-Token verwendet, war die Sache nicht in 5 Minuten erledigt (oder anders ausgedrückt: Ich konnte nicht einfach einen Link aufrufen und die Daten abgreifen). Von daher ist ein Abrufen der Daten alle 5 Minuten nicht so der Brüller. Aber das ist ja jetzt nicht das Thema.

Du hast Recht, ich werde tunlichst vermeiden meine laufende IP-Symcon-Installation durch Fummeln an der Datenbank zu zerschiessen.

Ich muss mir daher anderweitige Lösungen überlegen. Bsp. wäre das Abrufen alle 1 Stunde und zusammenzählen der 5-Minuten-Werte eine Lösung. Dann kann ich alle 1h den totalen Stromverbrauch der jeweils letzten Stunde loggen. Mal sehen, das reicht vielleicht auch schon für meine Zwecke.

Gruss Letraz

Auch wenns keiner hören will …

Logg in eine MySQL. Da kannst du loggen und abfragen was Du willst.

Mach ich seit Jahren so.

Auswertung mit Highcharts. Auch da bekommst du was du abgefragt hast.

Warum „auch wenn es keiner hören will“? Wenn du weißt was du machst, dann kannst du machen was du willst :slight_smile:

Nur sollte man so etwas nicht machen, wenn man keine Ahnung… Man sollte als nicht Elektriker auch nicht an 230V gehen und trotzdem machen es viele. Aber wenn was passiert, dann darf man sich halt auch nicht „beschweren“ :smiley:

Grüße,
Chris

Auch wenns keiner hören will …

ich hab vor einigen Zeiten schon öfters solche Kommentarte geschrieben und nie ein Feedback bekommen …

Habs mir dann lange Zeit verkniffen auf derartige Posts zu antworten.

Hab mich halt heute wieder dazu hinreissen lassen …

Ende OT

Hallo Wolfgang

Damit dein Post nicht unbeantwortet bleibt :slight_smile:

Das Loggen in eine MySQL-Datanebank ist an und für sich eine gute Idee. Das kriege ich auch hin und nutze es ebenfalls seit Jahren ausserhalb von IP-Symcon. Allerdings dachte ich eher, wenn IP-Symcon schon eine Logging-Möglichkeit bietet gleich diese zu nutzen und nicht von einem weiteren „Fremd“-System abhängig zu sein.

Gruss Letraz

Nachdems dich interssiert …

Gründe für das Logging in eine MySQL:

  • ich kann verschiedne Aggregationsstufen (stündlich, täglich, monatlich …) in verschiedene Tabellen schreiben und damit die Auswertung beschleunigen. Wenn ich verschiedne Variablen zu einem Zeitpunkt in eine MySQL schreibe (oder nachträglich aktualisiere) kann ich einen bestimmten Zeitpunkt mitgeben / aktualisiseren und somit später mit HighCharts verscheidene Daten für einen Daten/Zeitpunkt (auch im ToolTipp) darstellen.
  • ich kann die vorgehaltenen Datensätze je nach Sinn (in 6 Monaten interssieren keinen mehr die 5-MinutenDaten wohl aber noch die Tagesdaten) per Script limitieren (wie in IPS mit dem RD DB Analyzer, dens aber wohl in IPS 4 nicht mehr geben wird) um 1. die Sicherung kein zu halten und 2. schnell auf die Daten zugreifen zu können.
  • ich kann bei Bedarf verschiedene Tabellen verknüpfen und Daten daraus abfragen.
  • ich kann die Daten in HighCharts so darstellen wie ich will.

Sprich:
Kruzfristige Daten (max 1 Mon.) logge ich in IPS für super schnellen Datenzugriff. Meine DB ist mit 300 (auch minütlich) geolggten Variablen noch immer unter 500MB. (alle 3 - 6 Monate räum ich die IPS-DB mit sqliteadmin durch eine Reag auf.)
Langfristige Daten logge ich prallel dazu in MySQL in verschiedenen Aggregationsstufen. Die grösse meiner IPS MySQL ist 180 MB.

Zudem: wenn du je Dein System wechseln wolltest, bleiben Deine Daten (Langfristige Verbrauchs / Wetter-Daten …) weiter einfach verfügbar.

Bitte jetzt nicht falsch verstehen. Ich hab diverse Threats zumThema „native SQL einbindung in IPS“ gelesen und verstehe die Politik von IPS warum sie das nicht umsetzen wollen. Daher bin ich dankbar, dass uns usern trotzdem die Freiheit lassen das selber zu realisieren.

Ich bin jetzt nich der Scripting Guru, aber im Vergleich mit JS fällt mir MySQL leicht. Zudem gibt es umfanreiche Hilfe im Internet. Hab damit auch komplexe und dennoch performante Abfragen hinbekommen.

Ich muss nochmal nachfragen ob man einen einmal geloggten Wert nachträglich ändern kann?
Hintergrund: am Monatsende lese ich immer den Strom- und Wasserverbrauch ab und logge diese Werte. Manchmal schaffe ich es zeitlich einfach nicht, z.B. Urlaub usw. Dann verfälscht ein zu spätes eintragen den Monats- bzw. Jahreswert :frowning:

Wenn man den Wert nachträglich ändern könnte würde ich automatisch am Monatsende ein Dummy loggen und nachträglich korrigieren - nicht schön aber selten :wink:

Aber vielleicht denke ich wieder zu kompliziert?!?

Hi! Siehe rund 8 Posts zurück, da habe ich die Möglichkeiten von IPS 3.4 und ab IPS 4 genannt. Und danach wurde noch eine weitere Möglichkeit genannt. Mehr kann man dazu nicht sagen…

Grüße,
Chris

Okay, sorry wollte nur die „absolute“ Klarstellung bekommen - mit Bordmitteln geht es nicht. Mann muss an die DB ran :frowning:

Es ging mir auch nur um das ÄNDERN von Werten, nicht um das Anlegen usw.

Danke für die schnelle Antwort!