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. [gelöst]Werte aus JSON [1,2,3,4,5]addieren?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 3 Kommentatoren 397 Aufrufe 2 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.
  • icebearI Online
    icebearI Online
    icebear
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        0
        • icebearI Online
          icebearI Online
          icebear
          schrieb am zuletzt editiert von
          #4

          @paul53
          @mickym

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

          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

          862

          Online

          32.4k

          Benutzer

          81.5k

          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