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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

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

JSON Wert mit Blockly schreiben

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
41 Beiträge 10 Kommentatoren 3.8k 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.
  • paul53P paul53

    @lucky_esa sagte: Wie man die Function und die Variablen benennt ist jedem selber überlassen.

    Ja, aber mit der Bezeichnung Array werden gerade Anfänger auf eine falsche Fährte geführt.

    L Online
    L Online
    Lucky_ESA
    Developer Most Active
    schrieb am zuletzt editiert von
    #25

    @paul53 sagte in JSON Wert mit Blockly schreiben:

    Ja, aber mit der Bezeichnung Array werden gerade Anfänger auf eine falsche Fährte geführt.

    Auch das ist Ansichtssache. Einem Anfäger mit einem Bild zu zeigen wie man ein Attribut hinzufügt statt zu ändern kann auch verwirren :grin:

    Gruß//Lucky

    paul53P 1 Antwort Letzte Antwort
    0
    • L Lucky_ESA

      @paul53 sagte in JSON Wert mit Blockly schreiben:

      Ja, aber mit der Bezeichnung Array werden gerade Anfänger auf eine falsche Fährte geführt.

      Auch das ist Ansichtssache. Einem Anfäger mit einem Bild zu zeigen wie man ein Attribut hinzufügt statt zu ändern kann auch verwirren :grin:

      Gruß//Lucky

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

      @lucky_esa sagte: Bild zu zeigen wie man ein Attribut hinzufügt statt zu ändern

      Habe das Bild geändert.

      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
      1
      • paul53P paul53

        @jr28

        Bild_2022-11-17_145209484.png

        J Offline
        J Offline
        jr28
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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 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

                                    559

                                    Online

                                    32.5k

                                    Benutzer

                                    81.6k

                                    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