Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Vorhandene Unterordner auslesen

    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

    Vorhandene Unterordner auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TripleX @MCU last edited by TripleX

      @mcu said in Vorhandene Unterordner auslesen:

      @triplex

      const fs = require("fs");
      const path = "/opt/iobroker/iobroker-data/files/vis.0/Slideshow/";
      
      
      // Funktion: Alle Dateien auslesen
      function getFilesRecursive(directory) {
          let fileList = [];
          try {
              const entries = fs.readdirSync(directory, { withFileTypes: true });
      
              entries.forEach(entry => {
                  const fullPath = `${directory}/${entry.name}`;
                  if (entry.isFile()) {
                      // Datei hinzufügen
                      fileList.push(fullPath);
                  } else if (entry.isDirectory()) {
                      // Rekursiv Unterordner durchsuchen
                      fileList = fileList.concat(getFilesRecursive(fullPath));
                  }
              });
          } catch (error) {
              console.error("Fehler beim Auslesen des Verzeichnisses: "+ error);
          }
          return fileList;
      }
      
      // Dateien auslesen
      let files = getFilesRecursive(path);
      
      // Ergebnis ausgeben
      console.log("Gefundene Dateien: "+ files);
      

      Wie bekomme ich das denn in Blockly rein?
      Wenn ich das richtig sehe, werden die Dateien ausgelesen.
      Brauche nur die Unterordner.

      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @TripleX last edited by MCU

        @triplex javascript-Funktion
        d5756fe5-2627-4dec-8bcc-9d333bbcba64-image.png

        cfd33867-48a9-40ec-a53f-47384e7d8184-image.png

        T 1 Reply Last reply Reply Quote 0
        • T
          TripleX @MCU last edited by

          @mcu Bei mir im Log wird nichts aufgelistet

          M 1 Reply Last reply Reply Quote 0
          • M
            MCU @TripleX last edited by

            @triplex Blockly Export

            <xml xmlns="https://developers.google.com/blockly/xml">
              <variables>
                <variable id="*q;iSs`Id_uTF|HmOp/9">source</variable>
              </variables>
              <block type="procedures_defcustomreturn" id="wKu17Ue=*dW2?C)*:xXk" x="63" y="63">
                <mutation statements="false">
                  <arg name="source" varid="*q;iSs`Id_uTF|HmOp/9"></arg>
                </mutation>
                <field name="NAME">getDirectories</field>
                <field name="SCRIPT">Y29uc3QgZnMgPSByZXF1aXJlKCJmcyIpOw0KcmV0dXJuIGZzLnJlYWRkaXJTeW5jKHNvdXJjZSwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pIC8vIFZlcnplaWNobmlzaW5oYWx0IGxlc2VuDQogICAgICAgIC5maWx0ZXIoZGlyZW50ID0+IGRpcmVudC5pc0RpcmVjdG9yeSgpKSAgICAgICAgICAgLy8gTnVyIFZlcnplaWNobmlzc2UgZmlsdGVybg0KICAgICAgICAubWFwKGRpcmVudCA9PiBkaXJlbnQubmFtZSk7ICAgIA==</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              </block>
              <block type="debug" id="R}c6u[;J@XF+b}wi;AXM" x="63" y="113">
                <field name="Severity">info</field>
                <value name="TEXT">
                  <shadow type="text" id="`du$H!zBIJ2WI^Qfc{35">
                    <field name="TEXT">test</field>
                  </shadow>
                  <block type="procedures_callcustomreturn" id="=@|Gp=y[k+v#dp3y8ZpW">
                    <mutation name="getDirectories">
                      <arg name="source"></arg>
                    </mutation>
                    <value name="ARG0">
                      <block type="text" id="dc0u.yT2Fh]yCPy1Z7dr">
                        <field name="TEXT">/opt/iobroker/iobroker-data/files/0_userdata.0/jarvis/</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </xml>
            
            T 1 Reply Last reply Reply Quote 0
            • T
              TripleX @MCU last edited by

              @mcu Das muss ich dann hinter die andere Funktion hängen?

              M 1 Reply Last reply Reply Quote 0
              • M
                MCU @TripleX last edited by MCU

                @triplex Ist eine neue Funktion, die alte kann gelöscht werden. Du möchtest ja keine Dateien.
                Blockly importieren
                80ee7509-3d4a-4778-a098-807ac016b808-image.png

                96043935-8493-4ed8-abea-2b88e445511b-image.png

                T 1 Reply Last reply Reply Quote 0
                • T
                  TripleX @MCU last edited by

                  @mcu Dann bekomme ich im Log folgendes angezeigt.

                  7df729c0-d5b0-470c-9745-213fdbac5605-image.png

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    MCU @TripleX last edited by MCU

                    @triplex Dein Verzeichnis eintragen

                    /opt/iobroker/iobroker-data/files/vis.0/Slideshow/
                    
                    T 1 Reply Last reply Reply Quote 0
                    • T
                      TripleX @MCU last edited by

                      @mcu Immer noch eine Fehlermeldung

                      2ca9d408-24b9-436b-a827-2d76c72c5ae7-image.png

                      ccdd592e-1cd8-484a-9aac-c00924651ee1-image.png

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        MCU @TripleX last edited by MCU

                        @triplex Ist slideshow evtl klein geschrieben?
                        Hast du davor Leerzeichen drin?

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          TripleX @MCU last edited by

                          @mcu Nein

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MCU @TripleX last edited by

                            @triplex Leerzeichen
                            6707caa1-e125-4e2d-b3d4-e23559afc91c-image.png

                            T 2 Replies Last reply Reply Quote 0
                            • T
                              TripleX @MCU last edited by

                              @mcu Wie kommt das denn dahin...LOL...jetzt gehts...danke Dir.

                              1 Reply Last reply Reply Quote 0
                              • T
                                TripleX @MCU last edited by

                                @mcu Wie kann ich die Funktion denn über einen Trigger auslösen in Blockly?
                                Finde da gerade nicht den passenden Block.

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  MCU @TripleX last edited by MCU

                                  @triplex Kommt darauf an, was ihn auslösen soll?
                                  5a6b3cf8-2fe1-4eae-aa6f-80914e3b5515-image.png

                                  00e2af11-6328-4097-ae49-c52f4d7aefc9-image.png

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    TripleX @MCU last edited by

                                    @mcu Im Idealfall wenn ich einen neuen Ordner angelegt habe oder alle x Minuten.

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      MCU @TripleX last edited by MCU

                                      @triplex Wird erst ausgeführt, wenn eine Datei hinzugefügt wird. Ein Verzeichnis hinzufügen reicht nicht, ist aber auch nicht normal, da man ja dort auch Dateien einstellt.

                                      0914ad3c-5997-4d52-a009-65378da05517-image.png

                                      Du musst bei Dir für VIS die vis-Dateien in ObjectID (meta) auswählen.

                                      c990676b-ea4b-423d-b107-3e66c64233e7-image.png

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        TripleX last edited by

                                        @mcu Hab das nicht so ganz verstanden.
                                        Reagiert das Programm dann nicht auf alle Änderungen die unterhalb von von "Vis\0" passieren und nicht nur auf die Änderungen im Ordner "Slideshow"?

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          MCU @TripleX last edited by

                                          @triplex Also doch verstanden.
                                          statt * -> Slideshow/*

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          497
                                          Online

                                          31.8k
                                          Users

                                          79.9k
                                          Topics

                                          1.3m
                                          Posts

                                          2
                                          21
                                          580
                                          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