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. Blockly
  5. Verzeichnis überwachen und Datei in Datenpunkt schreiben

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Verzeichnis überwachen und Datei in Datenpunkt schreiben

Geplant Angeheftet Gesperrt Verschoben Blockly
4 Beiträge 2 Kommentatoren 646 Aufrufe 2 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.
  • B Offline
    B Offline
    Banis
    schrieb am zuletzt editiert von Banis
    #1

    Hallo zusammen,

    ist es möglich mit Blockly ein Dateiverzeichnis auf neue Dateien zu überwachen. Wenn eine neue Datei im Verzeichnis erkannt wird, soll der Text in der Datei in einen Datenpunkt geschrieben werden.

    Geht sowas?

    Ursprünglicher Post:

    Hallo zusammen,

    ich arbeite gerade an einem Projekt mit dem ich folgendes Realisieren möchte:

    Meine Rechnungen und Belege archiviere ich über paperless ngx. Gleichzeitig importiere ich die Umsatzdaten meines Girokontos (im camt Format) in einen Datenpunkt in iobroker.

    Über die Rest Api von paperless lasse ich nun die Dokumente in Paperless nach den Beträgen aus meiner Kontoumsatzliste abgleichen und sofern übereinstimmungen da sind, lasse ich den Dokumentennamen in paperless in Buchungsdatum_Empfänger_Betrag umbennen. Das alles klappt schon sehr gut über verschiedene Blocklys.

    Leider muss ich die Kontoumsatzdaten bisher immer manuell in den Datenpunkt eintragen. Diese werden bei mir aber immer täglich in einem Verzeichnis gespeichert auf das auch iobroker Zugriff hat.

    Nun zu meiner Frage: Ist es möglich dieses Verzeichnis (/media/konto/camt) zu überwachen und sobald eine neue Datei in dem Verzeichnis abgelegt wird die Inhalte (Text) dieser Datei in meinem dafür vorgesehen Datenpunkt in iobroker abzulegen?

    Dass das rein mit Blockly schwierig wird ist mir klar, aber vielleicht gibt es ja ein skript, dass ich über den js Baustein einbinden kann, oder zur Not auch ein reines js Script, wobei meine Kenntnisse hier sehr überschaubar sind.

    Vieleicht hat hier jemand eine Idee wie das umsetzten könnte. Vielen Dank schon im Voraus auch für weitere Anregungen.

    1 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      Banis
      schrieb am zuletzt editiert von
      #2

      Ich hab jetzt mal den Eingangspost zusammengefasst, vielelicht macht es das einfacher eine Lösungen zu finden :-)

      mickymM 1 Antwort Letzte Antwort
      0
      • B Offline
        B Offline
        Banis
        schrieb am zuletzt editiert von
        #3

        Ich hab jeztz mal mit chat GPT mein Glück versucht. Dabei hab ich folgendes Skript bekommen:

        const fs = require('fs');
        const path = require('path');
        const chokidar = require('chokidar');
        
        const directoryPath = '/media/1/test';
        
        function handleFileChange(filePath) {
            try {
                const data = fs.readFileSync(filePath, 'utf8');
                console.log(`Inhalt der Datei ${filePath}: ${data}`);
            } catch (err) {
                console.error(`Fehler beim Lesen der Datei ${filePath}: ${err}`);
            }
        }
        
        const watcher = chokidar.watch(directoryPath, {
            ignored: /[\/\\]\./, // ignore dotfiles
            persistent: true
        });
        
        let timeout;
        
        watcher.on('add', (filePath) => {
            clearTimeout(timeout);
            timeout = setTimeout(() => {
                handleFileChange(filePath);
            }, 1000); // Warte 1 Sekunde, bevor die Aktion ausgeführt wird
        });
        
        

        Damit wird mir der Inhalt der Datei zumindest im Log ausgegeben. Leider schaffe ich ( bzw chatgpt) es nicht den inhalt in einen Datenpunkt zu schreiben. Könnt ihr mir hier behilflich sein?

        1 Antwort Letzte Antwort
        0
        • B Banis

          Ich hab jetzt mal den Eingangspost zusammengefasst, vielelicht macht es das einfacher eine Lösungen zu finden :-)

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          @banis Wenn du nach weiteren Ideen fragst, nutze NodeRed. ;)

          Da ist sowas schon in der Grundausstattung enthalten.

          a6e3667c-74ae-41b0-8d33-9e7f21a603c1-image.png

          Wenn man lieber Blockly und JS nutzt dann kannst ja mal schauen, ob es eine Bibliothek gibt.

          In der Filesystem Bibliothek scheint es doch auch so eine Funktion zu geben: https://nodejs.org/docs/latest/api/fs.html#fswatchfilename-options-listener

          7d704b4b-edf1-4c3a-9a47-a638d96ee3dd-image.png

          Ach so ich sehe gerade,das nutzt Du ja schon in Deinem Skriptausschnitt.

          OK für den Rest muss Dir wohl ein Puzzlefreund helfen -

          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
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          711

          Online

          32.4k

          Benutzer

          81.5k

          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