Zukünftiger AC_ADDLOGGEDVALUES Fehler

Hallo liebe Community,

Ich habe versucht, „AC_ADDLOGGEDVALUES“ für zukünftige Zeitstempel zu verwenden.
Aber anscheinend funktioniert es nur für vergangene Werte.
Hier können Sie die Testwerte und die Fehlermeldung sehen.


WhatsApp Image 2022-02-09 at 12.17.22 (1)
////
Meine Herausforderung ist; Ich habe csv-Dateien (Zeitstempel & Werte) für verschiedene steuerbare Objekte (mit Modbus), und möchte den Prozess so weit wie möglich zu automatisieren.

Meine Idee war es, zukünftige Werte (sagen wir nächste Woche) innerhalb des neu erstellten Wertes (benannt nach Wert1) zu speichern
und
eine loop zu schreiben und Modbus_WriteRegister(ID, Value1) zu verwenden.

Haben Sie eine Idee, wie ich das machen kann?

oder wissen Sie, wie man zukünftige Werte irgendwo speichern kann?

Es ist voll und ganz korrekt, dass zukünftige Werte nicht geschrieben werden können. Dafür ist die Funktion nicht vorgesehen und das würde unter der Haube auch einiges kaputt machen, da frisch geloggte Werte einfach „hinten ran gehängt“ werden.

Ich verstehe die Herausforderung leider nicht ganz. Soll in der nächsten Woche dann der Aktor passend zu den Werten aus der csv-Datei geschaltet werden oder was soll das Ergebnis sein?

Ja, wie Sie sagten, muss der Aktor in der nächsten Woche (oder am nächsten Tag) in Bezug auf die Berechnung von heute umgeschaltet werden.

Also war meine Herausforderung, einen Weg zu finden, um Variablen mit zukünftigen Zeitstempeln zu speichern, aber vielleicht brauche ich das nicht.
Die zweite Idee ist: zukünftige Werte in einem Array zu speichern und eine Schleife des ModbusRegisters mit sleep(300) zu erstellen (für die Änderung alle 5 Minuten).

Entschuldigung für die direkte „Beratungs“-Frage, aber ich glaube, Smycon hat eine einfache Möglichkeit, dies zu tun, wenn nicht, werde ich die zweite Idee versuchen.

Dankeschön

Warum nicht die dafür vorgesehenen Ereignisse nutzen?

paresy

Ich kämpfe auch immer wieder mit der Tatsache das keine Zukunftsdaten gespeichert werden können - da ich in meinen Scripten viel mit Prognosen & Trends mache um Abläufe zu optimieren (z.B. Heizungsregelung), Energieflüsse zu regeln (Akku, Auto, Wärmepumpe in Abhängigkeit vom Börsenstrompreis (Einspeisung & Bezug) und Solar-Forecast regeln) - oder aber auch einfach um meine Hobbies mit etwas Nerd-Faktor aufzupeppen (Imkerei: Vorhersage des Trachtbeginn anhand von Temperatursummen & Wettervorhersagen)

Warum kann IPS historische Daten richtig im Archiv „einsortieren“ - Live-Daten aber nicht? Wenn in der CSV schon Zukunftsdaten stehen müsste der Live-Wert halt wie ein alter Wert einsortiert werden. Nicht effizient- geht aber… und ist ja nur dann notwendig wenn zukünftige Daten gespeichert sind - alle anderen Variablen bleiben ja effizient…

Überdenkt euren Ansatz der Datenhaltung bitte nochmal - das sind halt jetzt die notwendigen Krücken wenn keine „echte“ Datenbank verwendet wird.

Und falls euch konkrete Usecases fehlen:

  • Heizungsregelung abhängig von der Wettervorhersage (z.B. Sonnendauer)
  • Akku laden abhängig von der Wettervorhersage (soll nicht zu früh voll sein - Akku schonen)
  • Akku laden abhängig vom Strompreis der Direktvermarktung (hoher Preis - hohe Einspeisung, niedriger Preis - hohe Laderate)
  • PKW laden abhängig vom Börsenstrompreis
  • Wärmepumpe abhängig von PV-Strom und Börsenstrompreis modulieren (Einspeisung und /oder Netzbezug)
  • uvm

Wenn ich das dann in Charts darstellen möchte (z.B. PV Vorhersage vs. Realität, oder aktueller Strombezug der als Forecast fortgeführt wird) benötige ich genau das: Zukunftsdaten im Archiv… und der eine oder andere spart auch Variablen oder Not-Krücken.

Viele Grüße,
Markus

4 „Gefällt mir“

Das ist einfach ein Performance-Thema. Jedes mal, wenn Daten hinzugefügt werden, werden die dazugehörigen Dateien geöffnet und von oben nach unten bearbeitet. Danach werden die Variablen auch noch reaggregiert, da sich Durchschnitte etc. natürlich ändern können. Das ist kein Problem, wenn man das selten macht, aber sehr wohl, wenn man das im Sekundentakt versucht. Die Live-Daten sind im Gegenzug auf Performance hin optimiert. Würde jetzt jedes mal geprüft werden müssen, ob Zukunftsdaten betrachtet werden müssen, rennen uns die Kunden mit sekündlichen Werten die Türen ein, weil die Performance nicht mehr bietet, was sie mal konnte.

Ich verstehe dennoch den Charme von Prognosen und Zukunftsdaten. Wir hatten da auch intern schon Anwendungsfälle für, konnten dann aber doch recht unkompliziert drum herum arbeiten. Das wäre allerdings kein angepasster Zweizeiler sondern ein umfangreicher Umbau, der aktuell nicht auf unserer Roadmap geplant ist. Daher müssten wir uns das mal im Team genauer anschauen und sehen, was man da umsetzen könnte.