Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JSON Wert mit Blockly schreiben

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    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.6k

JSON Wert mit Blockly schreiben

Scheduled Pinned Locked Moved Skripten / Logik
41 Posts 10 Posters 3.8k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P paul53

    @jr28

    Bild_2022-11-17_145209484.png

    J Offline
    J Offline
    jr28
    wrote on last edited by
    #27

    @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 1 Reply Last reply
    0
    • 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 Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      wrote on last edited by
      #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 Reply Last reply
      0
      • mickymM Offline
        mickymM Offline
        mickym
        Most Active
        wrote on last edited by 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 Reply Last reply
        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
          wrote on last edited by 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 Reply Last reply
          0
          • K Offline
            K Offline
            kalle-r
            wrote on last edited by
            #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 Replies Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                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
                  wrote on last edited by
                  #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 Reply Last reply
                  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
                    wrote on last edited by
                    #35

                    @paul53
                    ja Du hast Recht, hier der Inhalt:

                    3.jpg

                    paul53P 1 Reply Last reply
                    0
                    • K kalle-r

                      @paul53
                      ja Du hast Recht, hier der Inhalt:

                      3.jpg

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by 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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        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
                          wrote on last edited by 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 Reply Last reply
                          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
                            wrote on last edited by
                            #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 Reply Last reply
                            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
                              wrote on last edited by 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 Reply Last reply
                              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
                                wrote on last edited by
                                #41

                                @paul53
                                und nochmal was gelernt, vielen Dank!!

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                449

                                Online

                                32.5k

                                Users

                                81.7k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Home
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe