Wann wird der Wert in die DB geschrieben?

Hallo!
Bin nicht sicher, ob hier richtig, komme aber einfach nicht weiter.

Wenn setvalue aufgerufen wird, aber den gleichen Wert wie bisher enthält wird dies nicht gespeichert. Grundsätzlich logisch, jedoch finde ich keine Möglichkeit dennoch den Wert zu speichern. Das solte aber möglich sein, wenn der Nutzer dies will.

Hintergrund: Jede Minute prüft ein Script ob es regnet. Wenn ja =1 wenn nein = 0 . Wenn ich diese Werte in die DB schreiben könnte wäre eine vernünftige Chartansicht möglich und die Summe für einen gewissen Zeitraum wäre die Regenzeit.

Jetzt wird aber nur gespeichert, wenn sich der Wert ändert. Beispiel im Bild, wie sich so etwas im Chart auswirkt.

Hans-Werner

Das ist so korrekt und normales Systemverhalten

…weshalb manche eine externe DB-Lösung bevorzugt haben…mit allen Pro/Contras (nicht der Ort für DB-Diskussionen!!!)

die Möglichkeit steht ihm ja offen, aber ob ihm das jetzt hilft stell ich mal in Frage :wink: Die gewünschte Auswertung bekommt er aber auch mit Bordmitteln hin. Nur nicht so komfortabel.

Also wenn es 30 Tage nicht regnet, wird auch 30 Tage nicht alle 60 Sekunden ein Wert in die DB geschrieben?

ein Wert wird nur dann in die DB geschrieben, wenn er sich ändert (Ausnahme: Neustart IPS). In Deinem Beispiel also: nein, es wird 30 Tage nichts geschrieben.
Sonst würde dir auch in Kürze die Größe der DB um die Ohren fliegen (im Sinne von Backup, Speicherplatz etc).

Das wußte ich soweit auch nicht.

Ich stand vor einiger Zeit auch vor dem Problem mit dem Regen.

Ich hatte damals das Logging für den entsprechenden 1-Wire-Ausgang aktiviert und alle 60 Sekunden eine Abfrage. Im Chart wurde der Strich dann auch entsprechend dargestellt.

Da ich auch nicht daran interessiert war, mir die Datenbank mit zig mal den gleichen Wert vollzumüllen, entschied ich mich für eine zweite Variable und dort nur bei VariablenÄNDERUNG einen Wert reinzuschreiben.

Sprich: Dieser Vorgang ist komplett überflüssig gewesen? Ich war halt nur irritiert, weil der seinen Strich „tapfer“ pro Minute in den Chart malte…

…nu sag ihm doch schon das man die Information trotzdem rausriegt.
Man muß dazu aber stundenlang im Forum suchen da die Dokumentation der AC_ Befehle seit Ewigkeiten nicht vorhanden ist…

greez
bb

Hi Tom,
eine Option, Werte nur bei Änderung in die DB zu schreiben, gibt es m.W. in IPS nicht. Vermutlich ist hier ein Trigger-Event mit Parameter „bei Änderung“ gemeint? -> das wirkt sich nur auf die Arbeitsweise des Events selbst aus, nicht auf das Logging der Daten.

Ja den Event meine ich.

Aber da ich nun dies bisherigen Werte verlieren will, muß ich es bei mir wohl jetzt so lassen.

Aber um gaaanz sicher :smiley: zu gehen:

Selbst ich jetzt durch den Trigger-Event den Value der neuen Variable pro Minute immer wieder mit dem gleichen Wert beschreibe, wird dieser nicht in die Datenbank geschrieben? Oder es ändert sich doch theoretisch die Timestamp.

Gnarf!

um gaaaanz sicher zu gehen: schau dir die Var im Archiv-Handler unter Button „Ansicht“ an
RS.net Screenshot 000 2012-10-04.png

Intern wird der letzte Timestamp der Aktualisierung abgespeichert. Somit Weißt du genau wann der Wert zuerst da war, und wie lange er bestanden hat. Und es gibt ein Counter Feld, dass dir sagt, wie oft er aktualisiert wurde.

Das sind somit eigentlich alle relevanten Informationen, um die Graphen darzustellen :slight_smile:

paresy

Wo find ich die Ansicht denn?