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. JSON Wert mit Blockly schreiben

NEWS

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

JSON Wert mit Blockly schreiben

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
41 Beiträge 10 Kommentatoren 3.9k Aufrufe 7 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.
  • L Lucky_ESA

    @jr28 sagte in JSON Wert mit Blockly schreiben:

    @paul53

    das heißt, dass ich das json immer erst komplett zusammenbauen muss, um es dann als Text in das Objekt zu schreiben?

    Das Blockly ist für dich gedacht.

    @paul53
    Wie man die Function und die Variablen benennt ist jedem selber überlassen. Jeder hat sein eigenes System wie man was wie schreibt. Ein return dient bei großen Blocklys zur besseren Übersicht. Aber auch das ist jedem selber überlassen.

    Gruß//Lucky

    CodierknechtC Offline
    CodierknechtC Offline
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von
    #28

    @lucky_esa sagte in JSON Wert mit Blockly schreiben:

    Wie man die Function und die Variablen benennt ist jedem selber überlassen

    Klar, aber Code wird zum allergrößten Teil gelesen. Alte Weisheit: "Jeder Code muss irgendwann gewartet werden".
    Dann sitzt man davor und denkt sich "welcher Horst hat das denn verbrochen?" ... um dann nach mehr oder langem Sinnieren festzustellen ... "Upps, ist ja mein Code" :grin:

    Choose descriptive and unambiguous names
    "Clean Code" (Robert C. Martin)

    "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
    • mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #29

      Blockly, Objekte und JSON einfach nur grauslig. :grimacing:

      Verstehe nicht warum man Eigenschaften von Objekten lesen kann

      fc9e3c08-4664-4d1e-9cd4-54f2d64ce150-image.png

      JSONs in Objekte und umgekehrt wandeln kann.

      b92c7205-5966-49d5-985d-627bf6587d03-image.png

      aber man nicht in der Lage ist Attribute in einem Objekt zu beschreiben. Einfach schlimm. ;)

      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
      • J jr28

        @paul53

        da ich mir sicher sein wollte alles richtig zu machen habe ich folgendes gemacht:

        fab2bff5-0fc8-4d21-95e5-026acefb6b4b-image.png

        Wieso schlägt der Vergleich fehl?
        Ich will absolut sicher sein bevor ich in den Tiefen meines Tesla was schreibe.

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

        @jr28 sagte: Wieso schlägt der Vergleich fehl?

        So ein String-Vergleich ist problematisch, da schon ein Leerzeichen mehr oder weniger oder ein unsichtbares Sonderzeichen zu einem negativen Ergebnis führen. Dabei spielen Leerzeichen im JSON keine Rolle.
        Deshalb mache mal - nur für den Vergleich - eine doppelte Konvertierung JSON --> Objekt --> JSON.

        Bild_2022-11-17_225450634.png

        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
        • K Offline
          K Offline
          kalle-r
          schrieb am zuletzt editiert von
          #31

          hmmm.... bei mir klappt das irgendwie nicht:

          hab einen Datenpunkt "test" vom Typ JSON

          [
            {
              "Art": "A1",
              "Tag": "A2"
            },
            {
              "Art": "B1",
              "Tag": "B2"
            },
            {
              "Art": "C1",
              "Tag": "C2"
            }
          ]
          

          Blockly von oben:

          1.jpg

          Result:

          2.jpg

          hat jemand eine Idee wo das hängt?

          DJMarc75D paul53P 2 Antworten Letzte Antwort
          0
          • K kalle-r

            hmmm.... bei mir klappt das irgendwie nicht:

            hab einen Datenpunkt "test" vom Typ JSON

            [
              {
                "Art": "A1",
                "Tag": "A2"
              },
              {
                "Art": "B1",
                "Tag": "B2"
              },
              {
                "Art": "C1",
                "Tag": "C2"
              }
            ]
            

            Blockly von oben:

            1.jpg

            Result:

            2.jpg

            hat jemand eine Idee wo das hängt?

            DJMarc75D Offline
            DJMarc75D Offline
            DJMarc75
            schrieb am zuletzt editiert von
            #32

            @kalle-r Warum sollte das auch funktionieren ?! Wo bitte gibt es in Deinem Json das Attribute "1.Tag" ?

            Lehrling seit 1975 !!!
            Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
            https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

            K 1 Antwort Letzte Antwort
            0
            • K kalle-r

              hmmm.... bei mir klappt das irgendwie nicht:

              hab einen Datenpunkt "test" vom Typ JSON

              [
                {
                  "Art": "A1",
                  "Tag": "A2"
                },
                {
                  "Art": "B1",
                  "Tag": "B2"
                },
                {
                  "Art": "C1",
                  "Tag": "C2"
                }
              ]
              

              Blockly von oben:

              1.jpg

              Result:

              2.jpg

              hat jemand eine Idee wo das hängt?

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

              @kalle-r sagte: klappt das irgendwie nicht

              Wie soll man das beurteilen, wenn der Inhalt der JS-Funktion verschwiegen wird?

              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

              K 1 Antwort Letzte Antwort
              0
              • DJMarc75D DJMarc75

                @kalle-r Warum sollte das auch funktionieren ?! Wo bitte gibt es in Deinem Json das Attribute "1.Tag" ?

                K Offline
                K Offline
                kalle-r
                schrieb am zuletzt editiert von
                #34

                @djmarc75
                sorry, bin nur so ein halbwissender :sunglasses:
                also nach meinem bisherigen Ermittlungen kann ich mit
                0.xxx
                1.xxx
                2.xxx
                auf die jeweiligen Einträge zugreifen.
                0.Tag liefert A2
                1.Tag liefert B2
                2.Tag liefert C2
                1.Art liefert entsprechend B1
                das funktioniert so weit.
                Ich möchte jetzt z.B. aus B2 einen anderen Text machen und habe gehofft daß das mit dem Skript
                von weiter oben klappt....

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @kalle-r sagte: klappt das irgendwie nicht

                  Wie soll man das beurteilen, wenn der Inhalt der JS-Funktion verschwiegen wird?

                  K Offline
                  K Offline
                  kalle-r
                  schrieb am zuletzt editiert von
                  #35

                  @paul53
                  ja Du hast Recht, hier der Inhalt:

                  3.jpg

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • K kalle-r

                    @paul53
                    ja Du hast Recht, hier der Inhalt:

                    3.jpg

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

                    @kalle-r sagte: hier der Inhalt

                    Versuche es mal mit dieser JS-Funktion (ohne Ergebnis, denn ein Array wird ohnehin per Referenz übergeben):

                    att = att.split('.');
                    arr[att[0]][att[1]] = value;
                    

                    Bild_2022-12-08_180119672.png

                    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

                    K 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @kalle-r sagte: hier der Inhalt

                      Versuche es mal mit dieser JS-Funktion (ohne Ergebnis, denn ein Array wird ohnehin per Referenz übergeben):

                      att = att.split('.');
                      arr[att[0]][att[1]] = value;
                      

                      Bild_2022-12-08_180119672.png

                      K Offline
                      K Offline
                      kalle-r
                      schrieb am zuletzt editiert von
                      #37

                      @paul53
                      das schaut gut aus :+1:
                      kannst Du mir erklären warum das in Deinem Beispiel weiter oben mit dem original-Skript funktioniert hat
                      und in meinem Beispiel nicht?
                      ich will ja schliesslich was dazu lernen ;-)

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • K kalle-r

                        @paul53
                        das schaut gut aus :+1:
                        kannst Du mir erklären warum das in Deinem Beispiel weiter oben mit dem original-Skript funktioniert hat
                        und in meinem Beispiel nicht?
                        ich will ja schliesslich was dazu lernen ;-)

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

                        @kalle-r sagte: warum das in Deinem Beispiel weiter oben mit dem original-Skript funktioniert hat

                        Im Original wird das Attribut eines Objektes geändert und nicht das Attribut eines Objektes in einem Array von Objekten.

                        Anmerkung: Den Zugriff auf ein Array-Element per Punkt-Notation kennt Javascript nicht. Das kann nur die speziell für Blockly entwickelte Funktion getAttr().

                        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

                        K 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @kalle-r sagte: warum das in Deinem Beispiel weiter oben mit dem original-Skript funktioniert hat

                          Im Original wird das Attribut eines Objektes geändert und nicht das Attribut eines Objektes in einem Array von Objekten.

                          Anmerkung: Den Zugriff auf ein Array-Element per Punkt-Notation kennt Javascript nicht. Das kann nur die speziell für Blockly entwickelte Funktion getAttr().

                          K Offline
                          K Offline
                          kalle-r
                          schrieb am zuletzt editiert von
                          #39

                          @paul53
                          jetzt ist's klar, danke!
                          Noch eine doofe? Frage:
                          wie kommt man zu dem Funktionsaufruf den ich ohne debug verwenden kann?

                          Screenshot 2022-12-08 200316.jpg

                          ich hab nur den den ich nach links andocken muss

                          Screenshot 2022-12-08 200358.jpg

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • K kalle-r

                            @paul53
                            jetzt ist's klar, danke!
                            Noch eine doofe? Frage:
                            wie kommt man zu dem Funktionsaufruf den ich ohne debug verwenden kann?

                            Screenshot 2022-12-08 200316.jpg

                            ich hab nur den den ich nach links andocken muss

                            Screenshot 2022-12-08 200358.jpg

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

                            @kalle-r sagte: wie kommt man zu dem Funktionsaufruf den ich ohne debug verwenden kann?

                            Javascript-Funktion (ohne Ergebnis).

                            @paul53 sagte in JSON Wert mit Blockly schreiben:

                            (ohne Ergebnis, denn ein Array wird ohnehin per Referenz übergeben)

                            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

                            K 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @kalle-r sagte: wie kommt man zu dem Funktionsaufruf den ich ohne debug verwenden kann?

                              Javascript-Funktion (ohne Ergebnis).

                              @paul53 sagte in JSON Wert mit Blockly schreiben:

                              (ohne Ergebnis, denn ein Array wird ohnehin per Referenz übergeben)

                              K Offline
                              K Offline
                              kalle-r
                              schrieb am zuletzt editiert von
                              #41

                              @paul53
                              und nochmal was gelernt, vielen Dank!!

                              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

                              831

                              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