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. ioBroker Allgemein
  4. [gelöst] JSON Wert in Datenpunkt schreiben

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    535

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

[gelöst] JSON Wert in Datenpunkt schreiben

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
12 Beiträge 5 Kommentatoren 1.5k Aufrufe 4 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.
  • RaspiUserR RaspiUser

    ... wieder ein Anfängerfehler (bzw. die Sache mit dem Wald und den Bäumen ...), oder ?

    Ich möchte die Leistungswerte von Hichi-Leseköpfen in Datenpunkte schreiben.

    Das Parsen klappt, keine Fehler(meldungen) im Blockly ...
    Blockly.JPG
    ... aber die DP (Zahl) werden nicht geschrieben.
    DP.JPG
    Danke für die Hilfe ...

    haus-automatisierungH Online
    haus-automatisierungH Online
    haus-automatisierung
    Developer Most Active
    schrieb am zuletzt editiert von
    #3

    @raspiuser sagte in JSON Wert in Datenpunkt schreiben:

    Das Parsen klappt, keine Fehler(meldungen) im Blockly ...

    1. Ist es ziemlich umständlich, über JavaScript einen HTTP-Request auf die eigene API auszulösen, welche dann wieder auf einen Datenpunkt zugreift, den Du doch auch direkt in Blockly lesen könntest. Warum der Umweg?
    2. solltest Du entweder JSONata ODER "Attribut von Objekt" verwenden. Das so zu schachteln ist unnötig
    3. geht es viel einfacher, wenn man direkt einen Alias verwendet um den Wert zu extrahieren, so wie von @Codierknecht bereits beschrieben

    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
    📚 Meine inoffizielle ioBroker Dokumentation

    RaspiUserR 1 Antwort Letzte Antwort
    1
    • haus-automatisierungH haus-automatisierung

      @raspiuser sagte in JSON Wert in Datenpunkt schreiben:

      Das Parsen klappt, keine Fehler(meldungen) im Blockly ...

      1. Ist es ziemlich umständlich, über JavaScript einen HTTP-Request auf die eigene API auszulösen, welche dann wieder auf einen Datenpunkt zugreift, den Du doch auch direkt in Blockly lesen könntest. Warum der Umweg?
      2. solltest Du entweder JSONata ODER "Attribut von Objekt" verwenden. Das so zu schachteln ist unnötig
      3. geht es viel einfacher, wenn man direkt einen Alias verwendet um den Wert zu extrahieren, so wie von @Codierknecht bereits beschrieben
      RaspiUserR Offline
      RaspiUserR Offline
      RaspiUser
      schrieb am zuletzt editiert von
      #4

      Danke ! an euch Beide.
      @Codierknecht @haus-automatisierung
      OK, "Variante 2" bzw. "3." probiere ich ... (... mit "Aliase" kenne ich mich (noch) weniger aus ...)

      @haus-automatisierung said in JSON Wert in Datenpunkt schreiben:

      Warum der Umweg?

      Weil ich es nicht besser kannte / konnte ... :confused:

      Trotzdem mal als Lerneffekt:
      Warum funktioniert der erste Ansatz nicht (Auch wenn er umständlich ist) ?
      Und wie lautet die Blockly Anweisung um direkt zu lesen ?
      (Mit 6cc1cba1-6d5b-438d-875f-b6f073299125-grafik.png hat es erst recht nicht funktioniert ...)

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • RaspiUserR RaspiUser

        Danke ! an euch Beide.
        @Codierknecht @haus-automatisierung
        OK, "Variante 2" bzw. "3." probiere ich ... (... mit "Aliase" kenne ich mich (noch) weniger aus ...)

        @haus-automatisierung said in JSON Wert in Datenpunkt schreiben:

        Warum der Umweg?

        Weil ich es nicht besser kannte / konnte ... :confused:

        Trotzdem mal als Lerneffekt:
        Warum funktioniert der erste Ansatz nicht (Auch wenn er umständlich ist) ?
        Und wie lautet die Blockly Anweisung um direkt zu lesen ?
        (Mit 6cc1cba1-6d5b-438d-875f-b6f073299125-grafik.png hat es erst recht nicht funktioniert ...)

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

        @raspiuser
        Vergiss das mit dem HTTP-Request. Das ist völliger Quatsch.
        Wenn Du es - aus welchem Grund auch immer - unbedingt per Script machen willst, dann (prinzipiell) so:
        ed892cae-3e9f-424c-8bb1-566d974a69d3-image.png
        Du triggerst auf den DP mit dem JSON. In "Wert" steht dann das komplette JSON, das Du dann auseinanderpflücken kannst.
        "Wert" findest Du im Bereich "Trigger" - dort noch als Block "Objekt ID" ... das wird dann entsprechend geändert.

        Aber schau Dir das mit den Aliasen an.
        Die werden wie DP unter 0_userdata.0 auch ganz einfach im Baum - natürlich unter alias.0 - angelegt und dann wie oben gezeigt eingestellt.
        Damit spart man sich möglicherweise 'ne ganze Menge Scripte.
        Und auch sonst sind die sehr hilfreich. Falls sich mal ein Gerät verabschiedet und ersetzt wird, lässt man nur den Alias woanders "hingucken". Alle Scripte und Visualisierungen die sich auf den Alias beziehen funktionieren dann auch mit dem neuen Gerät.

        "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

        RaspiUserR 1 Antwort Letzte Antwort
        1
        • CodierknechtC Codierknecht

          @raspiuser
          Vergiss das mit dem HTTP-Request. Das ist völliger Quatsch.
          Wenn Du es - aus welchem Grund auch immer - unbedingt per Script machen willst, dann (prinzipiell) so:
          ed892cae-3e9f-424c-8bb1-566d974a69d3-image.png
          Du triggerst auf den DP mit dem JSON. In "Wert" steht dann das komplette JSON, das Du dann auseinanderpflücken kannst.
          "Wert" findest Du im Bereich "Trigger" - dort noch als Block "Objekt ID" ... das wird dann entsprechend geändert.

          Aber schau Dir das mit den Aliasen an.
          Die werden wie DP unter 0_userdata.0 auch ganz einfach im Baum - natürlich unter alias.0 - angelegt und dann wie oben gezeigt eingestellt.
          Damit spart man sich möglicherweise 'ne ganze Menge Scripte.
          Und auch sonst sind die sehr hilfreich. Falls sich mal ein Gerät verabschiedet und ersetzt wird, lässt man nur den Alias woanders "hingucken". Alle Scripte und Visualisierungen die sich auf den Alias beziehen funktionieren dann auch mit dem neuen Gerät.

          RaspiUserR Offline
          RaspiUserR Offline
          RaspiUser
          schrieb am zuletzt editiert von
          #6

          @codierknecht said in JSON Wert in Datenpunkt schreiben:

          Wenn Du es - aus welchem Grund auch immer - unbedingt per Script machen willst, dann (prinzipiell) so:

          Ich wollte nur den Leistungs-Wert parsen, sonst nix.
          Das ist so wie beim arbeiten mit Word-Dokumenten .... man nimmt die bekannten "einfachen" Funktionen und hofft das es klappt obwohl es einen eleganteren und schnelleren Weg in irgendwelchen Untermenüs gibt.
          Nur zum Verständnis: Dein Blockly Vorschlag bringt als Debug Ausgabe 0a1775bf-14b4-41b3-9759-2a34c29a5a2c-grafik.png ... da hätte ich jetzt den kompletten JSON erwartet, oder ?

          @codierknecht said in JSON Wert in Datenpunkt schreiben:

          unter alias.0 - angelegt und dann wie oben gezeigt eingestellt.

          Hat super funktioniert !!!! Vielen Dank für den Screenshot ! :+1:

          Letzte Frage: Wo kann man mehr zu den "Konvertierungsfunktionen " bzw. Syntax "Konverter Lesen / Schreiben" informieren ?

          haus-automatisierungH CodierknechtC 2 Antworten Letzte Antwort
          0
          • RaspiUserR RaspiUser

            @codierknecht said in JSON Wert in Datenpunkt schreiben:

            Wenn Du es - aus welchem Grund auch immer - unbedingt per Script machen willst, dann (prinzipiell) so:

            Ich wollte nur den Leistungs-Wert parsen, sonst nix.
            Das ist so wie beim arbeiten mit Word-Dokumenten .... man nimmt die bekannten "einfachen" Funktionen und hofft das es klappt obwohl es einen eleganteren und schnelleren Weg in irgendwelchen Untermenüs gibt.
            Nur zum Verständnis: Dein Blockly Vorschlag bringt als Debug Ausgabe 0a1775bf-14b4-41b3-9759-2a34c29a5a2c-grafik.png ... da hätte ich jetzt den kompletten JSON erwartet, oder ?

            @codierknecht said in JSON Wert in Datenpunkt schreiben:

            unter alias.0 - angelegt und dann wie oben gezeigt eingestellt.

            Hat super funktioniert !!!! Vielen Dank für den Screenshot ! :+1:

            Letzte Frage: Wo kann man mehr zu den "Konvertierungsfunktionen " bzw. Syntax "Konverter Lesen / Schreiben" informieren ?

            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #7

            @raspiuser sagte in [gelöst] JSON Wert in Datenpunkt schreiben:

            Letzte Frage: Wo kann man mehr zu den "Konvertierungsfunktionen " bzw. Syntax "Konverter Lesen / Schreiben" informieren ?

            Ich habe dazu hier ein paar Beispiele zusammengetragen: https://iobroker.readthedocs.io/de/latest/basics/aliases.html

            Und sonst gibts einige Beispiele im Master Kurs

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            RaspiUserR 1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @raspiuser sagte in [gelöst] JSON Wert in Datenpunkt schreiben:

              Letzte Frage: Wo kann man mehr zu den "Konvertierungsfunktionen " bzw. Syntax "Konverter Lesen / Schreiben" informieren ?

              Ich habe dazu hier ein paar Beispiele zusammengetragen: https://iobroker.readthedocs.io/de/latest/basics/aliases.html

              Und sonst gibts einige Beispiele im Master Kurs

              RaspiUserR Offline
              RaspiUserR Offline
              RaspiUser
              schrieb am zuletzt editiert von RaspiUser
              #8

              @haus-automatisierung said in [gelöst] JSON Wert in Datenpunkt schreiben:
              Danke für den Link.

              Master Kurs

              .... dann muss ich da mal wieder reinschauen ...:blush:

              1 Antwort Letzte Antwort
              1
              • RaspiUserR RaspiUser

                @codierknecht said in JSON Wert in Datenpunkt schreiben:

                Wenn Du es - aus welchem Grund auch immer - unbedingt per Script machen willst, dann (prinzipiell) so:

                Ich wollte nur den Leistungs-Wert parsen, sonst nix.
                Das ist so wie beim arbeiten mit Word-Dokumenten .... man nimmt die bekannten "einfachen" Funktionen und hofft das es klappt obwohl es einen eleganteren und schnelleren Weg in irgendwelchen Untermenüs gibt.
                Nur zum Verständnis: Dein Blockly Vorschlag bringt als Debug Ausgabe 0a1775bf-14b4-41b3-9759-2a34c29a5a2c-grafik.png ... da hätte ich jetzt den kompletten JSON erwartet, oder ?

                @codierknecht said in JSON Wert in Datenpunkt schreiben:

                unter alias.0 - angelegt und dann wie oben gezeigt eingestellt.

                Hat super funktioniert !!!! Vielen Dank für den Screenshot ! :+1:

                Letzte Frage: Wo kann man mehr zu den "Konvertierungsfunktionen " bzw. Syntax "Konverter Lesen / Schreiben" informieren ?

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

                @raspiuser sagte in [gelöst] JSON Wert in Datenpunkt schreiben:

                Nur zum Verständnis: Dein Blockly Vorschlag bringt als Debug Ausgabe ... da hätte ich jetzt den kompletten JSON erwartet, oder ?

                Dann hast Du entweder auf den falschen DP getriggert oder das Attribut nicht korrekt benannt.

                Egal - wenn Du mit den Aliasen klarkommst, nimm die. Ist am einfachsten.

                "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
                • CodierknechtC Codierknecht

                  @raspiuser
                  2 Möglichkeiten:
                  1.) Du verwendest den Sonoff-Adapter und hast dort bereits die passenden Datenpunkte.
                  2.) Du verwendest MQTT und erzeugst Dir Aliase. Dort kann man über die Konvertierungsfunktion gleich das JSON parsen ... ohne zusätzliches Script.

                  Für Variante 2:
                  8e23dd10-6d8c-47f4-bb25-3b5a7a2a5808-image.png

                  M Offline
                  M Offline
                  martinschm
                  schrieb am zuletzt editiert von
                  #10

                  @codierknecht said in [gelöst] JSON Wert in Datenpunkt schreiben:

                  @raspiuser
                  2 Möglichkeiten:
                  1.) Du verwendest den Sonoff-Adapter und hast dort bereits die passenden Datenpunkte.
                  2.) Du verwendest MQTT und erzeugst Dir Aliase. Dort kann man über die Konvertierungsfunktion gleich das JSON parsen ... ohne zusätzliches Script.

                  Für Variante 2:
                  8e23dd10-6d8c-47f4-bb25-3b5a7a2a5808-image.png

                  Könntest du mir bitte hier mal kurz helfen.
                  Ich habe ein Alias angelegt, der auf ein MQTT State verweist der ein JSON enthält

                  e52787fb-3d3c-44b3-a0b4-331cce19d057-image.png

                  Das JSON sieht so aus
                  ae92a91e-2ede-4d98-9d47-8c13a16e4f7b-image.png

                  Die Konvertierungsaufruf "JSON.parse(val).aktuelle_wirkleistung" bringt kein Ergebnis. Ich kann leider anhand deines Beispiels nicht ganz genau rekonstruieren wie es aussehen müsste.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • M martinschm

                    @codierknecht said in [gelöst] JSON Wert in Datenpunkt schreiben:

                    @raspiuser
                    2 Möglichkeiten:
                    1.) Du verwendest den Sonoff-Adapter und hast dort bereits die passenden Datenpunkte.
                    2.) Du verwendest MQTT und erzeugst Dir Aliase. Dort kann man über die Konvertierungsfunktion gleich das JSON parsen ... ohne zusätzliches Script.

                    Für Variante 2:
                    8e23dd10-6d8c-47f4-bb25-3b5a7a2a5808-image.png

                    Könntest du mir bitte hier mal kurz helfen.
                    Ich habe ein Alias angelegt, der auf ein MQTT State verweist der ein JSON enthält

                    e52787fb-3d3c-44b3-a0b4-331cce19d057-image.png

                    Das JSON sieht so aus
                    ae92a91e-2ede-4d98-9d47-8c13a16e4f7b-image.png

                    Die Konvertierungsaufruf "JSON.parse(val).aktuelle_wirkleistung" bringt kein Ergebnis. Ich kann leider anhand deines Beispiels nicht ganz genau rekonstruieren wie es aussehen müsste.

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

                    @martinschm sagte: "JSON.parse(val).aktuelle_wirkleistung" bringt kein Ergebnis

                    Ist dort wirklich ein Leerstring als Attribut drin? Dann versuche es mal so

                    JSON.parse(val)[''].aktuelle_wirkleistung
                    

                    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

                    M 1 Antwort Letzte Antwort
                    1
                    • paul53P paul53

                      @martinschm sagte: "JSON.parse(val).aktuelle_wirkleistung" bringt kein Ergebnis

                      Ist dort wirklich ein Leerstring als Attribut drin? Dann versuche es mal so

                      JSON.parse(val)[''].aktuelle_wirkleistung
                      
                      M Offline
                      M Offline
                      martinschm
                      schrieb am zuletzt editiert von
                      #12

                      @paul53 said in [gelöst] JSON Wert in Datenpunkt schreiben:

                      @martinschm sagte: "JSON.parse(val).aktuelle_wirkleistung" bringt kein Ergebnis

                      Ist dort wirklich ein Leerstring als Attribut drin? Dann versuche es mal so

                      JSON.parse(val)[''].aktuelle_wirkleistung
                      

                      Ja war es. Ich hab es in der Config des Gerätes geändert, dann ist es sauberer.

                      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
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      446

                      Online

                      32.5k

                      Benutzer

                      81.8k

                      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