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 in Blockly verarbeiten und Namen von Ordnern übernehmen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JSON in Blockly verarbeiten und Namen von Ordnern übernehmen

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

      Servus.

      Ich bin dabei, meine VIS für VIS-2 zu überarbeiten. Da manches (noch) nicht funktioniert, möchte ich sehr vieles mit den "BASIC" Widgets machen.

      Für meine Adapterliste (Anzahl mit Namen, möglichen Updates etc.) möchte ich folgendes per Blockly erstellen.

      Für Updates habe ich anhand
      Servus.

      Ich bin dabei, meine VIS für VIS-2 zu überarbeiten. Da manches (noch) nicht funktioniert, möchte ich sehr vieles mit den "BASIC" Widgets machen.

      Für meine Adapterliste (Anzahl mit Namen, möglichen Updates etc.) möchte ich folgendes per Blockly erstellen.

      Für Updates habe ich anhand

      updates.png

      der updateList boolsche Datenpunkte anlegen lassen.
      Funktioniert soweit.

      Was mir partout nicht gelingen will ist, aus der updateJson die mögliche Versionsnummer in zu extrahieren.

      Sämtliche Versuche mit

      • JSON nach Object
      • Erzeuge Liste aus Text
      • Teilliste erzeugen
      • ....
        schlugen hier fehl bzw lieferten kein vernünftiges Ergebnis.

      Wie kann ich das realisieren bzw. habt ihr einen Tipp für mich?

      Zweites Problem:

      In system.adapter sind (als Ordner) alle installierten Dokumente aufgelistet.
      Ich möchte diese in Datenpunkte als Namen extrahieren.
      Desweiteren hätte ich gerne die Version der Adapter angezeigt. Wo finde ich diese?

      paul53 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Hausbaer last edited by

        @hausbaer sagte: Version der Adapter angezeigt. Wo finde ich diese?

        Im Objekt "system.adapter.Adaptername" unter common.version.

        H 1 Reply Last reply Reply Quote 1
        • H
          Hausbaer @paul53 last edited by

          @paul53 Dachte ich auch. Da ist sie aber nicht.

          8b1b3787-32d7-4308-abe7-197882382c7b-image.png

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Hausbaer last edited by mickym

            @hausbaer sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen:

            @paul53 Dachte ich auch. Da ist sie aber nicht.

            8b1b3787-32d7-4308-abe7-197882382c7b-image.png

            Ist sie doch - hier vom Admin Adapter

            222fa24b-558c-42d2-985c-b2a02df3792b-image.png

            Du musst auf die Eigenschaften des Ordners gehen und nicht auf Instanzen. In name steht der Name. 😉

            1 Reply Last reply Reply Quote 0
            • H
              Hausbaer last edited by

              @mickym Ist sie doch. 🙂

              Da muss ich aber gleich weiterfragen: Wie komme ich da mit blockly ran?

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

                @hausbaer sagte: Wie komme ich da mit blockly ran?

                Expertenmodus im ID-Selektor aktivieren und

                Blockly_temp.JPG

                H 1 Reply Last reply Reply Quote 1
                • paul53
                  paul53 @Hausbaer last edited by paul53

                  @hausbaer sagte: aus der updateJson die mögliche Versionsnummer in zu extrahieren.

                  Prinzip:

                  Blockly_temp.JPG

                  So kann man eine JSON-Liste erzeugen:

                  Blockly_temp.JPG

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

                    @paul53 Ach, so einfach? Und ich hampel schon seit gestern mit irgendwelchen Verkünstelungen rum....

                    Um das ganze ein bisschen smoother zu machen:
                    Gibts die Möglichkeit, das für alle Adapter auf einmal (via Liste) auszulesen?

                    Gedanklich etwa so:
                    118a3d2a-b56e-4126-ad5c-18e4e2fc2bff-image.png
                    anstelle von
                    e4d9e07f-bb1e-4c33-8486-d3eee79dd4a2-image.png 5385b034-cb79-444a-a204-7f331e3daf78-image.png

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

                      @hausbaer sagte: für alle Adapter auf einmal (via Liste) auszulesen?

                      Siehe JSON-Liste erzeugen.
                      Es wird DP "updatesList" für die Adapternamen und DP "updatesJson" für die Versionen verwendet.

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

                        @paul53 Ich sitz entweder aufm Schlauch - oder hab mich nicht klar ausgedrückt.

                        Ich möchte von ALLEN Adaptern, die hier aufgelistet sind

                        0fe2876d-8286-4a6e-a782-ad50a3c84295-image.png

                        verschiedene Information in Blockly verarbeiten.

                        MIt
                        2126df25-69cb-45ba-8971-fee2c30bffde-image.png
                        muss ich aber JEDEN EINZELNEN Adapter händisch unter der Object ID auswählen.
                        Ergibt ungefähr 60 - 80 mal die Abfrage.

                        Hier war mein Gedanke, ob ich nicht das entsprechende Attribut ALLER Adapter in eine Liste in einem Schritt auslesen kann, da der
                        Ordner "system" wie auch "adapter" keine Objektinfos hinterlegt haben. Ich habe keine Möglichkeit gefunden, diese auszuwählen.

                        Edit:
                        Es müsste erstmal eine Liste der vorhandenen Adapter erzeugt werden; mit dieser könnte man dann weiter arbeiten.

                        Bei
                        14d64711-b106-49c2-964e-126bffde993b-image.png
                        hingegen greife ich doch Werte einer bereits vorhandenen Liste ab, oder nicht?

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

                          @hausbaer sagte: greife ich doch Werte einer bereits vorhandenen Liste ab, oder nicht?

                          Richtig, das ist die Liste der aktualisierbaren Adapter unter "admin.0.info"

                          @hausbaer sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen:

                          ob ich nicht das entsprechende Attribut ALLER Adapter in eine Liste in einem Schritt auslesen kann

                          Das funktioniert nicht, da man für einen Selektor mit Wildcards (*) Datenpunkte benötigt. Adapter (unter "system.adapter") haben (meist) keine Datenpunkte, sondern erst die Instanzen. Außerdem stellt Blockly kein getObject(id) mit einer konstruierbaren ID zur Verfügung. Dafür benötigt man eine JS-Funktion mit Ergebnis.

                          EDIT: Folgendes Blockly funktioniert nur mit Adaptern, die eine Instanz 0 haben:

                          Blockly_temp.JPG

                          Inhalt der Funktion getObj(id):

                          return getObject(id);
                          
                          1 Reply Last reply Reply Quote 0
                          • H
                            Hausbaer last edited by

                            @paul53 sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen:

                            Expertenmodus im ID-Selektor aktivieren

                            Nur zur Sicherheit. Du meinst die Schaltfläche "Expertenmodus umschalten" im tab objects?
                            f1766ea3-9823-47ff-8b86-4fd0d0435124-image.png

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

                              @hausbaer sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen:

                              Du meinst die Schaltfläche "Expertenmodus umschalten" im tab objects?

                              nein!
                              Expertenmodus einschalten im ID Selector

                              Wenn du den Block anklickst, geht die ID-Selector Box auf, in der du den Datenpunkt auswählen kannst. Dort den Expertenmodus aktivieren!

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              605
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              4
                              13
                              403
                              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