Hallo,
da gerade meine Wetterstation gekommen ist, habe ich dies zum Anlass genommen, mal wieder was am Wiregate auszuprobieren (ausser Temperaturfühler anschliessen/einlesen und ein paar Versuchen mit dem Zeitschaltuhr-Plugin gehen meine Erfahrungen leider noch gegen 0).
Jetzt wollte ich schonmal CometVisu antesten, indem ich die Windgeschwindigkeit in einem Diagramm anzeigen lasse. Das hat genial einfach und schnell funktioniert.
Dafür erstmal ein grosses Lob an die Wiregate- und CometVisu-Entwickler (hat ja schon fast Plug&Play-Feeling).
Ausgangssituation:
Nun bin ich mit dem Ergebnis aber in sofern nicht ganz zufrieden, dass kurze Windböen durch den Abfrage-Intervall nicht aufgezeichnet/angezeigt werden könnten.
Da ich jetzt die nötigen Änderungen nicht irgendwo abschreiben und zusammenklauen, sondern verstehen will, hoffe ich, ihr könnt mir ein paar Fragen beantworten, deren Antwort ich auf die Schnelle nicht selbst finden konnte.
Zurück zum ursprünglichen "Problem":
Um nun auch kurzzeitige Böen erfassen zu können fallen mir folgende Möglichkeiten ein:
Bei Variante 2 hätte ich eventuell sehr oft Leerwerte, falls sich die Windgeschwindigkeit nicht ständig über 2m/s ändert. Um dem zu entgegnen, könnte ich wiederum den Sendezyklus der Wetterstation hochsetzen, was aber meiner Meinung nach eine schlechte Lösung ist.
Variante 3 scheint mir auch keine gute Lösung zu sein
Variante 4 gibt knx_read wohl nicht her
Bleibt Variante 1:
Bei Variante1 und einem RRA-Step von 300 würde ich aber extreme Maximalwerte durch die PDP-Normalisierung verlieren. Um diesen Effekt zu verringern müsste ich den RRA-Step wohl so gering wie möglich einstellen (1s?).
Alternativ könnte ich mir aber auch im Plugin 300 Sekunden lang alle reinkommenden Wind-Werte abspeichern und eine eigene Filterlogik drüberlaufen lassen, bevor ich den gewünschten Wert dann ins RRA schreibe...
Könnte man das so machen oder hab ich das RRA-Prinzip jetzt völlig falsch verstanden?
Gruß Frank
da gerade meine Wetterstation gekommen ist, habe ich dies zum Anlass genommen, mal wieder was am Wiregate auszuprobieren (ausser Temperaturfühler anschliessen/einlesen und ein paar Versuchen mit dem Zeitschaltuhr-Plugin gehen meine Erfahrungen leider noch gegen 0).
Jetzt wollte ich schonmal CometVisu antesten, indem ich die Windgeschwindigkeit in einem Diagramm anzeigen lasse. Das hat genial einfach und schnell funktioniert.
Dafür erstmal ein grosses Lob an die Wiregate- und CometVisu-Entwickler (hat ja schon fast Plug&Play-Feeling).
Ausgangssituation:
- Nach dem Vorbild von Makki's Plugin: https://knx-user-forum.de/code-schni...tenarchiv.html wird, passend zur Werteaktualisierung, nun alle 5Minuten
Code:update_rrd("Quadra_Windstaerke","",knx_read("0/1/3",300,9));
Der RRA-Step ist per Default auf 300 - Einstellung Wetterstation Windwert senden: zyklisch(5min) + Änderung (2m/s)
Nun bin ich mit dem Ergebnis aber in sofern nicht ganz zufrieden, dass kurze Windböen durch den Abfrage-Intervall nicht aufgezeichnet/angezeigt werden könnten.
Da ich jetzt die nötigen Änderungen nicht irgendwo abschreiben und zusammenklauen, sondern verstehen will, hoffe ich, ihr könnt mir ein paar Fragen beantworten, deren Antwort ich auf die Schnelle nicht selbst finden konnte.
- Nach meinem Verständnis über knx_read (https://knx-user-forum.de/forum/supp.../wiregate/6566) kann ich ja logischerweise nur den letzten(neuesten) Wert zurückbekommen, der im Cache/auf dem Bus ist, auch wenn innerhalb der Cache-Zeit mehrere Werte kamen. Ist das richtig?
- Angenommen rrdtool hätte in einem Step-Intervall 3 Werte bekommen. Dann wird im Zuge der Normalisierung daraus ein PDP gebildet (kann ich hier nicht einstellen, dass er einfach den max-Wert nehmen soll?).
- (Lediglich eine Gedankenstütze für mich selbst) Nun werden durch Konsolidierung aus den PDPs die CDPs gebildet, welche dann auch letzendlich in der Datenbank abgespeichert werden (wenn ich mich hier also für die Konsolidierung nach den Maximalwerten entscheide, kann dies nachträglich für bereits im RRA gespeicherte Daten nicht mehr geändert werden, da meine PDPs ja danach futsch sind) - deshalb werden sinnvollerweise auch für jeden Wert 12 Archive angelegt. Siehe dort: https://knx-user-forum.de/forum/supp...wiregate/12727
Zurück zum ursprünglichen "Problem":
Um nun auch kurzzeitige Böen erfassen zu können fallen mir folgende Möglichkeiten ein:
- Anstatt alle 300 Sekunden die Werte vom Bus/Cache zu lesen, per "$plugin_subscribe" an der Gruppenadresse für die Windgeschwindigkeit anmelden und bei jedem Telegramm den Wert mit "update_rrd" schreiben. Lässt man den RRA-Step auf 300, wäre es dann sicher noch zweckdienlich die Daten aus der Maximalwert-Konsolidierung anzeigen zu lassen.
- RRA manuell anlegen und Step von 300 auf 1s setzen (gehen da auch Werte kleiner 1s ?), im Diagramm für den Wochenrückblick würde ich dann auch wieder die Maximalwerte aufrufen
- Im Aufrufintervall des bisherigen Plugins(300) den kompletten Busverkehr durchforsten (das RRA für den knx-Verkehr müsste das doch hergeben?) und alle relevanten Daten ins Archiv schreiben.
- Falls knx_read nicht, wie oben vermutet, nur den letzten Wert zurückgeben kann, würden ja eh alle (normalisierten) Werte der letzten 300 Sekunden im RRA stehen und ich könnte nur die Max-Werte verwenden.
Bei Variante 2 hätte ich eventuell sehr oft Leerwerte, falls sich die Windgeschwindigkeit nicht ständig über 2m/s ändert. Um dem zu entgegnen, könnte ich wiederum den Sendezyklus der Wetterstation hochsetzen, was aber meiner Meinung nach eine schlechte Lösung ist.
Variante 3 scheint mir auch keine gute Lösung zu sein
Variante 4 gibt knx_read wohl nicht her
Bleibt Variante 1:
Bei Variante1 und einem RRA-Step von 300 würde ich aber extreme Maximalwerte durch die PDP-Normalisierung verlieren. Um diesen Effekt zu verringern müsste ich den RRA-Step wohl so gering wie möglich einstellen (1s?).
Alternativ könnte ich mir aber auch im Plugin 300 Sekunden lang alle reinkommenden Wind-Werte abspeichern und eine eigene Filterlogik drüberlaufen lassen, bevor ich den gewünschten Wert dann ins RRA schreibe...
Könnte man das so machen oder hab ich das RRA-Prinzip jetzt völlig falsch verstanden?
Gruß Frank
Kommentar