Ankündigung

Einklappen
Keine Ankündigung bisher.

Logging und Archivierung von KNX-Telegrammen

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

    HS/FS Logging und Archivierung von KNX-Telegrammen

    Hallo alle!

    Nachdem nun schon ein paar Funktionen auf meinem Homeserver laufen, stelle ich fest, dass ich eine ständige und dauerhafte Aufzeichnung von Telegrammen brauche. Einerseits zur Fehlersuche (z.B. wenn Ehefrau sagt: Du, gestern sind um xx Uhr die Jalousien sinnlos runtergefahren!) und auch zur Datenarchivierung (z.B. Vergleich von Heizungsdaten über Jahre). Ob ich alle oder nur ausgewählte Telegramme brauche, steht noch nicht fest.

    Die Suche hat nicht sehr viele Ergebnisse gebracht. Die Daten per Email regelmässig vom Homeserver aus zu verschicken macht die Auswertung mühsam und Lösungen wie hsmonitor, wo ein Programm im Vordergrund auf einem PC laufen muss, kommen nicht in Frage. Es sollte schon eine Serverlösung sein.

    Noch eine Anforderung habe ich: Ein Ausfall des Logging-Servers sollt nicht zu einem Datenverlust führen, zumindest so lange nicht, bis der EIB-Monitor am Homeserver voll ist!

    Eine Möglichkeit ist mir schon eingefallen: Auf einem Server läuft ein Script, welches regelmässig den Inhalt des EIB-Monitors vom Homeserver abholt und in eine MySQL-Datenbank einträgt. Zur Anzeige und Auswertung könnte ich ein paar VBA-Makros für Excel schreiben, die die Daten aus der Datenbank herausholen und anzeigen. Im Excel könnte man mit "Autofilter" recht komfortabel auch grosse Datenmengen übersichtlich darstellen, oder man könnte auch Diagramme automatisch generieren.

    Allerdings ist der Aufwand schon beträchtlich, als Neuling auf dem Gebiet MySQL würde es sicher eine Weile dauern, bis das alles läuft!

    Daher meine Frage: gibt es Ideen, wie man so eine Aufzeichnung einfacher realisieren kann?

    Gruß
    GKap

    #2
    Es wird ja ohnehin etwas durchlaufen müssen, kleines embedded-System oder NAS, ein eibd +
    groupsocketlisten >> logfile
    sollte den Zweck auch erfüllen..
    Klar kann mans auch komplizierter machen und die Daten vom HS holen und in mysql speichern, ob das die verfügbarkeit und zuverlässigkeit steigert darf ich aber anzweifeln

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #3
      Hallo mAkki!

      Warum ich die Datenaufzeichnung erst einmal mit dem HS machen und von dort holen wollte hat den Grund, dass es zur Fehlersuche sehr nützlich ist, wenn man auch interne Kommunikationsobjekte des HS aufzeichnen kann!

      Zitat von makki Beitrag anzeigen
      ... kleines embedded-System oder NAS, ein eibd + groupsocketlisten >> logfile
      sollte den Zweck auch erfüllen.
      Kanst Du das näher erklären, wie Du dir die Archivierung mit eibd vorstellst? Wie und wo sollen die Telegramme gespeichert werden? Und wie kriege sie dann in ein Excel?

      Gruß
      GKap

      Kommentar


        #4
        Jo, MisterHouse kann das auch - hier ein Auszug aus der print_log:

        14/03/10 02:55:39 PM EIB write from 0.0.46 to 5/0/1 : "off"
        14/03/10 02:55:40 PM EIB write from 0.0.46 to 5/0/1 : "on"
        14/03/10 02:57:13 PM EIB write from 0.0.50 to 5/0/0 : "off"
        14/03/10 02:57:16 PM EIB write from 0.0.46 to 5/0/1 : "off"
        14/03/10 02:58:51 PM EIB write from 0.0.88 to 5/0/6 : "on"
        14/03/10 02:59:13 PM EIB read from 0.0.0 to 5/2/21
        14/03/10 02:59:13 PM EIB reply from 0.0.88 to 5/2/21 : "23.4"
        14/03/10 02:59:13 PM EIB read from 0.0.0 to 5/2/11
        14/03/10 02:59:14 PM EIB read from 0.0.0 to 5/2/1
        14/03/10 02:59:14 PM EIB reply from 0.0.46 to 5/2/1 : "23.1"
        14/03/10 02:59:14 PM EIB reply from 0.0.50 to 5/2/11 : "23.5"
        14/03/10 02:59:30 PM EIB write from 0.0.0 to 0/1/0 : "off"
        14/03/10 03:03:30 PM EIB write from 0.0.50 to 5/0/0 : "off"
        14/03/10 03:03:41 PM EIB write from 0.0.88 to 5/0/6 : "off"
        14/03/10 03:03:50 PM EIB write from 0.0.88 to 5/0/6 : "off"

        Und die Misterhouse-Erweiterung "MisterEIB" zeigt es dir sogar auf einer Webpage an, allerdings genau andersrum sortiert (letztes Ereignis ganz oben):
        Angehängte Dateien

        Kommentar


          #5
          Hallo thoern!

          Zitat von thoern Beitrag anzeigen
          Jo, MisterHouse kann das auch...

          ...Und die Misterhouse-Erweiterung "MisterEIB" zeigt es dir sogar auf einer Webpage an, allerdings genau andersrum sortiert (letztes Ereignis ganz oben):
          Gingen damit z.B. auch folgende Abfragen:
          - Zeige mir alle Telegramme von gestern zwischen 18:00 und 19:00 Uhr
          - Zeige mir alle Telegramme von Gerät X zu Gruppenadresse Y aus dem Jahr 19XX
          Und wäre ein Export zu Excel möglich?

          Das alles kann ich mir ohne Datenbank kaum vorstellen!

          meint
          GKap

          Kommentar


            #6
            Zitat von GKap Beitrag anzeigen

            Gingen damit z.B. auch folgende Abfragen:
            - Zeige mir alle Telegramme von gestern zwischen 18:00 und 19:00 Uhr
            Im print_log läuft alles auf, was auf dem Bus passiert. Für die o.g. Abfrage gibt es unter UNIX/Linux Kommandos wie "grep" oder "egrep".

            Zitat von GKap Beitrag anzeigen
            - Zeige mir alle Telegramme von Gerät X zu Gruppenadresse Y aus dem Jahr 19XX
            Mit der MisterEIB-Erweiterung kannst du dir auch das Logging zu einem bestimmten Gerät anschauen (s. Anhang)



            Noch was Grundsätzliches zu MisterHouse/MisterEIB:
            1. Alle Aktionen auf dem Bus werden im print_log protokolliert.

            2. In MisterHouse wird jedes EIB-Gerät als Objekt abgebildet. Auch jedes einzelne Objekt kennt seine Status-History, jedoch wird bei der Konfiguration angegeben, wie viele Historyeinträge sich ein Objekt merken soll. Grund: Da sich Objekte im RAM befinden, würden diese immer größer werden und dein RAM auffressen, wenn die Objekt-History nicht beschränkt würde.


            Zitat von GKap Beitrag anzeigen
            Das alles kann ich mir ohne Datenbank kaum vorstellen!
            MisterHouse bringt auch eine Unterstützung für MySQL mit. Gemacht habe ich damit noch nichts und kann deshalb auch nix dazu sagen. Auszug aus der Announcement-List:

            Denis Cheong enabled a DBI interface, so we can optionally use any DBI enabled database server (e.g. mysql) to store miscellaneous mh data. If you are not using a compiled mh, install DBI and DBD::mysql (or relevant module for your server).

            Gruß,
            thoern
            Angehängte Dateien

            Kommentar


              #7
              Zitat von GKap Beitrag anzeigen
              Warum ich die Datenaufzeichnung erst einmal mit dem HS machen und von dort holen wollte hat den Grund, dass es zur Fehlersuche sehr nützlich ist, wenn man auch interne Kommunikationsobjekte des HS aufzeichnen kann!
              Schon klar, aber die Eibmon-Liste enthält bei mir so max. die letzten 60s, das ist nicht wirklich üppig, also müsste man eh permanent extern mitloggen -> IMHO einzig sinnvoll: HS-Monitor (bzw. qHSMon auf Win/Linux/Mac)

              Kanst Du das näher erklären, wie Du dir die Archivierung mit eibd vorstellst? Wie und wo sollen die Telegramme gespeichert werden? Und wie kriege sie dann in ein Excel?
              Naja, wiegesagt, man kann das kompliziert oder einfach machen; ich würde es mir einfach in ein Textfile schreiben und bei Bedarf (selten) mit grep & co auswerten..
              Ich hab auch schonmal mit der MySQL-Nummer angefangen, aber die Frage ist wieviel Overhead beim speichern und beim abrufen anfällt.. Du sprichst von Jahren..
              Was macht man öfters ? Wenn man da täglich abfrägt ist ne DB sicher das bessere, aber eine SQL-DB mit ein paar Millionen Zeilen ist auch nicht per se die ausgebuhrt an performance ggü ein paarhundert CSV-Files, wo ich mir jew. das raussuche was ich brauche.
              Wenn man keine indizes macht, säuft die DB irgendwann beim abfragen ab, umgekehrt dann beim speichern (ausser Quadcore-Server, was vermutlich dann auch etwas überm Ziel ist)

              Bei mir fallen am Tag mal so gut 100.000 Telegramme an, wohlgemerkt ohne HS-iKOs, das will eine DB erstmal ein paar Monate mitmachen wollen.. Und dann stellt sich auch die Frage zuwas man wirklich jedes Telegramm von vor 6 Monaten braucht..

              Daten/Werte (Temperaturen, Zähler etc.) kommen bei mir in RRD-Dateien (schlank, schnell, trotzdem mit 380kb pro Wert Daten über Jahre hinweg), weil mir die Möglichkeiten von HS-Archiven da nicht zusagen, aber das ist jetzt wieder ein anderer Themenkreis..

              CSV & Excel geht genauso, um ein bisschen Script oder fummeln wird man aber so oder so nicht umhinkommen.

              Makki
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar

              Lädt...
              X