Ankündigung
Einklappen
Keine Ankündigung bisher.
Fragen zu KNX to RRD
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Richtig, einfach alle 5 Minuten laufen lassen ... das RRD erledigt den Rest (15m/60m/24h). Ich lasse alle 2 Minuten den Zählerstand ins RRD schreiben, dennoch wird nur der Wert um Mitternacht genommen.
-
AW: Fragen zu KNX to RRD
@iwan: Stimmt so nicht ganz. Wie ich verstanden habe, wird der Wert gemittelt, wenn rascher als der heartbeat beschrieben wird.
Lg Robert
Einen Kommentar schreiben:
-
Stimmt ja...Zitat von JuMi2006 Beitrag anzeigen"Zyklus für Datenaufzeichnung (RRD)"
Ganz ehrlich ... lass es bei 5 Minuten und gut ists ... wir reden hier über wenige kByte die sich da auf Jahre sparen lassen.
Dann müsste man wenigstens etwas einbauen, dass der Pluginzyklus nicht unter dem "Zyklus für Datenaufzeichnung (RRD)" sein kann.
Iwan
Einen Kommentar schreiben:
-
"Zyklus für Datenaufzeichnung (RRD)"
Ganz ehrlich ... lass es bei 5 Minuten und gut ists ... wir reden hier über wenige kByte die sich da auf Jahre sparen lassen.
Einen Kommentar schreiben:
-
OK, interessant ;-)Zitat von JuMi2006 Beitrag anzeigen- Cycle im Webmin auf 900s setzen
Welchen Cycle? "Zyklus für Datenaufzeichnung (RRD)" oder Globaler Sende Zyklus?
Kann man das fixen?
Wäre gut wenn das auch ohne Workarround möglich wäre!
Iwan
Einen Kommentar schreiben:
-
Das Problem liegt im wiregated.pl:
/wiregated/trunk/usr/sbin/wiregated.pl ? WireGate
Der Heartbeat bestimmt die maximale Zeitspanne zwischen 2 Werten damit der Wert gültig wird/bleibt.
Cycle wird 240 Sekunden sein. Damit wird der Heartbeat überschritten -> ungültig, nicht eingetragen.
Workaround:
- 900er RRDs löschen.
- Cycle im Webmin auf 900s setzen
- Plugin laufen lassen so dass die RRDs erstellt werden
- Cycle im Webmin wieder auf 240s setzen
Einen Kommentar schreiben:
-
Definitiv ja, ist ja auch nur für den test so eingerichtet ;-)Zitat von MicHau Beitrag anzeigenNun ja, eigentlich macht es meines Erachtens keinen Sinn, für die gleiche GA mehrere RRDs zu haben.
Ich denke einfach 15min für Temperaturen würden reichen, ich möchte nicht unnötig Datensammeln...
Evtl. meldet sich ja noch jemand von den Plugin-/RRD-Profis zu Wort...
Iwan
Einen Kommentar schreiben:
-
Dann bin ich leider überfragt. Ich bin kein RRD-Spezialist. Vielleicht kann jemand anderes helfen.Zitat von iwan Beitrag anzeigenWie es aussieht, wird bei denen mit 15min Zyklus garnichts in dir RRD geschrieben (siehe Anhang).
Einen Kommentar schreiben:
-
Nun ja, eigentlich macht es meines Erachtens keinen Sinn, für die gleiche GA mehrere RRDs zu haben.
Ich würde aus den folgenden Möglichkeiten wählen
- ein Plugin regelmäßig über die Zykluszeit aufrufen lassen und dann den Wert aus dem Cache wegschreiben
- ein Plugin an eine GA binden und bei jedem Aufruf den aktuellen Wert ins RRD schreiben. Das RRD-Tool aggregiert meines Wissen dann selbstständig richtig. Hierzu gibt es auch ein paar Plugin-Vorlagen, die das beschreiben.
Einen Kommentar schreiben:
-
Super, sowas habe ich gesucht!Zitat von MicHau Beitrag anzeigenHierzu habe ich jetzt erst mal keine Lösung, aber du kannst dir mal die RRDs zur Kontrolle im Graphengenerator anschauen unter "./wiregate/graph2.cgi" (oder auch über die Sensorenseite ganz unten erreichbar).
Wie es aussieht, wird bei denen mit 15min Zyklus garnichts in dir RRD geschrieben (siehe Anhang).
IwanAngehängte Dateien
Einen Kommentar schreiben:
-
Ah jetzt ist klar ;-)Zitat von MicHau Beitrag anzeigenDas ist einfach zu erklären.
liest den Wert aus dem Cache, egal wie alt er ist.Code:update_rrd("RRDTest_300-0","",knx_read("5/2/101",0,9));
liest den Wert aus dem Cache, wenn dieser maximal 1 Sekunde alt ist. Das passiert sicherlich eher selten, daher wird im Normalfall eine Lesetelegramm abgeschickt. Das wird sich häufig vom Wert in RRDTest_300-0 unterscheiden.Code:update_rrd("RRDTest_300-1","",knx_read("5/2/101",1,9));
liest den Wert aus dem Cache, wenn dieser maximal 300 Sekunde alt ist. Da ja gerade erst eine Lesetelegramm abgeschickt wurde für RRDTest_300-1, wird der Wert aus dem Cache genommen und ist daher immer identisch zu RRDTest_300-1.Code:update_rrd("RRDTest_300-300","",knx_read("5/2/101",300,9));
Ich hoffe, das war verständlich
Was empfiehlt sich da für ein Wert? gleich wie die Zykluszeit, damit sicher nicht nochmals der gleiche genommen wird?
Iwan
Einen Kommentar schreiben:
-
Hierzu habe ich jetzt erst mal keine Lösung, aber du kannst dir mal die RRDs zur Kontrolle im Graphengenerator anschauen unter "./wiregate/graph2.cgi" (oder auch über die Sensorenseite ganz unten erreichbar).Zitat von iwan Beitrag anzeigenIn der CometVisu bleiben die Diagramme der RRDs mit 15min Zyklus leer, die mit 5min Zyklus werden angezeigt.
Wie kommt das? Ich möchte Temeraturwerte nur alle 15min loggen.
Da kannst du auch deine selbsterstellten RRDs anschauen und die erstellten Graphen kontrollieren. Wenn es dort funktioniert, sollte es eigentlich auch in der CometVisu richtig ankommen. Eventuell musst du ein bisschen mit der Zeiteinstellung herumprobieren.
Einen Kommentar schreiben:
-
Das ist einfach zu erklären.Zitat von iwan Beitrag anzeigenIch habe bemerkt, dass bein RRDTest_300-0 und RRDTest_300-1 die Linien anders aussehen (siehe Screenshot), RRDTest_300-300 und RRDTest_300-400 sehen gleich aus wie RRDTest_300-1.
Wie ich verstanden habe bestimmt der 2. Parameter bei knx_read ob die Daten aus dem Cache gelesen werden oder ob ein Read Telegramm gesendet wird?
liest den Wert aus dem Cache, egal wie alt er ist.Code:update_rrd("RRDTest_300-0","",knx_read("5/2/101",0,9));
liest den Wert aus dem Cache, wenn dieser maximal 1 Sekunde alt ist. Das passiert sicherlich eher selten, daher wird im Normalfall eine Lesetelegramm abgeschickt. Das wird sich häufig vom Wert in RRDTest_300-0 unterscheiden.Code:update_rrd("RRDTest_300-1","",knx_read("5/2/101",1,9));
liest den Wert aus dem Cache, wenn dieser maximal 300 Sekunde alt ist. Da ja gerade erst eine Lesetelegramm abgeschickt wurde für RRDTest_300-1, wird der Wert aus dem Cache genommen und ist daher immer identisch zu RRDTest_300-1.Code:update_rrd("RRDTest_300-300","",knx_read("5/2/101",300,9));
Ich hoffe, das war verständlich
Einen Kommentar schreiben:
-
Fragen zu KNX to RRD
Hallo Zusammen
Um RRD to KNX besser zu verstehen, habe ich 2 Plugins eingerichtet welche Werte in RRD schreiben:
RRDTest_300
Liest die Werte alle 5min.Code:$plugin_info{$plugname.'_cycle'} = 300; update_rrd("RRDTest_300-0","",knx_read("5/2/101",0,9)); update_rrd("RRDTest_300-1","",knx_read("5/2/101",1,9)); update_rrd("RRDTest_300-300","",knx_read("5/2/101",300,9)); update_rrd("RRDTest_300-400","",knx_read("5/2/101",400,9));
RRDTest_900:
Liest die Werte alle 15min.Code:$plugin_info{$plugname.'_cycle'} = 900; update_rrd("RRDTest_900-0","",knx_read("5/2/101",0,9)); update_rrd("RRDTest_900-1","",knx_read("5/2/101",1,9)); update_rrd("RRDTest_900-300","",knx_read("5/2/101",300,9)); update_rrd("RRDTest_900-900","",knx_read("5/2/101",900,9)); update_rrd("RRDTest_900-1000","",knx_read("5/2/101",1000,9));
In der CometVisu bleiben die Diagramme der RRDs mit 15min Zyklus leer, die mit 5min Zyklus werden angezeigt.
Wie kommt das? Ich möchte Temeraturwerte nur alle 15min loggen.
Ich habe bemerkt, dass bein RRDTest_300-0 und RRDTest_300-1 die Linien anders aussehen (siehe Screenshot), RRDTest_300-300 und RRDTest_300-400 sehen gleich aus wie RRDTest_300-1.
Wie ich verstanden habe bestimmt der 2. Parameter bei knx_read ob die Daten aus dem Cache gelesen werden oder ob ein Read Telegramm gesendet wird?
Grüsse
IwanAngehängte DateienStichworte: -


Einen Kommentar schreiben: