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. Einsteigerfragen
  4. Einbindung von Geräten
  5. Native Lösung zum parsen von JSON?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    372

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

Native Lösung zum parsen von JSON?

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
13 Beiträge 8 Kommentatoren 786 Aufrufe 5 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.
  • H Offline
    H Offline
    Horst 1
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    viele Geräte stellen ja inzwischen Daten in Form von JSON zur Verfügung, sei es über MQTT, HTTP oder auf anderem Wege.

    Aktuell kenne ich nur den Weg diese JSON-Strings via JavaScript bzw. Blockly zu zerlegen und daraus dann einzelne Datenpunkte anzulegen.

    Je mehr Datenpunkte das werden, desto größer wird er Wartungsaufwand für diese Skripte.

    Gibt es eine native Lösung im ioBroker um das gleiche Ziel zu erreichen?

    Danke, Horst

    HomoranH David G.D paul53P 3 Antworten Letzte Antwort
    0
    • H Horst 1

      Hallo zusammen,

      viele Geräte stellen ja inzwischen Daten in Form von JSON zur Verfügung, sei es über MQTT, HTTP oder auf anderem Wege.

      Aktuell kenne ich nur den Weg diese JSON-Strings via JavaScript bzw. Blockly zu zerlegen und daraus dann einzelne Datenpunkte anzulegen.

      Je mehr Datenpunkte das werden, desto größer wird er Wartungsaufwand für diese Skripte.

      Gibt es eine native Lösung im ioBroker um das gleiche Ziel zu erreichen?

      Danke, Horst

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @horst-1 sagte in Native Lösung zum parsen von JSON?:

      Gibt es eine native Lösung im ioBroker

      Was verstehst du darunter?

      Die Logikmaschine deiner Wahl ist nicht nativ in ioB?

      Außerdem
      @horst-1 sagte in Native Lösung zum parsen von JSON?:

      viele Geräte stellen ja inzwischen Daten in Form von JSON zur Verfügung

      ist wahrscheinlich jedes JSON individuell aufgebaut und müsdte genau so individuell geparst werden

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #3

        Es macht keinen Sinn aus json alles in einzelne Datenpunkte zu zerlegen. Aber du kannst dir ja auch meinen NodeRed flow anschauen, der zerlegt alles in einzelne Datenpunkte, wenn du willst und das automatisch. Sogar Äste in oder alles aus einem Adapter kann so unter 0_userdata.0 geschrieben werden.

        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
        • H Horst 1

          Hallo zusammen,

          viele Geräte stellen ja inzwischen Daten in Form von JSON zur Verfügung, sei es über MQTT, HTTP oder auf anderem Wege.

          Aktuell kenne ich nur den Weg diese JSON-Strings via JavaScript bzw. Blockly zu zerlegen und daraus dann einzelne Datenpunkte anzulegen.

          Je mehr Datenpunkte das werden, desto größer wird er Wartungsaufwand für diese Skripte.

          Gibt es eine native Lösung im ioBroker um das gleiche Ziel zu erreichen?

          Danke, Horst

          David G.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von
          #4

          @horst-1 sagte in Native Lösung zum parsen von JSON?:

          Je mehr Datenpunkte das werden, desto größer wird er Wartungsaufwand für diese Skripte.

          Warum auch alle anlegen.
          Du kannst ja auch auf das json triggern und dann mit js oder Blockly den benötigten Wert weiterverarbeiten.
          Man muss ich nicht über einen DP gehen.

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          1 Antwort Letzte Antwort
          0
          • H Horst 1

            Hallo zusammen,

            viele Geräte stellen ja inzwischen Daten in Form von JSON zur Verfügung, sei es über MQTT, HTTP oder auf anderem Wege.

            Aktuell kenne ich nur den Weg diese JSON-Strings via JavaScript bzw. Blockly zu zerlegen und daraus dann einzelne Datenpunkte anzulegen.

            Je mehr Datenpunkte das werden, desto größer wird er Wartungsaufwand für diese Skripte.

            Gibt es eine native Lösung im ioBroker um das gleiche Ziel zu erreichen?

            Danke, Horst

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

            @horst-1 sagte: JSON-Strings via JavaScript bzw. Blockly zu zerlegen

            ... oder per Lesekonvertierung im Alias.

            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

            MartinPM 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @horst-1 sagte: JSON-Strings via JavaScript bzw. Blockly zu zerlegen

              ... oder per Lesekonvertierung im Alias.

              MartinPM Online
              MartinPM Online
              MartinP
              schrieb am zuletzt editiert von MartinP
              #6

              @paul53 said in Native Lösung zum parsen von JSON?:

              @horst-1 sagte: JSON-Strings via JavaScript bzw. Blockly zu zerlegen

              ... oder per Lesekonvertierung im Alias.

              Die Dokumentation enthält leider gerade die "Kniffe" der Extraktion von Elementen aus JSON Strukturen in Datenpunkten nicht ... Klammerrechnung und Grundrechenarten werden als Beispiele gezeigt ...

              {
                "common": {
                  "name": "battery",
                  "desc": "Manuell erzeugt",
                  "role": "state",
                  "type": "number",
                  "read": true,
                  "write": false,
                  "def": 0,
                  "alias": {
                    "id": "mqtt.0.zigbee2mqtt.Aqara_Temperaturmultisensor_1",
                    "read": "JSON.parse(val).battery"
                  },
                  "custom": {
                    "influxdb.0": {
                      "enabled": true,
                      "storageType": "",
                      "aliasId": "Aquara_1_Batterie",
                      "debounceTime": 0,
                      "blockTime": 0,
                      "changesOnly": true,
                      "changesRelogInterval": 0,
                      "changesMinDelta": 0,
                      "ignoreBelowNumber": "",
                      "disableSkippedValueLogging": false,
                      "enableDebugLogs": false,
                      "debounce": 1000
                    }
                  }
                },
                "type": "state",
                "native": {},
                "_id": "alias.0.Batteriegeraete.Temperatur_Aqara_1.battery",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                },
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1704110458833
              }
              

              Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
              Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
              Linux pve 6.8.12-16-pve
              6 GByte RAM für den Container
              Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
              Remote-Access über Wireguard der Fritzbox

              H 1 Antwort Letzte Antwort
              1
              • MartinPM MartinP

                @paul53 said in Native Lösung zum parsen von JSON?:

                @horst-1 sagte: JSON-Strings via JavaScript bzw. Blockly zu zerlegen

                ... oder per Lesekonvertierung im Alias.

                Die Dokumentation enthält leider gerade die "Kniffe" der Extraktion von Elementen aus JSON Strukturen in Datenpunkten nicht ... Klammerrechnung und Grundrechenarten werden als Beispiele gezeigt ...

                {
                  "common": {
                    "name": "battery",
                    "desc": "Manuell erzeugt",
                    "role": "state",
                    "type": "number",
                    "read": true,
                    "write": false,
                    "def": 0,
                    "alias": {
                      "id": "mqtt.0.zigbee2mqtt.Aqara_Temperaturmultisensor_1",
                      "read": "JSON.parse(val).battery"
                    },
                    "custom": {
                      "influxdb.0": {
                        "enabled": true,
                        "storageType": "",
                        "aliasId": "Aquara_1_Batterie",
                        "debounceTime": 0,
                        "blockTime": 0,
                        "changesOnly": true,
                        "changesRelogInterval": 0,
                        "changesMinDelta": 0,
                        "ignoreBelowNumber": "",
                        "disableSkippedValueLogging": false,
                        "enableDebugLogs": false,
                        "debounce": 1000
                      }
                    }
                  },
                  "type": "state",
                  "native": {},
                  "_id": "alias.0.Batteriegeraete.Temperatur_Aqara_1.battery",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "from": "system.adapter.admin.0",
                  "user": "system.user.admin",
                  "ts": 1704110458833
                }
                
                H Offline
                H Offline
                Horst 1
                schrieb am zuletzt editiert von
                #7

                @martinp Danke - genau das habe ich gesucht! In 99% der Fälle genügt es mir, einen Einzelwert aus einem JSON Objekt zu extrahieren und maximal zur Einheitenumrechnung zu Skalieren.

                Mit dem Zerlegen in Datenpunkte meinte ich nicht pauschal alle Objekt-Werte per Skript zu konvertieren sondern lediglich die für mich Interessanten. Das Anlegen von Datenpunkten ist nach meinem vom IOB Verständnis unumgänglich, wenn ich die Werte zur Visualisierung in Lovelace verwenden möchte bzw. auch die History aufzeichnen möchte.

                Grüße

                MartinPM HomoranH A 3 Antworten Letzte Antwort
                0
                • H Horst 1

                  @martinp Danke - genau das habe ich gesucht! In 99% der Fälle genügt es mir, einen Einzelwert aus einem JSON Objekt zu extrahieren und maximal zur Einheitenumrechnung zu Skalieren.

                  Mit dem Zerlegen in Datenpunkte meinte ich nicht pauschal alle Objekt-Werte per Skript zu konvertieren sondern lediglich die für mich Interessanten. Das Anlegen von Datenpunkten ist nach meinem vom IOB Verständnis unumgänglich, wenn ich die Werte zur Visualisierung in Lovelace verwenden möchte bzw. auch die History aufzeichnen möchte.

                  Grüße

                  MartinPM Online
                  MartinPM Online
                  MartinP
                  schrieb am zuletzt editiert von
                  #8

                  @horst-1 Du meinst das Anlegen von Alias-Datenpunkten?

                  Das hat auch noch andere Vorteile. Wenn Geräte-Hardware kaputt geht, möchte/kann man ggfs. die Hardware nicht baugleich ersetzen. Da ist eine Alias-Schicht immer hilfreich. Fritzdect-Schaltsteckdose durch eine mit Tasmota ersetzen -> kein Problem ... Alle entsprechenden Aliase auf die neue Hardware umbiegen - fertig ... hat man auch das Thermometer in der Fritzdect gebraucht, muss man ggfs. natürlich eine Lösung mit einem zweiten Gerät finden, um über den Temperatur Alias weiter Werte zu bekommen ...

                  Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                  Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                  Linux pve 6.8.12-16-pve
                  6 GByte RAM für den Container
                  Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                  Remote-Access über Wireguard der Fritzbox

                  1 Antwort Letzte Antwort
                  0
                  • H Horst 1

                    @martinp Danke - genau das habe ich gesucht! In 99% der Fälle genügt es mir, einen Einzelwert aus einem JSON Objekt zu extrahieren und maximal zur Einheitenumrechnung zu Skalieren.

                    Mit dem Zerlegen in Datenpunkte meinte ich nicht pauschal alle Objekt-Werte per Skript zu konvertieren sondern lediglich die für mich Interessanten. Das Anlegen von Datenpunkten ist nach meinem vom IOB Verständnis unumgänglich, wenn ich die Werte zur Visualisierung in Lovelace verwenden möchte bzw. auch die History aufzeichnen möchte.

                    Grüße

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #9

                    @horst-1 sagte in Native Lösung zum parsen von JSON?:

                    Mit dem Zerlegen in Datenpunkte meinte ich nicht pauschal alle Objekt-Werte per Skript zu konvertieren sondern lediglich die für mich Interessanten.

                    und was wäre mit einer dafür wie auch immer gearteten nativen Lösung weniger pflegeaufwändig als ein miniscript oder Alias?

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    H 1 Antwort Letzte Antwort
                    0
                    • H Horst 1

                      @martinp Danke - genau das habe ich gesucht! In 99% der Fälle genügt es mir, einen Einzelwert aus einem JSON Objekt zu extrahieren und maximal zur Einheitenumrechnung zu Skalieren.

                      Mit dem Zerlegen in Datenpunkte meinte ich nicht pauschal alle Objekt-Werte per Skript zu konvertieren sondern lediglich die für mich Interessanten. Das Anlegen von Datenpunkten ist nach meinem vom IOB Verständnis unumgänglich, wenn ich die Werte zur Visualisierung in Lovelace verwenden möchte bzw. auch die History aufzeichnen möchte.

                      Grüße

                      A Offline
                      A Offline
                      Ahnungsbefreit
                      schrieb am zuletzt editiert von
                      #10

                      @horst-1 Alternativ könnte Dir vielleicht mein Script hier helfen: https://forum.iobroker.net/topic/62779/vorlage-script-json-datenpunkte-mit-sync

                      Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                      1 Antwort Letzte Antwort
                      0
                      • CodierknechtC Online
                        CodierknechtC Online
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #11

                        Ich würde auch für die Alias-Lösung plädieren.
                        Neben der Verinfachung beim Hardwaretausch hat man dadurch auch gleich die Umrechnung erschlagen.
                        Einfacher geht's fast nicht.

                        "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

                        1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @horst-1 sagte in Native Lösung zum parsen von JSON?:

                          Mit dem Zerlegen in Datenpunkte meinte ich nicht pauschal alle Objekt-Werte per Skript zu konvertieren sondern lediglich die für mich Interessanten.

                          und was wäre mit einer dafür wie auch immer gearteten nativen Lösung weniger pflegeaufwändig als ein miniscript oder Alias?

                          H Offline
                          H Offline
                          Horst 1
                          schrieb am zuletzt editiert von
                          #12

                          @homoran Die Alias-Lösung war mir bis dato mit dieser Funktion nicht bekannt, lediglich für Geräte und einfache Umrechnungen habe ich das genutzt. Das verstehe ich eigentlich auch unter einer nativen Lösung, da kein zusätzlicher Adapter benötigt wird.

                          Ich werde es bei Gelegenheit testen und dann wahrscheinlich einen Großteil meiner bisherigen Skripte über Bord werfen.

                          Danke für die rege Beteiligung an Alle!

                          CodierknechtC 1 Antwort Letzte Antwort
                          0
                          • H Horst 1

                            @homoran Die Alias-Lösung war mir bis dato mit dieser Funktion nicht bekannt, lediglich für Geräte und einfache Umrechnungen habe ich das genutzt. Das verstehe ich eigentlich auch unter einer nativen Lösung, da kein zusätzlicher Adapter benötigt wird.

                            Ich werde es bei Gelegenheit testen und dann wahrscheinlich einen Großteil meiner bisherigen Skripte über Bord werfen.

                            Danke für die rege Beteiligung an Alle!

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

                            @horst-1 sagte in Native Lösung zum parsen von JSON?:

                            Das verstehe ich eigentlich auch unter einer nativen Lösung

                            just for info: Dazu braucht es auch keinen speziellen Adapter. Einfach im Objektbaum anlegen - fertig!

                            "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

                            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

                            376

                            Online

                            32.6k

                            Benutzer

                            81.9k

                            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