Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.8k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    740

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.2k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 3 Kommentatoren 516 Aufrufe 2 Beobachtet
  • Ä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: Asus PN 42 / N100 / 8 GB / 500 GB

      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 Offline
        mickymM Offline
        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

          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

          Registrieren Anmelden
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          573

          Online

          32.9k

          Benutzer

          83.0k

          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