Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Json in Datenpunkt funktioiert nicht

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    851

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Json in Datenpunkt funktioiert nicht

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
2 Beiträge 2 Kommentatoren 340 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    Jautze
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • J Jautze

      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 Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2

      @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?

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      606

      Online

      32.6k

      Benutzer

      82.1k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe