LoxBerry: Statistik Plugin - Diskussion

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Prof.Mobilux
    kommentierte 's Antwort
    Aha.

  • Christian Fenzl
    antwortet
    Hannes Schellnast
    Dein Input ist willkommen! Zu deinen Punkten.
    Grundsätzlich möchte ich die eigentliche Problematik nochmal herausstreichen:
    Das Problem ist nicht Speicherplatz! Selbst wenn man die Minutenwerte für 10 Jahre speichert, sind das gerade mal ca. 40 MB.
    Das Problem ist immer die Aufbereitung für die Visualisierung!

    Möchte ich aus diesem minutenweisen Dataset ein Monat anzeigen, sind das ca. 43.000 Datenpunkte.
    Will ich die Tagesdurchschnittstemperaturen vom Jahr 2015 anzeigen, müssten 525.000 Datensätze gelesen und dann noch tageweise gemittelt werden.
    Mit RRDTool werden bei dieser Abfrage - mit meinen Vorgaben für die Standardeinstellung - exakt 365 Datensätze gelesen, und die sind schon gemittelt.

    Das eventbasierte Aufzeichnen ist grundsätzlich eine gute Idee, hat aber im Zusammenhang mit Loxone einige Nachteile:
    Dieses Event muss dann vom Miniserver ausgelöst werden. Schon alleine das Anlegen eines virtuellen Ausgangs zum Senden eines Wertes ist schon ziemlich lästig und fehleranfällig.
    Um in Loxone einen Zyklus (z.B. 5 Minuten) zu implementieren, sind pro Wert schon zusätzliche Funktionsbausteine nötig (Impulsgeber, Analogspeicher).
    Um dann noch eine Logik einzubauen, die Schwellen definiert, ab der mehr oder weniger gesendet werden soll, wäre pro Wert so aufwändig, dass man es besser gleich sein lässt.
    Daher haben wir das Pushen der Werte von Loxone gleich ad acta gelegt, weil für die Anwender das viel zu aufwändig wäre.

    Bezüglich der eventbasierten Aufzeichnung gäbe es dann auch auf der Empfängerseite Probleme:
    Das RRDTool kann das schon mal grundsätzlich gar nicht - hier muss der Zyklus eingehalten werden.
    Wenn eine andere Datenbank verwendet wird, die ein "Heartbeat" nicht berücksichtigt, gibt es meist wieder bei der Visualisierung Probleme. Zum einen - woher weiß ich, dass sich der Wert nicht geändert hat, oder ist vielleicht der Miniserver ausgefallen, oder die Netzwerkverbindung unterbrochen? Dann kann es ein Problem bei der Visualisierungssoftware geben, die zyklische Werte erwartet, oder dann zwischen zwei Werten interpoliert (um 8;00 Uhr war 14 Gead, um 12:00 Uhr war 20°, um 18:00 Uhr ist 10° - was macht die Visu draus? Was ist der Mittelwert?). Das muss dann auch wieder berücksichtigt werden.

    Am kompatibelsten sind jedenfalls zyklusbasierte Datenspeicherungen, und Platz ist wie gesagt kein Problem.

    lg, Christian
    Zuletzt geändert von Christian Fenzl; 04.11.2016, 13:52.

    Einen Kommentar schreiben:


  • svethi
    kommentierte 's Antwort
    Warst nicht Du es, der schrieb das Du die Daten in einer CSV hast? Naja, da stehen die als Text und belegen sicher mehr Speicher als in der DB mit Wertefeldern. Ebenso ist das Abrufen der Werten, gerade über einen so langen Zeitraum, sicher effizienter über eine DB. Was hast Du da dagegen?
    Klar ist eigentlich leider auch, dass der Raspi mit seiner SD-Karte ebensowenig für solche Dinge gemacht ist wie der MiniServer

  • Robert L.
    kommentierte 's Antwort
    ok, du willst mich nicht verstehen,
    lasen wir es..

  • Prof.Mobilux
    antwortet
    Zitat von Robert L.
    das "erst machen dann denken" bezog sich auf folgendes Posting:
    genauer auf
    >>Min und Max Werte wären schön - gerade beim Wetter. Aber das ist ne andere Diskussion
    das hab ich auch so zitiert..
    (warum sich hier plötzlich "alle" betroffen fühlen ist mir schleierhaft)
    Ja, weil wir uns genau über diesen Punkt bereits Gedanken gemacht haben und beschlossen haben, sowohl AVG als auch Min und Max immer zu speichern. Das kannst Du oben alles nachlesen wenn Du möchtest.

    Und nein: Ich bin weder beleidigt noch betroffen ;-) Aber wenn einem so etwas schon zu unrecht vorgeworfen wird, dann musst Du auch damit leben, dass wir Dir erläutern, dass Du falsch liegst.

    >Robert steuert sicherlich den entsprechenden Code bei ;-)

    nein, weil ich es nicht in eine SQL DB schreiben würde, .. steht aber auch alles weiter oben..
    Kannst ja auch etwas anderes nehmen. Ich schlage vor, Du machst Dir erstmal Gedanken darüber ;-)

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Also da ich wohl mit den Min/Max Werte hier den Einstieg gegeben habe: zum einen war das nicht als Begrenzung gedacht sondern als "Hey, das war die maximale Luftfeuchtigkeit, die wir je in dem Raum hatten." oder "Wow, dieser Sommer hat einen neuen Hitzerekord bei mir daheim aufgestellt." Da geht es nur um einen Indikator, was der maximale Werte eines Sensors war, der jemals (seit Aufzeichnungen mit dem Statistik-Plugin gemacht wurden).

    Ich selbst kenne mich viel zu wenig mit RRdTool aus, als das ich hier irgendjemand irgendwas empfehlen könnte. Meine Stärken liegen in anderen Bereichen. Daher seht es bitte als Feature-Vorschlag und nicht als Kritik an eurer Arbeit. Ich persönlich freue mich sehr auf das Plugin und habe großen Respekt vor eurer Programmierleistung. Ich kann zwar nur rudimentär programmieren, weiß aber sehr genau, wie schwer das sein kann!

    Einen Kommentar schreiben:


  • Robert L.
    antwortet
    >Aaaaaalso, Kritik ist erlaubt, uns zu unterstellen, dass wir nicht nachgedacht hätten, nicht.

    das "erst machen dann denken" bezog sich auf folgendes Posting:

    Moin zusammen, ich möchte mich daran machen ein Statistik-Plugin für den LoxBerry zu erstellen. Es gibt/gab ja schon viele Versuche hier im Forum das


    genauer auf
    >>Min und Max Werte wären schön - gerade beim Wetter. Aber das ist ne andere Diskussion

    das hab ich auch so zitiert..
    (warum sich hier plötzlich "alle" betroffen fühlen ist mir schleierhaft)

    wenn man das machen WÜRDE (also nur AVG speichern, im RRD , ..)
    wird man sich später über die verlorenenden Daten ärgern.
    (so wie man sich bei der Loxone statistik eben auch ärgert, dass es nur "mittelwert über 5, 10, 30 " usw. gibt aber keine min/max über diese zeit

    Mein Vorschlag wäre sicher die bessere Lösung, dass ihr/wir keine Resourcen dafür haben ist auch klar.. (ist halt wie bei loxone ;-))



    >aber bei mir gehört das Editieren von irgendwelchen Statisitiken der letzten 20 Jahre nicht dazu

    meines auch nicht, aber nach Stromausfall z.b.

    (https://loxfeedback.uservoice.com/fo...en-k%C3%B6nnen)


    >Robert steuert sicherlich den entsprechenden Code bei ;-)

    nein, weil ich es nicht in eine SQL DB schreiben würde, .. steht aber auch alles weiter oben..

    Einen Kommentar schreiben:


  • Prof.Mobilux
    antwortet
    Aaaaaalso, Kritik ist erlaubt, uns zu unterstellen, dass wir nicht nachgedacht hätten, nicht.

    Ich weiß nicht was ihr in eurer Freizeit so treibt, aber bei mir gehört das Editieren von irgendwelchen Statisitiken der letzten 20 Jahre nicht dazu. Aber jeder hat andere Hobbies... Das RRdTool bietet auf jeden Fall die MinMax Begrenzung, damit dürften Ausreißer zu einem großen Teil schon mal erledigt sein. Ein Export in XML, CSV oder ähnlich ist ebenfalls jederzeit möglich.

    Und ja: später noch die Möglichkeit zu schaffen jeden Wert parallel in eine SQL DB zu feuern ist simpel. Robert steuert sicherlich den entsprechenden Code bei ;-)

    Einen Kommentar schreiben:


  • Hannes Schellnast
    antwortet
    Brainstorming von meiner Seite: Wäre vielleicht auch zu überlegen, ob neben der zyklusgetriebenen Aufzeichnung auch eine von Events getriebene Aufzeichnung sinnvoll wäre. Das RRD-Tool basiert (so nehme ich an) auf zyklischen Samplewerten. Vielleicht gibt es auch einige Usecases, bei denen über eine eventgetriebenen Aufzeichnungsmethode Speicher gespart werden könnte. Bsp. Ein Signalverlauf ändert sich über Stunden nicht, und dann gibt es plötzliche Signalschwankungen, die für den User über eine kurze Zeitspanne interessant sein könnten. Ev. könnte es auch interessant sein, eine gewisse Bandbreite vorzugeben, und die Werte erst dann aufzuzeichnen, sobald der Messwert über diese Toleranzschwelle rausfährt.
    Eine genaue Abschätzung der Datenmenge wäre bei der eventbasierten Datenaufzeichnung natürlich nicht möglich, jedoch kann bei einigen Anwendungen sicher viel Speicher eingespart werden.
    Jede dieser Datenaufzeichnungsmethoden hat ihre Vor- u. Nachteile. Deshalb wäre es optimal, wenn der User für verschiedene Anwendungen verschiedenen Methoden zur Speicherung wählen könnte.
    MfG
    Hannes

    Einen Kommentar schreiben:


  • Robert L.
    kommentierte 's Antwort
    könnte ich ja, hab abere andere Prioritäten ;-)

    na, ernsthaft, a bisserl kritik wird "man" ja wohl noch vertragen...

    gerade das editieren von "Ausreißern" ist ja jetzt nicht auf meinem Mist gewachsen, sondern eines der Hauptkritikpunkte an loxone statistiken..



    zum Archiv: ich hab z.B. alle Heizungswerte (30 werte ca. ) ,ok nur 5 Minütig, aber viel mehr gibt die alte Anlage nicht her,
    seit ca. 8 Jahren gespeichert (auch) als csv
    da geht es aber um Megabyte größen, nicht um Gigabyte (das ist also vernachlässigbar)



    ich könnte also ganz einfach die Werte in das zukünftige LoxBerry: Statistik Plugin - importieren
    ohne Archiv wäre das schwierig..

  • Torro
    antwortet
    Hallo Robert,
    Zitat von Robert L.
    kann man in RRD die Minutenwerte editieren??
    nein,
    dann finde ich es nicht frech..
    Ja, man kann am Ende alles editieren in den RRD Datenbanken. Ob es allerdings Sinn macht, muss jeder für sich selbst entscheiden. Man kann sogar eine erstellte Daten nachträglich in der Struktur ändern.


    Einen Kommentar schreiben:


  • Christian Fenzl
    antwortet
    Aus meiner Sicht ist eh das Einfachhalten der Einrichtung das Schwierigste. RRDTool ist echt nicht einfach zu verstehen, aber wenn du einem Laien die SQL-Commands zum Anlegen von Datenbanken und Tabellen um die Ohren wirfst, ist das auch das gleiche.

    Wenn Michael also eine coole Visu zum Einrichten und einen fertigen Poller hat, kann man sich da noch hineinhängen und auch gleich ein INSERT in eine Datenbank schicken. Gleiches bei der Visualisierung.

    Editieren kann man ein RRD-Archiv nur über Umwege - das ist prinzipbedingt nicht vorgesehen, weil man ja mit aggregierten Daten zu tun hat. Editieren heißt: XML-Backup, Editieren, XML-Restore.

    Einen Kommentar schreiben:


  • svethi
    antwortet
    Christian Fenzl Robert scheint sich ja prächtig auf dem Gebiet auszukennen. Für meinen Teil hätte er doch genug KnowHow um Wörtern auch Taten folgen zu lassen, oder?

    Einen Kommentar schreiben:


  • Robert L.
    kommentierte 's Antwort
    die Antwort hat sich überschnitten, siehe oben

    VISU natürlich nur aus dem RRD

  • Christian Fenzl
    antwortet
    PS: Es dürfte ein leichtes sein, die abgegolten Daten auch in eine SQL-Datenbank zu schicken. Daran wird es nicht scheitern. Es soll nachher nur niemand jammern, wenn die Visu 30 Sekunden braucht, um die Monatswerte für ein paar Temperaturen anzuzeigen.

    Einen Kommentar schreiben:

Lädt...