Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst]Werte aus JSON [1,2,3,4,5]addieren?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[gelöst]Werte aus JSON [1,2,3,4,5]addieren?

Scheduled Pinned Locked Moved Skripten / Logik
4 Posts 3 Posters 472 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • icebearI Offline
    icebearI Offline
    icebear
    wrote on last edited by icebear
    #1

    Hallo, kann mir vielleicht nochmal jemand auf die Sprünge helfen?

    Ich schreibe mehrere Werte in JSON-Array's um diese dann in einem Felxchart darzustellen, das funktioniert auch super. Die Werte werden mittels eines Script für jeden Tag an dem ich lade in die Arrays geschrieben, aufgegliedert nach gesamt, Netzanteil und PV-Anteil, an den Tagen wo nicht geladen wird, wird '0' eingetragen. das ganze sieht dann so aus:

    CL1.png

    die DP sehen so aus:

    {
      "common": {
        "name": "sessionEnergyNet",
        "desc": "Strom aus dem Netz",
        "type": "json",
        "role": "state",
        "unit": "KWh"
      },
      "native": {},
      "type": "state",
      "_id": "0_userdata.0.CarLoad.Monatstabellen.2025.Maerz.sessionEnergyNet",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1742219881144
    }
    

    und das JSON so:

    [ 0,0,5.97,0,0,0,0,4.92,0,0,0,0,0,0,0,8.57,0,11.25,0,0,0,0,0,0,0,0,13.81,0,0,0]
    

    Wie kann ich jetzt die Werte mit einem Script (js oder Blockly ist egal) addieren und in einen neuen DP (z.B. Gesamt) schreiben?

    paul53P mickymM 2 Replies Last reply
    0
    • icebearI icebear

      Hallo, kann mir vielleicht nochmal jemand auf die Sprünge helfen?

      Ich schreibe mehrere Werte in JSON-Array's um diese dann in einem Felxchart darzustellen, das funktioniert auch super. Die Werte werden mittels eines Script für jeden Tag an dem ich lade in die Arrays geschrieben, aufgegliedert nach gesamt, Netzanteil und PV-Anteil, an den Tagen wo nicht geladen wird, wird '0' eingetragen. das ganze sieht dann so aus:

      CL1.png

      die DP sehen so aus:

      {
        "common": {
          "name": "sessionEnergyNet",
          "desc": "Strom aus dem Netz",
          "type": "json",
          "role": "state",
          "unit": "KWh"
        },
        "native": {},
        "type": "state",
        "_id": "0_userdata.0.CarLoad.Monatstabellen.2025.Maerz.sessionEnergyNet",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        },
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1742219881144
      }
      

      und das JSON so:

      [ 0,0,5.97,0,0,0,0,4.92,0,0,0,0,0,0,0,8.57,0,11.25,0,0,0,0,0,0,0,0,13.81,0,0,0]
      

      Wie kann ich jetzt die Werte mit einem Script (js oder Blockly ist egal) addieren und in einen neuen DP (z.B. Gesamt) schreiben?

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @icebear sagte: Werte mit einem Script (js oder Blockly ist egal) addieren und in einen neuen DP (z.B. Gesamt) schreiben?

      Dafür gibt es einen Mathe-Block:

      Blockly_temp.JPG

      Eine Javascript-Version:

      schedule('55 59 23 * * *', function() {
          const date = formatDate(new Date(), 'YYYY.OO', 'de');
          const idJson = '0_userdata.0.CarLoad.Monatstabellen.' + date + '.sessionEnergyNet';
          const idSum  = '0_userdata.0.CarLoad.Monatstabellen.' + date + '.EnergyNet';
      
          const arr = JSON.parse(getState(idJson).val);
          let sum = 0;
          for(let val of arr) {
              sum += val;
          }
          setState(idSum, sum, true);
      });
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • icebearI icebear

        Hallo, kann mir vielleicht nochmal jemand auf die Sprünge helfen?

        Ich schreibe mehrere Werte in JSON-Array's um diese dann in einem Felxchart darzustellen, das funktioniert auch super. Die Werte werden mittels eines Script für jeden Tag an dem ich lade in die Arrays geschrieben, aufgegliedert nach gesamt, Netzanteil und PV-Anteil, an den Tagen wo nicht geladen wird, wird '0' eingetragen. das ganze sieht dann so aus:

        CL1.png

        die DP sehen so aus:

        {
          "common": {
            "name": "sessionEnergyNet",
            "desc": "Strom aus dem Netz",
            "type": "json",
            "role": "state",
            "unit": "KWh"
          },
          "native": {},
          "type": "state",
          "_id": "0_userdata.0.CarLoad.Monatstabellen.2025.Maerz.sessionEnergyNet",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1742219881144
        }
        

        und das JSON so:

        [ 0,0,5.97,0,0,0,0,4.92,0,0,0,0,0,0,0,8.57,0,11.25,0,0,0,0,0,0,0,0,13.81,0,0,0]
        

        Wie kann ich jetzt die Werte mit einem Script (js oder Blockly ist egal) addieren und in einen neuen DP (z.B. Gesamt) schreiben?

        mickymM Online
        mickymM Online
        mickym
        Most Active
        wrote on last edited by mickym
        #3

        @icebear nimm einfach Jsonata und füge das Array in die $sum Funktion.

        Also das Array in eine Variable, dann ist der Jsonata Ausdruck einfach

        $sum($)
        

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Reply Last reply
        0
        • icebearI Offline
          icebearI Offline
          icebear
          wrote on last edited by
          #4

          @paul53
          @mickym

          Vielen Dank euch beiden, ich probier grad aus welche der drei Varianten ich nehmen soll, funktionieren tun aber alle.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          622

          Online

          32.6k

          Users

          82.3k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe