Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Probleme mit script bei Datenabfrage von Solarlog per curl

    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

    Probleme mit script bei Datenabfrage von Solarlog per curl

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Farmer-cb last edited by

      Hallo

      frage meine 2 Datenlogger (solarlog 500) per curl ab,

      bei einem funktioniert die Abfrage einwandfrei, beim anderen, kommt seit ca 3 Tagen folgende fehlermeldung:

      12:12:21.173	[info]	javascript.0 Stop script script.js.common.Datenlogger.xxx
      12:12:21.292	[info]	javascript.0 Start javascript script.js.common.Datenlogger.xxx
      12:12:21.292	[warn]	javascript.0 script.js.common.Datenlogger.xxx: setForeignState(id=javascript.0.Daten.Dauersignale.always_true, state=true) - was not executed, while debug mode is active
      12:12:21.293	[warn]	javascript.0 script.js.common.Datenlogger.xxx: setForeignState(id=javascript.0.Daten.Dauersignale.always_false, state=false) - was not executed, while debug mode is active
      12:12:21.293	[info]	javascript.0 script.js.common.Datenlogger.xxx: solarlog url: http://ip-adresse/getjp
      12:12:21.294	[info]	javascript.0 script.js.common.Datenlogger.xxx: registered 0 subscriptions and 1 schedule
      12:12:21.403	[warn]	javascript.0 script.js.common.Datenlogger.xxx: Command curl -X POST -H "Content-Type: application/json" -d '{"110":null,"111":null,"141":{"32000":{"119":null,"145":null,"149":null}},"177":null,"178":null,"608":null,"609":null,"780":null,"781":null,"782":null,"800":{"104":null,"147":null},"801":{"170":null}}' http://192.168.13.2/getjp was not executed, while debug mode is active
      12:12:21.447	[error]	javascript.0 SyntaxError: Unexpected token u in JSON at position 0 at Object.parse (native) at script.js.common.Datenlogger.xxx:86:22 at Immediate. (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1396:33) at runCallback (timers.js:672:20) at tryOnImmediate (timers.js:645:5) at processImmediate [as _immediateCallback] (timers.js:617:5)
      12:12:21.568	[error]	Caught by controller[0]: at script.js.common.Datenlogger.xxx:86:22
      
      

      hier meine Abfrage (Skript):

      var request = require('request');
      var url = 'http://ip-adresse/getjp';
      var loggen= false;
      
      log ('solarlog url: '+url);
      
      var name1            = "javascript.0.Daten.Datenlogger.xxx.Name_1";
      var erzeugung1       = "javascript.0.Daten.Datenlogger.xxx.Erzeugung_1";
      var status1          = "javascript.0.Daten.Datenlogger.xxx.Status_1";
      var name2            = "javascript.0.Daten.Datenlogger.xxx.Name_2";
      var erzeugung2       = "javascript.0.Daten.Datenlogger.xxx.Erzeugung_2";
      var status2          = "javascript.0.Daten.Datenlogger.xxx.Status_2";
      var gesamt           = "javascript.0.Daten.Datenlogger.xxx.Gesamterzeugung";
      var datum            = "javascript.0.Daten.Datenlogger.xxx.Datum";
      
      createState(name1,           {name: "Name_1", unit: ""});
      createState(erzeugung1,      {name: "Erzeugung_1",     unit: "W"});
      createState(status1,         {name: "Status_1",     unit: ""});
      
      createState(name2,           {name: "Name_2", unit: ""});
      createState(erzeugung2,      {name: "Erzeugung_2",     unit: "W"});
      createState(status2,         {name: "Status_2",     unit: ""});
      
      createState(gesamt,          {name: "Gesamterzeugung", unit: "W"});
      createState(datum,           {name: "Datum", unit: ""});
      
      var abfrage = "curl -X POST -H \u0022Content-Type: application/json\u0022 -d '{\"110\":null,\"111\":null,\"141\":{\"32000\":{\"119\":null,\"145\":null,\"149\":null}},\"177\":null,\"178\":null,\"608\":null,\"609\":null,\"780\":null,\"781\":null,\"782\":null,\"800\":{\"104\":null,\"147\":null},\"801\":{\"170\":null}}' "+url;
      
      function abfrageStarten2() {
          exec(abfrage, function(err, stdout, stderr) {
              if (err) {
                  log("Error: " + err,"warn");
                  return;
              }
             var pv = JSON.parse(stdout);
      
              //log (  'zeitpunkt: '+pv["801"]["170"]["100"]);
              //log (       'name: '+pv["141"]["0"]["119"]);
              //log (       'name: '+pv["141"]["1"]["119"]);
              //log (       'status: '+pv["608"]["0"]);
              //log (       'status: '+pv["608"]["1"]);
              //log (       'Watt: '+pv["782"]["0"]);
              //log (       'Watt: '+pv["782"]["1"]);
              var leistung1       =(pv["782"]["0"]*1);
              var leistung2       =(pv["782"]["1"]*1);
              var gesamtleistung  =leistung1+leistung2;
              setState(name1, pv["141"]["0"]["119"]);
              setState(name2, pv["141"]["1"]["119"]);
              setState(erzeugung1, leistung1);
              setState(erzeugung2, leistung2);
              setState(gesamt, gesamtleistung);
              setState(status1, pv["608"]["0"]);
              setState(status2, pv["608"]["1"]);
              setState(datum, pv["801"]["170"]["100"]);
          });
      }
      
      setTimeout(abfrageStarten2, 100);  // Script start
      schedule("*/15 * * * * *", abfrageStarten2);  // alle 15sek
      
      

      was mache ich hier verkehrt, vorallem weill ja ein identisches skript für den anderen Datenlogger einwandfrei läuft.

      bin auch für vorschläge offen, wenn es eine andere möglichkeit der Abfrage gibt

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        Ich lese hier das curl abfragen nicht unterstützt werden ?!

        Du müsstest json oder modbus nehmen

        https://www.loxforum.com/forum/german/s … p-auslesen

         E-Mail von Solarlog:
        "der Browserbefehl zur Auslesung der min_cur.js war ein interner Befehl, zur Internen Verwendung, der in keinem Handbuch für Kunden dokumentiert ist.
        Mit Firmware 3.x sind diese Befehle nicht mehr möglich, da die Datenstruktur geändert wurde.
        
        Sie haben mit der Firmware 3.x die Möglichkeit über Modbus TCP Schnittstelle oder JSON Schnittstelle Ist-Werte aus dem Solar-Log[emoji769] auszulesen.
        Diese Möglichkeiten sind im aktuellem Installationshandbuch des Solar-Log[emoji769] dokumentiert.
        Das Handbuch finden Sie unter folgendem Link:
        http://www.solar-log.com/de/service-...e/deutsch.html
        
        Bitte prüfen Sie ob Sie über diese Schnittstellen Ihrer Gebäudesteuerung die benötigten Daten zur Verfügung stellen können."
        
        Alternativ frage wie lest ihr bzw du den Solarlog in Loxone aus, eine kleine Anleitung wäre supe
        

        –-----------------------

        Send from mobile device

        Das schöne ios hat Auto Korrektur zum k****

        Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          Und hier sogar noch ein Post im Forum zum Auslesen von solarlog per modbus 🙂

          viewtopic.php?t=5549

          –-----------------------

          Send from mobile device

          Das schöne ios hat Auto Korrektur zum k****

          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

          1 Reply Last reply Reply Quote 0
          • J
            JackWolfskind last edited by

            Wenn die gleiche curl Abfrage plötzlich nicht mehr geht , und das ohne das es auf dem einen solarlog ein FW Update gab, würde ich ein Reboot empfehlen! du wirst den curl sicher nochmal direkt aus der Unix Shell getestet haben?

            @Dutchman

            Es gibt viele Funktionen, wie Unterverbraucher die über Modbus nicht möglich sind, aber per JSON (mit curl)

            Da es anscheinend immer mal wieder Interesse an solarlog gibt, habe ich auch mak einen Solarlog - Adapter vorgeschlagen - zum support liken 😉

            https://github.com/ioBroker/AdapterRequests/issues/51

            JackWolfskin42 created this issue in ioBroker/AdapterRequests

            closed Solarlog Adapter #51

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              @JackWolfskind:

              Da es anscheinend immer mal wieder Interesse an solarlog gibt, habe ich auch mak einen Solarlog - Adapter vorgeschlagen - zum support liken 😉

              https://github.com/ioBroker/AdapterRequests/issues/51 `

              Das klingt gut nur noch jemanden finden der Zeit und Ahnung hat ihn zu bauen ;-).

              JSON abfragen müsste aber auch mit dem System Info Adapter gehen

              –-----------------------

              Send from mobile device

              Das schöne ios hat Auto Korrektur zum k****

              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

              1 Reply Last reply Reply Quote 0
              • F
                Farmer-cb last edited by

                Hallo

                reboot des Datenloggers und des iobrokers wurden gemacht.

                Leider ohne erfolg.

                Bei einem Datenloger gehts, beim anderen nicht.

                @JackWolfskind:

                Wenn die gleiche curl Abfrage plötzlich nicht mehr geht , und das ohne das es auf dem einen solarlog ein FW Update gab, würde ich ein Reboot empfehlen! du wirst den curl sicher nochmal direkt aus der Unix Shell getestet haben?

                @Dutchman

                Es gibt viele Funktionen, wie Unterverbraucher die über Modbus nicht möglich sind, aber per JSON (mit curl)

                Da es anscheinend immer mal wieder Interesse an solarlog gibt, habe ich auch mak einen Solarlog - Adapter vorgeschlagen - zum support liken 😉

                https://github.com/ioBroker/AdapterRequests/issues/51 `

                1 Reply Last reply Reply Quote 0
                • F
                  Farmer-cb last edited by

                  Servus

                  an Modbus-TCP hab ich noch garnicht gedacht, Danke 😄

                  Habs jetzt mal umgestellt, funktioniert ohne Probleme, leider kann man über Modbus keine einzelne Wehselrichter auslesen 😢

                  @Dutchman:

                  Und hier sogar noch ein Post im Forum zum Auslesen von solarlog per modbus 🙂

                  viewtopic.php?t=5549

                  –-----------------------

                  Send from mobile device

                  Das schöne ios hat Auto Korrektur zum k****

                  Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

                  1 Reply Last reply Reply Quote 0
                  • F
                    Farmer-cb last edited by

                    Servus

                    entschuldige die blöde frage, aber wie Like ich da, muss ich mich dazu erstmal Anmelden??

                    @JackWolfskind:

                    Da es anscheinend immer mal wieder Interesse an solarlog gibt, habe ich auch mak einen Solarlog - Adapter vorgeschlagen - zum support liken 😉

                    https://github.com/ioBroker/AdapterRequests/issues/51 `

                    1 Reply Last reply Reply Quote 0
                    • J
                      JackWolfskind last edited by

                      Ja, da muss man leider einen Account haben um liken zu können - evtl. ist das der Hauptgrund warum es der ruhigste Enhancement Request Ort ist den ich im gesamten Samrt Home SW Umfeld kenne :roll:

                      ` > @Dutchman

                      JSON abfragen müsste aber auch mit dem System Info Adapter gehen `
                      Wenn der Adapter Json abfragen und parsen kann, dann ist das ne Möglichkeit. Allerdings kenne ich mich damit bisher noch nicht aus, muss mir mal den System Info Adapter anschauen…. vielleicht kann man ja uaf denssen Grundlage einen solarlog Adapter bauen?

                      1 Reply Last reply Reply Quote 0
                      • F
                        forelleblau last edited by

                        @Dutchman:

                        @JackWolfskind:

                        Da es anscheinend immer mal wieder Interesse an solarlog gibt, habe ich auch mak einen Solarlog - Adapter vorgeschlagen - zum support liken 😉

                        https://github.com/ioBroker/AdapterRequests/issues/51 `

                        Das klingt gut nur noch jemanden finden der Zeit und Ahnung hat ihn zu bauen ;-).

                        JSON abfragen müsste aber auch mit dem System Info Adapter gehen

                        –-----------------------

                        Send from mobile device

                        Das schöne ios hat Auto Korrektur zum k****

                        Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

                        jemanden hat sich gefunden…

                        viewtopic.php?f=20&t=18977#p198111

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          [emoji847]

                          Sent from my iPhone using Tapatalk

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          954
                          Online

                          31.7k
                          Users

                          79.9k
                          Topics

                          1.3m
                          Posts

                          4
                          11
                          2118
                          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