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; Gestern, 10:45.

                  Kommentar

                  Lädt...
                  X