Daten direkt in eine mysql schreiben

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Torro
    Extension Master
    • 28.08.2015
    • 198

    #1

    Daten direkt in eine mysql schreiben

    Hallo Loxone,

    ich möchte gern bestimmte Sensor und Ausgabewerte in eine mysql Datenbank schreiben. Über einen Umweg mittels IPSYMCON ist das problemlos möglich, ich möchte es aber gern direkt per Miniserver machen. Wahrscheinlich brauche ich nur eine Initialzündung, wie man es am besten realisieren kann.

    Achso, ich will es auf der Serverseite mittels PHP machen. Die Frage ist, wie bekomme ich die Dqten effizient dahin rüber, es werden ja nicht wenige sein...

    Gruss Uwe

    Loxone für Wärmepumpe, Grundofen und Thermieanlage (Wasserbetrieb): 1 x Miniserver, 1 x 1-Wire
    Loxone für Haus: 1 x Miniserver, 4 x Extension, 1 x 1-Wire, 1 x Dimmer, 1 x Enocean, 6 x Smart Socket Air, 2 x IrTrans
    KNX: 4 x MDT 12fach Strommessaktor, 3 x MDT Taster, 2 x 3phasige Stromzähler, 7 x Wärmemengenzähler, 1 x Wasserzähler
    PV-Anlage 11,78 mit EV, 6,3 Volleinspeisung, Batterie 10,7 kWh nutzbare Kapazität, SMA-EnergyMeter mit PI-UDP
  • eisenkarl
    Lox Guru
    • 28.08.2015
    • 1350

    #2
    Das ist genau das, was ich auch gerne tun würde... Habe da auch Interesse. Noch einen Schritt weiter würde ich auch gerne Daten aus der Datenbank zurück in den MS schreiben...

    Kommentar

    • Torro
      Extension Master
      • 28.08.2015
      • 198

      #3
      tja,

      wir sind scheinbar die zwei einzigen, die den Wunsch nach der externen Datenhaltung haben. Ich habe da schon einige Idee, wie man es realisieren könnte, kann mich aber intensiv erst zwischen Weihnachten und Neujahr damit beschäftigen.

      Gruss Uwe

      Loxone für Wärmepumpe, Grundofen und Thermieanlage (Wasserbetrieb): 1 x Miniserver, 1 x 1-Wire
      Loxone für Haus: 1 x Miniserver, 4 x Extension, 1 x 1-Wire, 1 x Dimmer, 1 x Enocean, 6 x Smart Socket Air, 2 x IrTrans
      KNX: 4 x MDT 12fach Strommessaktor, 3 x MDT Taster, 2 x 3phasige Stromzähler, 7 x Wärmemengenzähler, 1 x Wasserzähler
      PV-Anlage 11,78 mit EV, 6,3 Volleinspeisung, Batterie 10,7 kWh nutzbare Kapazität, SMA-EnergyMeter mit PI-UDP

      Kommentar

      • eisenkarl
        Lox Guru
        • 28.08.2015
        • 1350

        #4
        Ok, evtl kommen wir da ja zusammen weiter

        Kommentar

        • Torro
          Extension Master
          • 28.08.2015
          • 198

          #5
          Wie gut kennst Du Dich in PHP aus?

          Gruss Uwe

          Loxone für Wärmepumpe, Grundofen und Thermieanlage (Wasserbetrieb): 1 x Miniserver, 1 x 1-Wire
          Loxone für Haus: 1 x Miniserver, 4 x Extension, 1 x 1-Wire, 1 x Dimmer, 1 x Enocean, 6 x Smart Socket Air, 2 x IrTrans
          KNX: 4 x MDT 12fach Strommessaktor, 3 x MDT Taster, 2 x 3phasige Stromzähler, 7 x Wärmemengenzähler, 1 x Wasserzähler
          PV-Anlage 11,78 mit EV, 6,3 Volleinspeisung, Batterie 10,7 kWh nutzbare Kapazität, SMA-EnergyMeter mit PI-UDP

          Kommentar

          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11243

            #6
            Ihr braucht nur einen virtuellen Ausgang und pro Wert (analog oder digital) jeweils einen virtuellen Ausgangsbefehl erstellen. Als Parameter übergebt ihr jeweils fest irgendeine ID und den Wert.
            Auf der Empfängerseite läuft ein Webserver, der den Request empfängt, die ID und Wert parst und in die Datenbank schreibt.

            JEDE Analogänderung wird gesendet, d.h. es kann schon etwas Traffic zusammenkommen.

            Ich bevorzuge eher die Pull-Variante, da kann ich die Abholzeit (z.B. 5 Minuten) selbst vorgeben.

            Die Apache/PHP/MySQL-Serverseite ist wahrscheinlich 20 Zeilen Code, wo es 1001 Beispiele im Internet gibt - also viel Erfolg! :-)

            lg, Christian
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • Torro
              Extension Master
              • 28.08.2015
              • 198

              #7
              Hallo Christian,

              dann frage ich Dich gleich, wie Du die Pull-Variante genau machst, das würde mich mal interessieren, möglichst an einem konreten Beispiel.
              Ich habe mal versucht, einen Virtuellen Ausgang zu definieren, das ganze sind dann wie folgt aus:

              1.Virtueller Ausgang definiert: als Adresse eingegeben: http://mysql-server/index.php?

              2. Virtueller Befehl definiert: bei Befehl EIN: wp-verbrauch=1&wpv=<v>

              das wars erstmal. Ob es allerdings so funktionieren wird, weiss ich im Moment noch nicht.

              Gruss Uwe

              Loxone für Wärmepumpe, Grundofen und Thermieanlage (Wasserbetrieb): 1 x Miniserver, 1 x 1-Wire
              Loxone für Haus: 1 x Miniserver, 4 x Extension, 1 x 1-Wire, 1 x Dimmer, 1 x Enocean, 6 x Smart Socket Air, 2 x IrTrans
              KNX: 4 x MDT 12fach Strommessaktor, 3 x MDT Taster, 2 x 3phasige Stromzähler, 7 x Wärmemengenzähler, 1 x Wasserzähler
              PV-Anlage 11,78 mit EV, 6,3 Volleinspeisung, Batterie 10,7 kWh nutzbare Kapazität, SMA-EnergyMeter mit PI-UDP

              Kommentar

              • Christian Fenzl
                Lebende Foren Legende
                • 31.08.2015
                • 11243

                #8
                Abholen der Werte mach ich so (Snippet):


                PHP-Code:
                $loxone_url = "http://user:pass@miniserver/dev/sps/io/";
                $input = "Aussentemperatur";
                $value = loxone_query($input, $loxone_url);
                
                
                function loxone_query($UUID, $lxlurl)
                {
                    global $debug;
                    $run = 0;
                    do {
                    if ($debug)
                       echo "RUN ".$run;
                    $simplexml = simplexml_load_file($lxlurl.$UUID);  
                    $run = $run + 1;
                    } while ($simplexml === FALSE && $run < 4);
                
                        $value = preg_replace('/[^0-9+-.]/', '', $simplexml['value']);
                
                  return $value;
                } 
                


                lg, Christian
                Zuletzt geändert von Christian Fenzl; 03.01.2016, 12:04. Grund: CODE-Tag auf PHP-Tag geändert
                Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                Kommentar

                • Torro
                  Extension Master
                  • 28.08.2015
                  • 198

                  #9
                  Hallo Christian,

                  Du hattest geschrieben, die Werte alle 5 Minuten zum Teil abzuholen. Kannst Du mir sagen, um was für eine Größenordnung es sich handelt? Ich würde nämlich gern um die 50 Werte jede Minute abholen wollen...nur weiss ich nicht so recht, ob der Miniserver da nicht in die Knie geht..

                  Ansonsten danke für das Snippet, klappt wunderbar so.

                  Gruss Uwe

                  Loxone für Wärmepumpe, Grundofen und Thermieanlage (Wasserbetrieb): 1 x Miniserver, 1 x 1-Wire
                  Loxone für Haus: 1 x Miniserver, 4 x Extension, 1 x 1-Wire, 1 x Dimmer, 1 x Enocean, 6 x Smart Socket Air, 2 x IrTrans
                  KNX: 4 x MDT 12fach Strommessaktor, 3 x MDT Taster, 2 x 3phasige Stromzähler, 7 x Wärmemengenzähler, 1 x Wasserzähler
                  PV-Anlage 11,78 mit EV, 6,3 Volleinspeisung, Batterie 10,7 kWh nutzbare Kapazität, SMA-EnergyMeter mit PI-UDP

                  Kommentar

                  • Christian Fenzl
                    Lebende Foren Legende
                    • 31.08.2015
                    • 11243

                    #10
                    Hallo Uwe,

                    ich hole 57 Werte ab, die meisten im 5-Minuten-Takt (ein paar im 1-Minuten-Takt). Ich verwende das Cacti-Statistik-Framework (http://www.cacti.net/) und habe mir dafür ein Poller-Script gebaut, das genau diese Funktion enthält.

                    Cacti allerdings verteilt die Anfragen gleichmäßig auf die 5 Minuten, d.h. es macht seine Abfragen etwa im Takt 300/57=5 Sekunden pro Abfrage (nicht ganz - ich hab Blöcke mit 1 bis 5 Werten, die gleichzeitig abgefragt werden).

                    Ich würde mit usleep zwischen den einzelnen Abfragen immer etwas Pause machen (200ms oder so), das dürfte der MS vertragen, und es geht sich dann auch in einer Minute aus.

                    Wenn du viele Werte abfragst, die sich kaum ändern, ist es von der Last her wahrscheinlich doch geringer, wenn du es mit virtuellen Ausgängen am MS pusht, weil dann nur die Änderungen rausgeschossen werden. Die Loxone-seitige Einrichtung, die du gemacht hast, dürfte passen.

                    Den Loxone-Request in PHP abzufragen ist ja ganz simpel. Bei deinem Beispiel:
                    PHP-Code:
                    $wp_verbrauch = $_GET['wp-verbrauch'];
                    $value = $_GET['wpv']; 
                    
                    Dann kannst du mit den Werten schon anstellen, was du willst.

                    lg, Christian
                    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                    Kommentar

                    • Torro
                      Extension Master
                      • 28.08.2015
                      • 198

                      #11
                      Hallo Christian,

                      Den Loxone Request fange ich am Server schon auf, nur kommt da leider nix an. Ich bin mir nicht sicher, ob der Virtuelle Ausgang tatsächlich funktioniert. Kann man das irgendwo sehen, was da passiert, wenn was passiert?

                      Gruss Uwe

                      Loxone für Wärmepumpe, Grundofen und Thermieanlage (Wasserbetrieb): 1 x Miniserver, 1 x 1-Wire
                      Loxone für Haus: 1 x Miniserver, 4 x Extension, 1 x 1-Wire, 1 x Dimmer, 1 x Enocean, 6 x Smart Socket Air, 2 x IrTrans
                      KNX: 4 x MDT 12fach Strommessaktor, 3 x MDT Taster, 2 x 3phasige Stromzähler, 7 x Wärmemengenzähler, 1 x Wasserzähler
                      PV-Anlage 11,78 mit EV, 6,3 Volleinspeisung, Batterie 10,7 kWh nutzbare Kapazität, SMA-EnergyMeter mit PI-UDP

                      Kommentar

                      • Christian Fenzl
                        Lebende Foren Legende
                        • 31.08.2015
                        • 11243

                        #12
                        Ist "Als Digitaleingang verwenden" abgehackt?
                        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                        Kommentar

                        • Christian Fenzl
                          Lebende Foren Legende
                          • 31.08.2015
                          • 11243

                          #13
                          Ich hab bei mir nochmal geschaut, ich glaub es muss so ausschauen:
                          Adresse: http://mysql-server
                          Befehl bei EIN:
                          /index.php?wp-verbrauch=1&wpv=<v>
                          Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                          Kommentar

                          • Torro
                            Extension Master
                            • 28.08.2015
                            • 198

                            #14
                            Hallo Christian,

                            ja, das ist abgehakt.

                            Wie macht man denn ab einfachsten ein Bildschirmfoto hier mal rein? Mir scheint über Photoshop das immer so kompliziert, geht das auch einfacher?

                            PS:
                            mit letzterem funktionierts jetzt auch bei mir. Dann kann ich endlich mal meine Energieflüsse in eine Grafik bringen, diese werte brauche ich nur einmal jeden Tag...

                            Danke für die Hilfe
                            Gruss Uwe

                            Loxone für Wärmepumpe, Grundofen und Thermieanlage (Wasserbetrieb): 1 x Miniserver, 1 x 1-Wire
                            Loxone für Haus: 1 x Miniserver, 4 x Extension, 1 x 1-Wire, 1 x Dimmer, 1 x Enocean, 6 x Smart Socket Air, 2 x IrTrans
                            KNX: 4 x MDT 12fach Strommessaktor, 3 x MDT Taster, 2 x 3phasige Stromzähler, 7 x Wärmemengenzähler, 1 x Wasserzähler
                            PV-Anlage 11,78 mit EV, 6,3 Volleinspeisung, Batterie 10,7 kWh nutzbare Kapazität, SMA-EnergyMeter mit PI-UDP

                            Kommentar

                            • hismastersvoice
                              Supermoderator
                              • 25.08.2015
                              • 7331

                              #15
                              Gast

                              Kannst du bitte ein kleines HowTo schreiben ?
                              Würde mich interessieren... Bekomme es sicher auch so hin, aber würde sicher helfen

                              Danke schon mal.
                              Kein Support per PN!

                              Kommentar

                              Lädt...