Ankündigung

Einklappen
Keine Ankündigung bisher.

Stromdaten aus vzlogger importieren

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

    #16
    Hallo zusammen,

    danke fuer die info die ich hier gefunden hab.

    Habe mich dann gestern an meinem ersten Baustein versucht und dieses hier angefuegt sollte die Antwort des vzloggers HTTP-Get-requests (s.o. - danke) parsen - ohne Anspruch auf Korrektheit.

    NB: unser vzlogger ist an einen ISKRA681 angeschlossen - alle Daten, die der Zaehler abgibt sind hier in Edomi abgebildet. Die Frequenz der Datenpushens vom Zaehler 1Hz < f < 2Hz. vzlogger liefer incl. timestamp.

    Da wir keinen NT haben, sind einige Daten uninteressant (1.8.2 / 2.8.2) - Momentanleistung an den unterschiedlichen Phasen ({36, 56, 76}.7.0 ebenfalls z.Zt. nicht in Gebrauch.

    Jeglicher Kommentar/Kritik/Vorschlag gerne willkommen.

    Lieben Gruss - tullsta

    Capture.PNG

    PHP-Code:
    ###[DEF]###
    [name        =    vzlogger_parser]

    [e#1        =    vzlogger_string]

    [a#1        =    1.8.0_val]
    [a#2        =    1.8.0_uts]
    [a#3        =    1.8.1_val]
    [a#4        =    1.8.1_uts]
    [a#5        =    1.8.2_val]
    [a#6        =    1.8.2_uts]
    [a#7        =    2.8.0_val]
    [a#8        =    2.8.0_uts]
    [a#9        =    2.8.1_val]
    [a#10        =    2.8.1_uts]
    [a#11        =    2.8.2_val]
    [a#12        =    2.8.2_uts]
    [a#13        =    16.7.0_val]
    [a#14        =    16.7.0_uts]
    [a#15        =    36.7.0_val]
    [a#16        =    36.7.0_uts]
    [a#17        =    56.7.0_val]
    [a#18        =    56.7.0_uts]
    [a#19        =    76.7.0_val]
    [a#20        =    76.7.0_uts]

    [v#1        = ]
    [v#2        = ]
    [v#3        = ]
    [v#4        = ]
    [v#5        = ]
    [v#6        = ]
    [v#7        = ]
    [v#8        = ]
    [v#9        = ]
    [v#10       = ]
    ###[/DEF]###


    ###[HELP]###
    Vorlage: Standard-LBS
    ###[/HELP]###


    ###[LBS]###
    <?
    function LB_LBSID($id) {
        if ($E=logic_getInputs($id)) {
            if ($E[1]['refresh'] && $E[1]['value']!="") {
                $matches = null;
                $vz_item_idx = 1;
                $return_value = preg_match_all('/"tuples":\\s\\[\\s\\[\\s(\\d+),\\s([0-9\\-\\.]+)/', $E[1]['value'], $vz_items, PREG_SET_ORDER);
                foreach($vz_items as $vz_item){
                    $prev_uts = logic_getVar($id, $vz_item_idx);
                    if ((string)$vz_item[1] !== (string)$prev_uts) {
                        logic_setOutput($id, 2*$vz_item_idx-1, $vz_item[2] );
                        logic_setOutput($id, 2*$vz_item_idx,   $vz_item[1] );
                        logic_setVar($id, $vz_item_idx, $vz_item[1]);
                    }
                    $vz_item_idx++;
                }
            }
        }
    }
    ?>
    ###[/LBS]###


    ###[EXEC]###
    <?
    ?>
    ###[/EXEC]###

    Kommentar


      #17
      tullsta Was hast du denn als HTTP-Request eingesetzt? Bzw. wie sieht dein Befehl aus?

      Gruß

      Henrik

      Kommentar


        #18
        Hallo Henrik,

        das ist einfach Folgendes (gekritzel = IP-Adresse ala 192.xxx.xxx.xxx):

        LG - tullsta

        Capture.PNG

        Kommentar


          #19
          tullsta Irgendwas ist komisch... Ich bekomme nur den Wert für 1.8.0..... Wo könnte da das Problem liegen? Müssen alle Werte die ich auslesen kann/will in der vzzaehler.conf angelegt sein? Im VZ-Log sehe ich alle Werte....

          Edit: Zähler ist auch ein 681....

          Unbenannt.png
          Zuletzt geändert von Langer89; 17.05.2018, 17:27.

          Kommentar


            #20
            Hallo Henrik,

            dann oeffne die Seite mal im Firefox.

            hier sollten auch alle EIntraege zu sehen sein:

            Capture.PNG

            LG - tullsta

            Kommentar


              #21
              Hmmm.. ne da steht nur der eine Wert drin, den ich auch bekomme. Müssen alle Werte die ich auslesen möchte in der vzlogger.conf stehen? wie sieht deine .conf aus?

              Kommentar


                #22
                Hi Henrik,

                ja - in der vzlogger.conf muessen natuerlich alle channels drinnen stehen. Man kann sie einzeln mit der jeweiligen UUID abfragen oder eben alle wie oben.

                Hier die conf-datei:

                Code:
                {
                "retry" : 0,
                "daemon": true,
                "verbosity" : 3,
                "log" : "/var/log/vzlogger.log",
                
                "local" : {
                        "enabled" : true,
                        "port" : 8080,
                        "index" : true,
                        "timeout" : 30,
                        "buffer" : 60
                },
                
                "meters" : [
                        {
                        "enabled" : true,
                        "device" : "/dev/ttyS1",
                        "protocol" : "sml",
                        "parity" : "8N1",
                        "baudrate" : 9600,
                        "aggtime" : -1,
                        "aggfixedinterval" : true,
                        "channels": [
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx0180",
                            "identifier" : "1-0:1.8.0",
                            "api": "null",
                            "aggmode" : "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx0181",
                            "identifier" : "1-0:1.8.1",
                            "api": "null",
                            "aggmode": "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx0182",
                            "identifier" : "1-0:1.8.2",
                            "api": "null",
                            "aggmode": "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx0280",
                            "identifier" : "1-0:2.8.0",
                            "api": "null",
                            "aggmode": "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx0281",
                            "identifier" : "1-0:2.8.1",
                            "api": "null",
                            "aggmode": "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx0282",
                            "identifier" : "1-0:2.8.2",
                            "api": "null",
                            "aggmode": "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx1670",
                            "identifier" : "1-0:16.7.0",
                            "api": "null",
                            "aggmode": "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx3670",
                            "identifier" : "1-0:36.7.0",
                            "api": "null",
                            "aggmode": "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx5670",
                            "identifier" : "1-0:56.7.0",
                            "api": "null",
                            "aggmode": "none"
                            },
                            {
                            "uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx7670",
                            "identifier" : "1-0:76.7.0",
                            "api": "null",
                            "aggmode": "none"
                            }
                        ]
                        }
                    ]
                }
                LG - tullsta

                Kommentar


                  #23
                  Danke! Das war es natürlich.... Hatte nur die Gesamtleistung in meiner vzlogger.conf.....

                  Edit: Wie verarbeitest du die Zeitstempel? nur für das Datenarchiv? Wie teilst du diese dem Archiv mit?
                  Hat sich die Sekundliche Abfrage als praktikabel erwiesen?

                  Gruß

                  Henrik
                  Zuletzt geändert von Langer89; 19.05.2018, 10:45.

                  Kommentar


                    #24
                    tullsta Habe deine Lösung nun einen Monat am laufen, läuft super! Nur eine Sache ist mir aufgefallen: Ich lasse mir die Gesamtleistung (16.7.0) in meine Visu anzeigen. Dort habe ich eine Verzögerung des Werte (im Vergleich zum Zähler) von über 30 Sekunden. Ist das bei dir auch der Fall? In welchem Intervall fragst du den vzlogger ab (Sekündlich?)

                    Gruß

                    Henrik

                    Kommentar


                      #25
                      Hi Henrik,

                      mein Zaehler schickt alle 1-3 Sekunden einen Wert auf die Reise - das scheint zu variieren und ich hab' keine Ahnung was die Grundlage dafuer ist.
                      => ich hatte jede Sekunde eine logger-Abfrage - daher die Abfrage der doppelten Werte.
                      Eine sekuendliche Abfrage in Normalfall m.M.n. zu viel - ich hatte diese um den Nutzen eines Stromspeichers zu simulieren, allerdings ist da Edomi doch recht schnell am Limit mit meinem Fujitsu.

                      Was noch fehlt ist z.B. unplausible Daten rauszufiltern (hatte ab und an einen Wert, der im Terrawatt-Bereich lag - woran das lag weiss ich nicht aber meine Verkabelung ist auch recht lang).

                      Eine Verzoegerung Auslesen <=> Anzeige hab' ich noch nicht ueberprueft.

                      Zeitstempel hab' ich bislang noch nicht verarbeitet - im Datenarchiv bekommen die einen Edomi-Stempel.

                      LG - tullsta

                      Kommentar

                      Lädt...
                      X