Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Json oder xml in Blockly nutzen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Json oder xml in Blockly nutzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Paan83 last edited by

      Hallo,
      lese meine PV Analage über eine url-request aus, und bekomme entweder ein json- oder xml-Format als Antwort. Damit kann ja aber nicht direkt in Blockly arbeiten. Ich hab schonmal versucht die Suche zu bemühen, aber ich habe nicht das richtige gefunden. Da ich kein Javascript kann, würde ich gerne soweit wie möglich alles in Blockly machen.
      Ich hab mal was gelesen, das man das parsen müsste, aber da habe ich leider keine Ahnung wie das gehen soll. Nachfolgend poste ich mal die Antwort, die ich von der PV Anlage bekomme. Ich möchte eigentlich nur den Zahlenwert "3657.0" in eine Variable schreiben, damit ich damit weiterarbeiten kann.

      Anmerkung 2020-02-28 145244.png

      Danke euch schonmal

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Paan83 last edited by

        @Paan83 sagte:

        ein json- oder xml-Format als Antwort.

        Das JSON-Format lässt sich leicht verarbeiten.

        Blockly_temp.JPG

        Den Teil zwischen energyDetails und value musst Du selbst ergänzen.

        1 Reply Last reply Reply Quote 0
        • P
          Paan83 last edited by

          Den Attribut Baustein verstehe ich jetzt nicht auf anhieb.

          Ich habs mal so probiert:
          Anmerkung 2020-02-28 152200.png

          Wird mit dem "JSON nach Objekt" Block das Json Format schon so umgewandelt dass ich in Blockly damit arbeiten kann? Oder gehört dazu eben noch dieser Attribut Block?
          Wie man auf dem Screenshot sieht, gibt er mir nur zwei Klammern zurück

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Paan83 last edited by

            @Paan83 sagte:

            Wird mit dem "JSON nach Objekt" Block das Json Format schon so umgewandelt dass ich in Blockly damit arbeiten kann?

            Ja.

            @Paan83 sagte in Json oder xml in Blockly nutzen:

            gehört dazu eben noch dieser Attribut Block?

            Damit greift man auf ein Attribut des Objektes zu.

            @Paan83 sagte in Json oder xml in Blockly nutzen:

            gibt er mir nur zwei Klammern zurück

            Die Wandlung und weitere Verarbeitung muss innerhalb (Callback-Funktion) von request erfolgen.

            Blockly_temp.JPG

            P 2 Replies Last reply Reply Quote 1
            • P
              Paan83 @paul53 last edited by

              @paul53 Super!! Vielen Dank!! Jetzt klappt es👍

              1 Reply Last reply Reply Quote 0
              • P
                Paan83 @paul53 last edited by

                @paul53 Ich hab das Ergebnis jetzt versucht mit den Textbausteinen auseinanderzupflücken um den Zahlenwert zu isolieren, aber da bekomme ich direkt eine Fehlermeldung. Geht das nicht damit?

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Paan83 last edited by paul53

                  @Paan83 sagte:

                  das Ergebnis jetzt versucht mit den Textbausteinen auseinanderzupflücken um den Zahlenwert zu isolieren

                  ?? Das Attribut "energyDetails.meters[0].values[0].value" sollte direkt den Zahlenwert liefern (als Zahl).

                  Poste mal die komplette JSON-Ausgabe in Code tags, dann kann ich es testen.

                  P Homoran 2 Replies Last reply Reply Quote 0
                  • P
                    Paan83 @paul53 last edited by

                    @paul53 sorry komme heute nicht mehr an den Rechner. Ich würde nur gern verstehen was dieser Attribut-Block macht?

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Paan83 last edited by

                      @Paan83 sagte in Json oder xml in Blockly nutzen:

                      @paul53 sorry komme heute nicht mehr an den Rechner. Ich würde nur gern verstehen was dieser Attribut-Block macht?

                      im json ist ähnlich deinem XML immer ein Feld mit namen und dazu ein zweites Feld mit Wert.
                      Dieser Wert ist das Attribut des Namens

                      1 Reply Last reply Reply Quote 0
                      • P
                        Paan83 last edited by Paan83

                        Ich habs mal genauso gemacht wie @paul53 es gezeigt hat, und leider ist das Resultat: undefined!
                        Anmerkung 2020-02-29 175326.png

                        paul53 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @paul53 last edited by

                          @Paan83
                          Hast du das gemacht?

                          @paul53 sagte in Json oder xml in Blockly nutzen:

                          Poste mal die komplette JSON-Ausgabe in Code tags, dann kann ich es testen.

                          ich habe es nicht gefunden.

                          Hast du mal mit debug Blöcken nachgesehen, was bei den Schritten passiert?

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Paan83 last edited by paul53

                            @Paan83 sagte:

                            Ich habs mal genauso gemacht wie @paul53 es gezeigt hat

                            Hast Du nicht ! Die Debug-Ausgabe von Zahl erfolgt 1 s vor Ermittlung des Wertes.

                            1 Reply Last reply Reply Quote 0
                            • P
                              Paan83 last edited by

                              Ja sorry hab das Skript jetzt geändert. Jetzt kommt null dabei heraus.
                              Anmerkung 2020-02-29 175326.png

                              Beim ersten Debug Result kommt ja das Richtige dabei raus. Was könnte ich noch debugen?

                              @Homoran sagte in Json oder xml in Blockly nutzen:

                              Poste mal die komplette JSON-Ausgabe in Code tags, dann kann ich es testen.

                              Soll ich das Skript einfach exportieren und hier posten? Sorry aber ich verstehe nicht ganz was JSON-Ausgabe in Code Tags bedeuten soll

                              Homoran paul53 3 Replies Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @Paan83 last edited by

                                @Paan83 sagte in Json oder xml in Blockly nutzen:

                                Sorry aber ich verstehe nicht ganz was JSON-Ausgabe in Code Tags bedeuten soll

                                dann bitte fragen, wenn man darum gebeten wird und nicht weiß was das ist!"

                                Du bekommst im ersten debug das json als result
                                Das hätte paul gerne. in Code-Tags, das ist das 5. Icon über dem Textfeld.

                                P 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Paan83 last edited by paul53

                                  @Paan83 sagte in Json oder xml in Blockly nutzen:

                                  was JSON-Ausgabe in Code Tags bedeuten soll

                                  Die Log-Ausgabe mit dem JSON kann per Copy & Paste in das Forum übertragen werden, wobei sie möglichst innerhalb von Code tags (5. Symbol oben: </>) gepostet werden sollte.

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    Paan83 @Homoran last edited by Paan83

                                    @Homoran sagte in Json oder xml in Blockly nutzen:

                                    dann bitte fragen, wenn man darum gebeten wird und nicht weiß was das ist!"

                                    Ja ok, bitte entschuldige mich.

                                    29.2.2020, 18:24:20.103	[info ]: javascript.0 (14774) script.js.Skripte.Solaredge.API_per_Blockly_auslesen: {"energyDetails":{"timeUnit":"DAY","unit":"Wh","meters":[{"type":"Production","values":[{"date":"2020-02-29 00:00:00","value":16029.0}]}]}}
                                    29.2.2020, 18:24:20.104	[info ]: javascript.0 (14774) script.js.Skripte.Solaredge.API_per_Blockly_auslesen: {'energyDetails':{'timeUnit':'DAY','unit':'Wh','meters':[{'type':'Production','values':[{'date':'2020-02-29 00:00:00','value':16029}]}]}}
                                    

                                    Ich hoffe das ist das Richtige?

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Paan83 last edited by paul53

                                      @Paan83 sagte:

                                      Ich hoffe das ist das Richtige?

                                      Jetzt ja.

                                      1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @Paan83 last edited by paul53

                                        @Paan83
                                        Offenbar kann getAttr() nicht mit Arrays umgehen. Dann muss man das etwas aufwändiger gestalten:

                                        Blockly_temp.JPG

                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          Paan83 @paul53 last edited by

                                          @paul53 1000 Dank! Jetzt ist die Zahl da 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            Paan83 last edited by

                                            Sorry wenn ich nochmal störe. Ich habe versucht die Zahl in einen Datenpunkt zu schreiben, aber das funktioniert nicht. Muss ich hier nochmal was umwandeln?Bildschirmfoto 2020-02-29 um 23.48.27.png

                                            29.2.2020, 23:47:42.332	[info ]: javascript.0 (14774) Start javascript script.js.Skripte.Solaredge.API_per_Blockly_auslesen
                                            29.2.2020, 23:47:42.338	[info ]: javascript.0 (14774) script.js.Skripte.Solaredge.API_per_Blockly_auslesen: registered 0 subscriptions and 1 schedule
                                            29.2.2020, 23:47:50.094	[info ]: javascript.0 (14774) script.js.Skripte.Solaredge.API_per_Blockly_auslesen: 18365
                                            29.2.2020, 23:47:50.094	[warn ]: javascript.0 (14774)     at Request._callback (script.js.Skripte.Solaredge.API_per_Blockly_auslesen:11:5)
                                            
                                            paul53 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            882
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            3
                                            22
                                            3256
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo