Ankündigung

Einklappen
Keine Ankündigung bisher.

Export der Werte der Kommunikationsobjekte aus dem HS in eine externe DB

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

    Export der Werte der Kommunikationsobjekte aus dem HS in eine externe DB

    Hallo zusammen

    Ich versuche mich seit längerem in einer Lösung um die Werte meiner Kommunikationsobjekte zyklisch aus dem HS in eine externe DB zu schreiben (ein externes Archiv sozusagen). In der externen DB habe ich keine (echten) Begrenzungen bezüglich Anzahl Records und gespeicherter Felder. Auf diese DB lasse ich dann Auswertungen laufen, die mir nette Diagramme generieren.

    Was ich bis jetzt gemacht habe:
    1. Lösung mittels "Web-Seiten/IP-Geräte abfragen und auswerten" eine URL zusammengebastelt, die dann mittels GET die Variablenwerte postet. Auf der anderen Seite gab es (bei meinem Provider im Netz) ein Skript, dass reagiert hat und die Werte bei einem Aufruf in die DB geschrieben hat. Nachteile hier sind die Maximallänge der URL (256 Zeichen) und das Thema Sicherheit, dass nicht jeder irgendwelche Werte in meine DB schreiben kann (auch Code, der dann böswillig reagiert). Die (Pseudo-)Lösungen hierzu waren mehrere Skripte und eine Passwort-Variable.
    2. Lösung mittels einer zusätzlichen Visu-Seite mit separatem User und Passwort, auf der die Werte dargestellt werden. Ein Skript im Heimnetz (bei mir auf einem Synology NAS) greift von aussen auf die Visu Seite direkt zu (lässt sich ja machen, indem man User und Passwort im URL übergibt) und liest die Werte ein. Das Skript parst die Werte und schreibt sie anschliessend in die DB. Nachteile: Ich muss alle Werte auf der Seite darstellen, was schnell unübersichtlich un mühsam wird.
    3. Lösung (die ich aber nicht umgesetzt habe, im Gegensatz zu den anderen beiden) via http://homeserver/hslist?lst=eibmon. Hier sind meines Wissens aber nicht alle Werte dargestellt, bzw. nur dargestellt wenn sie innerhalb der letzten 500 Telegramme aufgetreten sind. Diese Seite kann man auch mittels externen Skript auslesen, parsen und dann in die DB abfüllen.


    Da ich meine Homeserver-Programmierung runderneuere und die Kommunikationsobjekte anpasse, dachte ich, es sei eine gute Gelegenheit, auch dieses Thema (das ich derzeit mit der 1. Lösung für einen Teil der Objekte gelöst habe) zu korrigieren.

    Für Eure Tipps bin ich dankbar und freue mich auf Feedback.

    Grüsse aus der Schweiz
    Marco
    Zuletzt geändert von floflo; 23.03.2017, 17:33.
    Altbau (200 jährig) bei Umbau auf KNX mit-umgebaut. HS + Visu mit ELO+Asus EEEPC, Feller Taster, Siemens Wetterstation, Jalousiesteuerung, Wärmepumpe AlphaInnotec am Bus ... - Altbau (350 jährig) ebenfalls Umbau an KNX, und aktuell ein Neubau, der an KNX gehen wird - KNX als Hobby mit Begeisterung ;o)

    #2
    Hallo Marco,
    ich übertrage das Archive als csv-File auf den ftp-Server (ist der Sysnology NAS Server) und dort startet über den Aufgabenplaner (cronjob) das Einlesen in die Datenbank. Mit php Scripte mache ich dann die Auswertung. Das klappt ganz gut und die Auswertung ist dank dem Aufgabenplaner immer aktuell.
    Gruß
    Ekkehard

    Kommentar


      #3
      Hallo Ekkehard
      Danke für Dein schnelles Feedback.
      Wenn ich Dich richtig verstehe, dann machst Du von Hand ein Archiv mit allen Werten (die in die DB sollen, in meinem Fall also ALLEN)?
      Probiere das gleich aus, Danke
      Gruss
      Marco
      Altbau (200 jährig) bei Umbau auf KNX mit-umgebaut. HS + Visu mit ELO+Asus EEEPC, Feller Taster, Siemens Wetterstation, Jalousiesteuerung, Wärmepumpe AlphaInnotec am Bus ... - Altbau (350 jährig) ebenfalls Umbau an KNX, und aktuell ein Neubau, der an KNX gehen wird - KNX als Hobby mit Begeisterung ;o)

      Kommentar


        #4
        Hallo Ekkehard
        So, getestst, klappt wunderbar!
        Den Import mache ich damit:
        https://dev.mysql.com/doc/refman/5.7/en/load-data.html
        Wie machst Du das? Bzw. wie stellst Du sicher, dass Du keine doppelten Einträge in der DB hast? Alles reinkleben und dann händisch Duplikate löschen?
        Danke und Gruss
        Marco
        Altbau (200 jährig) bei Umbau auf KNX mit-umgebaut. HS + Visu mit ELO+Asus EEEPC, Feller Taster, Siemens Wetterstation, Jalousiesteuerung, Wärmepumpe AlphaInnotec am Bus ... - Altbau (350 jährig) ebenfalls Umbau an KNX, und aktuell ein Neubau, der an KNX gehen wird - KNX als Hobby mit Begeisterung ;o)

        Kommentar


          #5
          Hallo Marco,
          den Import mache ich mittels eigenen php-Scripte die ich im Synology Aufgabenplaner starte.
          Duplikate ist ein Problem, deshalb schreibe ich immer nur einen Satz ins Archive, kann man beim Archiv festlegen, und erzeuge dann sofort auf dem ftp-Server ein csv-File. Damit umgehe ich Duplikate. Beim Archiv wird auch ein Feld Datum/Uhrzeit mitgeliefert. Damit wäre ein eindeutiger key erzeugbar, wenn das für Dich helfen würde.
          Z.B. erzeuge ich stündlich ein Archiveintrag mit Raumtemperaturen, die ich dann sofort als csv-File abstelle, immer nur ein Satz, und dann werden die Daten mit dem php-Script ein die db eingelesen. Die Auswertung aus der db mache ich dann wieder mit php-Scripten.
          Gruß
          Ekkehard

          Kommentar


            #6
            Danke, passt so, Problem gelöst
            Altbau (200 jährig) bei Umbau auf KNX mit-umgebaut. HS + Visu mit ELO+Asus EEEPC, Feller Taster, Siemens Wetterstation, Jalousiesteuerung, Wärmepumpe AlphaInnotec am Bus ... - Altbau (350 jährig) ebenfalls Umbau an KNX, und aktuell ein Neubau, der an KNX gehen wird - KNX als Hobby mit Begeisterung ;o)

            Kommentar

            Lädt...
            X