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. JavaScript
  5. Java Script - Objekt JSON

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Java Script - Objekt JSON

Geplant Angeheftet Gesperrt Verschoben JavaScript
8 Beiträge 5 Kommentatoren 374 Aufrufe 3 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.
  • S Offline
    S Offline
    SchmidiV
    schrieb am zuletzt editiert von Homoran
    #1

    Hallo Forum,

    ich würde gerne ein JSON Objekt als Datenspeicher nutzen. Das Datenformat habe ich in den Objekten angelegt und entsprechend angepasst. Die Werte "erzeugteLeistungHeute"... möchte ich per Java Script bearbeiten.

    Im Script müsste ich den Wert aus dem JSON File zunächst lesen, dann bearbeiten und letztlich zurückschreiben. Ist das überhaupt möglich? Gibt es ein einfaches Beispiel? Danke dafür!

    {
      "common": {
        "name": "jsonPVdata",
        "desc": "Manuell erzeugt",
        "role": "state",
        "type": "json",
        "read": true,
        "write": true
      },
      "type": "state",
      "native": {},
      "_id": "javascript.0.VarTracePV-Anlage.jsonPVdata",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator",
        "erzeugteLeistungHeute": 0,
        "erzeugteLeistungGestern": 0,
        "erzeugteLeistungWoche": 0,
        "erzeugteLeistungMonat": 0
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1738592436301
    }
    

    MOD-EDIT: Code in code-tags gesetzt!

    paul53P OliverIOO 2 Antworten Letzte Antwort
    0
    • S SchmidiV

      Hallo Forum,

      ich würde gerne ein JSON Objekt als Datenspeicher nutzen. Das Datenformat habe ich in den Objekten angelegt und entsprechend angepasst. Die Werte "erzeugteLeistungHeute"... möchte ich per Java Script bearbeiten.

      Im Script müsste ich den Wert aus dem JSON File zunächst lesen, dann bearbeiten und letztlich zurückschreiben. Ist das überhaupt möglich? Gibt es ein einfaches Beispiel? Danke dafür!

      {
        "common": {
          "name": "jsonPVdata",
          "desc": "Manuell erzeugt",
          "role": "state",
          "type": "json",
          "read": true,
          "write": true
        },
        "type": "state",
        "native": {},
        "_id": "javascript.0.VarTracePV-Anlage.jsonPVdata",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "erzeugteLeistungHeute": 0,
          "erzeugteLeistungGestern": 0,
          "erzeugteLeistungWoche": 0,
          "erzeugteLeistungMonat": 0
        },
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1738592436301
      }
      

      MOD-EDIT: Code in code-tags gesetzt!

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @schmidiv sagte: in den Objekten angelegt und entsprechend angepasst.

      Diese "Anpassung" ist unzulässig!
      Zur die Ermittlung von Periodenwerten der Energie dient der Sourceanalytix-Adapter.

      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
      • S Offline
        S Offline
        SchmidiV
        schrieb am zuletzt editiert von
        #3

        @paul53 said in Java Script - Objekt JSON:

        Diese "Anpassung" ist unzulässig!

        Fehlermeldung kam keine und JSON ist ein frei definierbarer Datentyp. Funktioniert das so überhaupt nicht oder gibt es Möglichkeiten?

        paul53P CodierknechtC 2 Antworten Letzte Antwort
        0
        • S SchmidiV

          @paul53 said in Java Script - Objekt JSON:

          Diese "Anpassung" ist unzulässig!

          Fehlermeldung kam keine und JSON ist ein frei definierbarer Datentyp. Funktioniert das so überhaupt nicht oder gibt es Möglichkeiten?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @schmidiv sagte: JSON ist ein frei definierbarer Datentyp.

          Ja, wenn der Datenpunkt-Wert ein JSON enthalten soll, ist das in Ordnung. Das Datenpunkt-Objekt darf nicht unter "acl" manipuliert werden. Außerdem erstellt man eigene Datenpunkte unter "0_userdata.0".
          Sourceanalytix erzeugt für "erzeugteEnergieHeute", "erzeugteEnergieGestern", "erzeugteEnergieWoche" und "erzeugteEnergieMonat" getrennte Datenpunkte. Das hat den Vorteil, dass die Periodenwerte historisiert und im Chart dargestellt werden können. Der Datenspeicher ist die History-DB.

          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
          • T Offline
            T Offline
            ticaki
            schrieb am zuletzt editiert von ticaki
            #5

            Wenn man im Objekt etwas einfügen will gehört das nach native alles andere ist definiert. Aber Datenpunkt ist definitiv die bessere Wahl. Im native "versteckt" man Daten die niemanden interessieren und intern im Adapter/Skript verwendet werden. :)

            mit JSON.Parse() JSON.stringify() kann man JSONs in String-Datenpunkte mit der role: 'json' schreiben.

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            1 Antwort Letzte Antwort
            0
            • S SchmidiV

              @paul53 said in Java Script - Objekt JSON:

              Diese "Anpassung" ist unzulässig!

              Fehlermeldung kam keine und JSON ist ein frei definierbarer Datentyp. Funktioniert das so überhaupt nicht oder gibt es Möglichkeiten?

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von Codierknecht
              #6

              @schmidiv sagte in Java Script - Objekt JSON:

              JSON ist ein frei definierbarer Datentyp

              Ja - aber man manipuliert keine JSON-Struktur, die andere (ioBroker) sich ausgedacht haben.
              Eigene Inhalte kommen in den Inhalt eines DP.

              Den kann man - wie @ticaki schon schrieb - mit JSON.parse() auslesen, manipulieren und mit JSON.stringify() wieder in einen String wandeln und zurückschreiben.
              Der Typ "string" hat den Vorteil, dass man da auch mal schnell "mit der Hand am Arm" eingreifen kann.

              Ansonsten würde auch ich eher Sourceanalytics empfehlen. Der ist genau für sowas gemacht.

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              T 1 Antwort Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @schmidiv sagte in Java Script - Objekt JSON:

                JSON ist ein frei definierbarer Datentyp

                Ja - aber man manipuliert keine JSON-Struktur, die andere (ioBroker) sich ausgedacht haben.
                Eigene Inhalte kommen in den Inhalt eines DP.

                Den kann man - wie @ticaki schon schrieb - mit JSON.parse() auslesen, manipulieren und mit JSON.stringify() wieder in einen String wandeln und zurückschreiben.
                Der Typ "string" hat den Vorteil, dass man da auch mal schnell "mit der Hand am Arm" eingreifen kann.

                Ansonsten würde auch ich eher Sourceanalytics empfehlen. Der ist genau für sowas gemacht.

                T Offline
                T Offline
                ticaki
                schrieb am zuletzt editiert von
                #7

                @codierknecht
                Die role: 'json' sorgt dafür das der Admin das hübsch formatiert zum manuellen Editieren. Falls du es nicht wusstest. :)

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                1 Antwort Letzte Antwort
                2
                • S SchmidiV

                  Hallo Forum,

                  ich würde gerne ein JSON Objekt als Datenspeicher nutzen. Das Datenformat habe ich in den Objekten angelegt und entsprechend angepasst. Die Werte "erzeugteLeistungHeute"... möchte ich per Java Script bearbeiten.

                  Im Script müsste ich den Wert aus dem JSON File zunächst lesen, dann bearbeiten und letztlich zurückschreiben. Ist das überhaupt möglich? Gibt es ein einfaches Beispiel? Danke dafür!

                  {
                    "common": {
                      "name": "jsonPVdata",
                      "desc": "Manuell erzeugt",
                      "role": "state",
                      "type": "json",
                      "read": true,
                      "write": true
                    },
                    "type": "state",
                    "native": {},
                    "_id": "javascript.0.VarTracePV-Anlage.jsonPVdata",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator",
                      "erzeugteLeistungHeute": 0,
                      "erzeugteLeistungGestern": 0,
                      "erzeugteLeistungWoche": 0,
                      "erzeugteLeistungMonat": 0
                    },
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1738592436301
                  }
                  

                  MOD-EDIT: Code in code-tags gesetzt!

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #8

                  @schmidiv

                  Da es jetzt noch nicht so deutlich da stand.
                  Du legst einen Datenpunkt unter 0_userdata mit Typ String/Text an
                  Den Wert kannst du mit getState und setState lesen und schreiben.
                  Ein json Objekt das als Text vorliegt kannst du mit JSON.parse in ein Objekt umwandeln und vor dem Schreiben wieder mit JSON.stringify in Text umwandeln.

                  Das ist einfacher wie mit getObject und extendObject zu hantieren.

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

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


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  694

                  Online

                  32.5k

                  Benutzer

                  81.7k

                  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