Ankündigung

Einklappen
Keine Ankündigung bisher.

Stromdaten aus vzlogger importieren

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

    Stromdaten aus vzlogger importieren

    Hallo

    Ich habe in den letzten Tagen/Wochen versucht die Werte aus meinem Smart-Meter auszulesen und edomi zu bringen.
    Leider kann ich den SML-Reader LBS nicht für meinen Zähler nutzen da dieser das OMS-Protocol nutzt.
    Ich hab jetzt auf einen Raspberry das volkszähler Image installiert und den optischen Lesekopf daran angeschlossen und nach vielen Problemen jetzt auch endlich zum Laufen gebracht. Das ist aber nur der Zwischenschritt, weil ich die Daten trotzdem gerne in edomi hätte.

    Gibt es da eine einfache Lösung?
    Ich habe schon gelesen, dass es verschiedene Ansätze/Scripte gibt, welches es erlauben über http auf die Daten zuzugreifen.
    zB in etwa so: http://192.168.1.27/middleware.php/d...=1504444451000

    als Ergebnis erhält man folgendes:
    http://192.168.1.27/middleware.php/d...=1504444451000

    Meine Idee ist, den aktuellen Verbrauch aus dem Netz und die aktuell eingespeiste Menge (PV Überschuss) alle 10 Sekunden abzugreifen und diese dann in edomi zu Verwenden.

    #2
    Durch den Tip vom Benutzer "toggle" in dem Betrag zum SML-LBS bin ich inzwischen etwas weiter.

    Mit folgender URL könnte ich die Werte vom vzlogger abgreifen.
    Code:
     http://192.168.1.27/middleware.php/data/dad397a0-9093-11e7-b723-573920f4cd11.json?from=10+seconds+ago&tuples=1
    Somit müsste ich "nur" mehr wissen, wie ich aus der Antwort den relevanten Wert extrahieren kann. Also die Zahl (220.083) nach "average:".
    Code:
    {"version":"0.3","data":{"tuples":[[1504459946000,220.083,12]],"uuid":"dad397a0-9093-11e7-b723-573920f4cd11","from":1504459934000,"to":1504459946000,"min":[1504459946000,220.08333333333],"max":[1504459946000,220.08333333333],"average":220.083,"consumption":0.734,"rows":1}}

    Kommentar


      #3
      Solange die Response-Struktur dieselbe bleibt, kann man den Wert mit dem folgenden PHP-Script extrahieren:
      PHP-Code:
      <?php
      print json_decode($json)->$obj->{'data'}->{'average'};
      ?>

      Kommentar


        #4
        Es gibt aber auch einen JSON-Decoder - LBS 19000973.

        Kommentar


          #5
          Hab deine Antwort leider erst jetzt gesehen.
          Hab inzwischen den Wert für den aktuellen Strombezug aus dem Netz in edomi .
          Per HTTP Befehl greif ich den String mit den Werten von vzlogger ab und mit dem "String zerteilen" LBS schneide ich mir den Wert raus.

          Wir kann ich am einfachsten eine Trigger kürzer als der 1 Minute Systemtrigger erstellen?

          Kommentar


            #6
            Man nehme einen Oscillator-Baustein (16000111) und parametrisiere diesen entsprechend.

            Kommentar


              #7
              Hannes17 Könntest du hier mal beschreiben was und wie du das genau gemacht hast ?

              Kommentar


                #8
                Hi,

                für alle die es interessiert mein Weg, wie ich die IR Dinger auslese und direkt in edomi (per http-push / "remote") übertrage. Ohne vzlogger, anderen Komponenten udn ohne weitere LBS.

                Ist in (Free-)Pascal geschrieben, kann prinzipiell beliebig viele Stromzähler abfragen (jeweils im Thread).
                Da mein Stromzähler keine aktuelle Leistung zurückgibt, wird die vom Programm selber berechnet.

                Kurze Beschriebung:
                - Kompilierbar mit FreePascal unter Linux oder Windows, benötigt keine weiteren externen Bibliotheken
                - Jeder Stromzähler läuft in einem Thread (Auslesen ist ja langsam und bremst).
                - Im Thread wird jedesmal Stromzähler bei 300 Baud angetriggert, dann um eine Antwort bei 9600 Baud gebeten
                - Anschließend wird Leistung berechnet und das ganze via http an Edomi gesendet

                Der Quellcode ist nicht schick und auch nicht kommentiert, aber es läuft so einwandfrei an meinem Raspberry und zwei einfachen
                Smart Meter IR (Infrarot) Schreib / Lesekopf USB (Optokopf) für á 39.99€

                Das ganze nur als Idee wie ich es aktuell bei mir umsetze...

                Quelltext anbei


                Gruß,
                Steffen
                Angehängte Dateien

                Kommentar


                  #9
                  Klingt interessant.
                  Kann man mit dem Script jeden Smart-Meter abfragen?
                  Mein AMIS zähler benötigt einen Code in der Abfrage (AES-Schlüssel), damit er Werte liefert.

                  Zitat von ibase Beitrag anzeigen
                  Hannes17 Könntest du hier mal beschreiben was und wie du das genau gemacht hast ?
                  Ich kann dir heute abend ein paar Screens machen.

                  Kommentar


                    #10
                    Hannes17 ne sorry das Ding ist nicht besonders flexibel im Moment.
                    Kann nur serielle Lesegeräte mit den Standard OBIS Befehlen auslesen...

                    Kommentar


                      #11
                      klasse!
                      Freue mich schon, derzeit verwende ich ECAS und hacke Täglich den Zählerstand ein :-)

                      Kommentar


                        #12
                        Ich habe aktuell einen volkszähler optischen Lesekopf der per USB an einem RPi hängt.
                        Die Konfiguration in vzlogger spare ich mir jetzt mal. Bin da nach der vzlogger-Doku vorgegangen.
                        War aber ehrlich gesagt, etwas "try-n-error". Irgendwann hatte ich dann doch die Werte vom Smart-Meter.
                        Im Moment nutzte ich nur den aktuellen Verbrauch aus dem Netz sowie die aktuell eingespeiste Energie. Unser Smart-Meter würde noch ein paar zusätzliche Werte bereitstellen.

                        Die Werte vom vzlogger bekomme ich über HTTP/UDP/SHELL in edomi rein. Den Ergebnis-String schreibe ich damit in ein iKO.
                        HTTP_URL.jpg

                        Dieses iKO läuft dann in eine Logik, welche den String zerteilt und schließlich den aktuellen Bezugs- bzw. Einspeisewert in einen GA und auch in den Datenarchiv schreibt. Der Oszillator führt die konfigurierte HTTP-Abfrage durch.
                        String_teilen.jpg

                        Zusätzlich rechne ich in einer weiteren Logik diverse Werte aus. Aktueller Verbrauch im Haus, Abdeckung mit eigenem Strom (PV), absolute und relative Werte des Eigenverbrauchs, etc.
                        Zuletzt geändert von Hannes17; 10.10.2017, 19:45.

                        Kommentar


                          #13
                          An dem Osszilator lässt du dann als Befehl den http/udp ausführen?
                          Zuletzt geändert von 2Fast4You78; 21.11.2017, 00:08.
                          www.knx-Hausblog.de

                          Kommentar


                            #14
                            Zitat von 2Fast4You78 Beitrag anzeigen
                            An dem Osszilator lässt du dann als Befehl den http/udp ausführen?
                            Ja. Damit werden im Intervall 5 / 20 Sek. die Werte abgegriffen.
                            Zuletzt geändert von Hannes17; 21.11.2017, 07:57.

                            Kommentar


                              #15
                              Ich hab jetzt an der Logik noch ein paar Sachen geändert und leider steh ich jetzt vor einem kleinen Problem.
                              Ich würde das Ergebnis aus dem String-Teiler in eine Division laufen lassen, aber ein String lässt sich schlecht durch 1000 teilen.
                              Steh leider gerade etwas auf der Leitung wie ich das Objekt in eine Zahl konvertier.
                              Bildschirmfoto 2017-11-26 um 16.22.57.png

                              Kommentar

                              Lädt...
                              X