Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Json verarbeiten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Json verarbeiten

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      little_tiger last edited by

      Hallo miteinander,

      ich bin interessierter Laie/Anwender und würde gerne Werte meiner PV-Anlage in HM verarbeiten. Die Daten werden über den SolarLog300 bereitgestellt.

      Diese Daten kann man wohl als JSON Objekte ausgeben.

      Unter Linux kann man sich dann z.B. via Curl alle Werte ausgeben lassen:

      curl -X POST -H "Content-Type: application/json" -d '{"801":{"170":null}}' 192.168.0.69/getjp
      
      

      Der Befehl gibt bei mir folgende Rückgabe:

      {"801":{"170":{"100":"11.11.16 16:32:15","101":257,"102":262,"103":0,"104":407,"105":19466,"106":30730,"107":822005,"108":12972119,"109":23174482,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":16800}}}
      

      Laut Anleitung gibt es folgende JSON-Objekte

      Ich habe aber gar keine Ahnung:

      -wo (Adapter?/Skripte?)und wie ich den curl-Befehl in io.broker anwenden kann

      -wie ich die Objekte in Variablen überführen kann, so dass ich

      -die Werte später grafisch darstellen kann

      -ich die Werte (in der CCU) nutzen kann, um Schaltvorgänge auszulösen.

      Ich habe da also schon ganz am Anfang Probleme. Vielleicht hat jemand die Muße, mich in die richtige Richtung zu schubsen…

      Danke und Grüße vom Niedrrhein

      Little_tiger

      1 Reply Last reply Reply Quote 0
      • htrecksler
        htrecksler Forum Testing last edited by

        http://forum.iobroker.net/viewtopic.php?f=21&t=4161

        1 Reply Last reply Reply Quote 0
        • E
          eastcoast last edited by

          Hallo,

          hier eine Lösung für einen anderen Wechselrichter:

          http://forum.iobroker.net/viewtopic.php?t=2624

          1 Reply Last reply Reply Quote 0
          • L
            little_tiger last edited by

            Hallo und danke für die Antworten!

            Mir fehlt irgendwie der erste Schritt.

            Muss ich den curl-Aufruf als Skript anlegen?

            Mir fehlt gedanklich da die Verbindung.

            Gruß

            Little_tiger

            Gesendet von iPhone mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              @little_tiger:

              Hallo und danke für die Antworten!

              Mir fehlt irgendwie der erste Schritt.

              Muss ich den curl-Aufruf als Skript anlegen?

              Mir fehlt gedanklich da die Verbindung. `

              Was bekommst Du im Log, wenn Du folgendes probierst:

              ! var abfrage = "curl -X POST -H \u0022Content-Type: application/json\u0022 -d '{\u0022801\u0022:{\u0022170\u0022:null}}' 192.168.0.69/getjp"; ! function abfrageStarten() { exec(abfrage, function(err, stdout, stderr) { if (err) { log("Error: " + err,"warn"); return; } log("Ausgabe: " + stdout); ! }); } ! log(abfrage); abfrageStarten(); !

              ggf. bis zum timeout warten…

              1 Reply Last reply Reply Quote 0
              • L
                little_tiger last edited by

                Hallo ruhr70!

                Also, ich habe deinen Befehl als script eingefügt und gestartet. Das LOG zeigt die erhofften Daten! Supi!

                javascript.0 script.js.Skript1: Ausgabe: {"801":{"170":{"100":"13.11.16 15:05:45","101":292,"102":210,"103":233,"104":526,"105":4535,"106":11778,"107":90177,"108":7482382,"109":12280141,"110":655,"111":15129,"112":27054,"113":313723,"114":6721113,"115":13248633,"116":9200}}}
                

                Nun würde ich gerne die Daten verarbeiten, also z.B.: den Wert der aktuellen Erzeugung ("101":292) und des aktuellen Verbrauchs ("110":819) in eine Variable schreiben und dies dann regelmäßig…

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @little_tiger:

                  Nun würde ich gerne die Daten verarbeiten, also z.B.: den Wert der aktuellen Erzeugung ("101":292) und des aktuellen Verbrauchs ("110":819) in eine Variable schreiben und dies dann regelmäßig… `
                  Versuche es mal so:

                  var abfrage = "curl -X POST -H \u0022Content-Type: application/json\u0022 -d '{\u0022801\u0022:{\u0022170\u0022:null}}' 192.168.0.69/getjp";
                  createState("Erzeugung", 0);
                  createState("Verbrauch", 0);
                  
                  function abfrageStarten() {
                      exec(abfrage, function(err, stdout, stderr) {
                          if (err) {
                              log("Error: " + err,"warn");
                              return;
                          }
                         var pv = JSON.parse(stdout)["801"]["170"];
                         setState("Erzeugung", pv["101"]);
                         setState("Verbrauch", pv["110"]);
                      });
                  }
                  
                  setTimeout(abfrageStarten, 100);  // Script start
                  schedule("*/1 * * * *", abfrageStarten);  // jede Minute
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • L
                    little_tiger last edited by

                    Hallo paul53,

                    Danke für deine Antwort. Es klappt, vielen Dank!

                    Gruß

                    Little_tiger

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate
                    FAQ Cloud / IOT
                    HowTo: Node.js-Update
                    HowTo: Backup/Restore
                    Downloads
                    BLOG

                    919
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    5
                    8
                    3441
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo