Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Json in Datenpunkt funktioiert nicht

    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 in Datenpunkt funktioiert nicht

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

      Hallo,

      in diesem Beitrag https://forum.iobroker.net/topic/9808/status-einlesen-und-in-einzelne-variablen-zerlegen ist dieses Script:

      var alwx, carx, etox, etoxd, nrg, nrg_7x, nrg_8x, nrg_9x, nrg_11x, dwsx, ampx, apiurl = "http://192.168.1.15/status"
      // Trigger 1 min
      schedule("*/1 * * * *", function () {
        try {
           require("request")('http://192.168.1.15/status', function (error, response, result) {
             setState("javascript.0.GoE_Charger.Objekt", result, true);
             }).on("error", function (e) {console.error(e);});
         } catch (e) { console.error(e); }  
      
        data = (function () { 
            try {
                return JSON.parse(getState("javascript.0.GoE_Charger.Objekt").val)
            ;} 
            catch(e) {
                return {};
            }
          })();
      
      var alwx = parseInt(data["alw"]);
      setState("javascript.0.GoE_Charger.alw_0", alwx, true);
      
      var ampx = parseInt(data["amp"]);
      setState("javascript.0.GoE_Charger.amp_0", ampx, true);
      
      var dwsx = parseInt(data["dws"]);
      setState("javascript.0.GoE_Charger.dws_0", dwsx/360000, true);
      
      var carx = parseInt(data["car"]);
      setState("javascript.0.GoE_Charger.LadeStatus", carx, true);
      
      var etoxd = parseInt(data["eto"]);
      //Umrechnung in 1kWh
      var etox = etoxd / 100 / 60 / 60;
      setState("javascript.0.GoE_Charger.eto_0", etox, true);
      
      var nrg = data["nrg"];
      //console.log(nrg);
      
      var nrg_7x = parseInt(nrg[7]);
      //Umrechnung in 1kW
      setState("javascript.0.GoE_Charger.nrg_7", nrg_7x/10, true);
      
      var nrg_8x = parseInt(nrg[8]);
      //Umrechnung in 1kW
      setState("javascript.0.GoE_Charger.nrg_8", nrg_8x/10, true);
      
      var nrg_9x = parseInt(nrg[9]);
      //Umrechnung in 1kW
      setState("javascript.0.GoE_Charger.nrg_9", nrg_9x/10, true);
      
      var nrg_11x = parseInt(nrg[11]);
      //Umrechnung in 1kW
      setState("javascript.0.GoE_Charger.nrg_11", nrg_11x/100, true);
      });
      

      Allerdings bekomme ich Fehlermeldungen und der erste Teil schägt schon fehl, wo das Script das Json aus der API in einen Datenpunkt schreiben soll. Der Datenpunkt vom Typ Objekt ist aber leer.

      Kann mir dabei jemand helfen?

      Von der Api kommt das hier:

      {"version":"B","tme":"1106201029","rbc":"11","rbt":"51739065","car":"4","amp":"8","err":"0","ast":"0","alw":"0","stp":"0","cbl":"32","pha":"56","tmp":"22","tma":[23.75,23.38,23.75,23.50],"amt":"32","dws":"14137","dwo":"0","adi":"0","uby":"0","eto":"20","wst":"3","txi":"0","nrg":[218,216,217,1,0,0,0,0,0,0,0,0,0,0,0,0],"fwv":"033","sse":"010958","wss":"WLAN-3E6435","wke":"************","wen":"1","cdi":"0","tof":"101","tds":"1","lbr":"50","aho":"3","afi":"7","azo":"0","ama":"32","al1":"6","al2":"8","al3":"10","al4":"12","al5":"14","cid":"255","cch":"65535","cfi":"65280","lse":"0","ust":"1","wak":"92da1ad9d0","r1x":"0","dto":"0","nmo":"0","sch":"AAAAAAAAAAAAAAAA","sdp":"0","eca":"0","ecr":"0","ecd":"0","ec4":"0","ec5":"0","ec6":"0","ec7":"0","ec8":"0","ec9":"0","ec1":"0","rca":"B91720B5","rcr":"","rcd":"","rc4":"","rc5":"","rc6":"","rc7":"","rc8":"","rc9":"","rc1":"","rna":"","rnm":"","rne":"","rn4":"","rn5":"","rn6":"","rn7":"","rn8":"","rn9":"","rn1":"","loe":0,"lot":0,"lom":0,"lop":0,"log":"","lon":0,"lof":0,"loa":0,"lch":50507,"mce":0,"mcs":"test.mosquitto.org","mcp":1883,"mcu":"","mck":"","mcc":0}                                                
      

      Fehlermedung ist das:


      avascript.0 2020-06-11 10:28:00.096 warn (26598) at processTicksAndRejections (internal/process/task_queues.js:84:21)
      javascript.0 2020-06-11 10:28:00.096 warn (26598) at endReadableNT (_stream_readable.js:1221:12)
      javascript.0 2020-06-11 10:28:00.096 warn (26598) at IncomingMessage.EventEmitter.emit (domain.js:482:12)
      javascript.0 2020-06-11 10:28:00.096 warn (26598) at IncomingMessage.emit (events.js:327:22)
      javascript.0 2020-06-11 10:28:00.096 warn (26598) at Object.onceWrapper (events.js:421:28)
      javascript.0 2020-06-11 10:28:00.095 warn (26598) at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1076:12)
      javascript.0 2020-06-11 10:28:00.095 warn (26598) at Request.EventEmitter.emit (domain.js:482:12)
      javascript.0 2020-06-11 10:28:00.095 warn (26598) at Request.emit (events.js:315:20)
      javascript.0 2020-06-11 10:28:00.095 warn (26598) at Request.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1154:10)
      javascript.0 2020-06-11 10:28:00.095 warn (26598) at Request.EventEmitter.emit (domain.js:482:12)
      javascript.0 2020-06-11 10:28:00.095 warn (26598) at Request.emit (events.js:315:20)
      javascript.0 2020-06-11 10:28:00.095 warn (26598) at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)
      javascript.0 2020-06-11 10:28:00.095 warn (26598) at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:37:17)
      javascript.0 2020-06-11 10:28:00.094 warn (26598) at script.js.common.PV.Eigenverbrauch.Goe_Charger:15:8
      javascript.0 2020-06-11 10:28:00.093 warn (26598) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1355:20)
      javascript.0 2020-06-11 10:28:00.088 warn (26598) You are assigning a string to the state "javascript.0.GoE_Charger.Objekt" which expects a object. Please fix your code to use a object or change the state type to string. This warning might be
      javascript.0 2020-06-11 10:28:00.028 error (26598) at processTimers (internal/timers.js:492:7)
      javascript.0 2020-06-11 10:28:00.028 error (26598) at listOnTimeout (internal/timers.js:549:17)
      javascript.0 2020-06-11 10:28:00.028 error (26598) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
      javascript.0 2020-06-11 10:28:00.027 error (26598) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
      javascript.0 2020-06-11 10:28:00.027 error (26598) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
      javascript.0 2020-06-11 10:28:00.027 error (26598) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1270:34)
      javascript.0 2020-06-11 10:28:00.027 error (26598) at Object.<anonymous> (script.js.common.PV.Eigenverbrauch.Goe_Charger:28:25)
      javascript.0 2020-06-11 10:28:00.027 error (26598) Error in callback: TypeError: Cannot read property 'alw' of null
      javascript.0 2020-06-11 10:28:00.026 warn (26598) at processTimers (internal/timers.js:492:7)
      javascript.0 2020-06-11 10:28:00.025 warn (26598) at listOnTimeout (internal/timers.js:549:17)
      javascript.0 2020-06-11 10:28:00.025 warn (26598) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
      javascript.0 2020-06-11 10:28:00.025 warn (26598) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
      javascript.0 2020-06-11 10:28:00.025 warn (26598) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
      javascript.0 2020-06-11 10:28:00.025 warn (26598) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1270:34)
      javascript.0 2020-06-11 10:28:00.025 warn (26598) at Object.<anonymous> (script.js.common.PV.Eigenverbrauch.Goe_Charger:26:7)
      javascript.0 2020-06-11 10:28:00.024 warn (26598) at script.js.common.PV.Eigenverbrauch.Goe_Charger:21:29
      javascript.0 2020-06-11 10:28:00.023 warn (26598) getState "javascript.0.GoE_Charger.Objekt" not found (3)

      Danke und viele Grüße
      Marcel

      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @Jautze last edited by

        @Jautze sagte in Json in Datenpunkt funktioiert nicht:

        getState("javascript.0.GoE_Charger.Objekt").val

        Ist der DP überhaupt angelegt, da es kein CreateState in dem Script gibt und die Fehlermeldung besagt, dass er den Wert nicht finden kann?
        Wenn man in den Objekten schaut:
        javascript.0
        --- GoE_Charger.
        ------ Objekt

        Ist diese Struktur da?

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

        Support us

        ioBroker
        Community Adapters
        Donate

        911
        Online

        31.8k
        Users

        80.0k
        Topics

        1.3m
        Posts

        javascript
        2
        2
        254
        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