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. JavaScript
  5. [gelöst] Frage zu Chokidar

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    911

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst] Frage zu Chokidar

Geplant Angeheftet Gesperrt Verschoben JavaScript
7 Beiträge 2 Kommentatoren 136 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.
  • jmeister79J Offline
    jmeister79J Offline
    jmeister79
    schrieb am zuletzt editiert von jmeister79
    #1

    Hi,

    ich experimentiere gerade mit chokidar herum um bei neuen Dateien von meiner Kamera sofort Aktionen auszulösen.

    Ich habe folgendes Script implementiert:

    var chokidar = require('chokidar');
    
    var watcher = chokidar.watch('file or dir', {ignored: /^\./, persistent: true});
    
    watcher
      .on('add', function(path) {console.log('File', path, 'has been added');})
    

    Das Script tut was es soll aber jedes mal wenn ich was ändere dann wird der alte code bei Änderungen weiterhin ausgeführt.

    wenn ich beispielsweise folgendes anpasse:

      .on('add', function(path) {console.log('Foo!');})
    

    dann steht im Logbuch beim nächsten mal wenn ich die Datei horst.kevin hinzufüge

    File "horst.kevin" has been added!
    Foo!

    mit jeder Änderung werden es mehr "instanzen".
    Ein Neustart der Java Instanz löst das Problem und es beginnt von vorne.

    Kennt sich jemand damit aus?
    Nils

    F 1 Antwort Letzte Antwort
    0
    • jmeister79J jmeister79

      Hi,

      ich experimentiere gerade mit chokidar herum um bei neuen Dateien von meiner Kamera sofort Aktionen auszulösen.

      Ich habe folgendes Script implementiert:

      var chokidar = require('chokidar');
      
      var watcher = chokidar.watch('file or dir', {ignored: /^\./, persistent: true});
      
      watcher
        .on('add', function(path) {console.log('File', path, 'has been added');})
      

      Das Script tut was es soll aber jedes mal wenn ich was ändere dann wird der alte code bei Änderungen weiterhin ausgeführt.

      wenn ich beispielsweise folgendes anpasse:

        .on('add', function(path) {console.log('Foo!');})
      

      dann steht im Logbuch beim nächsten mal wenn ich die Datei horst.kevin hinzufüge

      File "horst.kevin" has been added!
      Foo!

      mit jeder Änderung werden es mehr "instanzen".
      Ein Neustart der Java Instanz löst das Problem und es beginnt von vorne.

      Kennt sich jemand damit aus?
      Nils

      F Offline
      F Offline
      fastfoot
      schrieb am zuletzt editiert von
      #2

      @jmeister79 setze ignoreInitial: true. chokidar funktioniert nicht so recht mit Netzwerkpfaden bzw mounts. Gelöschte Dateien meldet es bei mir zB nicht.

      iobroker läuft unter Docker auf QNAP TS-451+
      SkriptRecovery: https://forum.iobroker.net/post/930558

      jmeister79J 1 Antwort Letzte Antwort
      1
      • F fastfoot

        @jmeister79 setze ignoreInitial: true. chokidar funktioniert nicht so recht mit Netzwerkpfaden bzw mounts. Gelöschte Dateien meldet es bei mir zB nicht.

        jmeister79J Offline
        jmeister79J Offline
        jmeister79
        schrieb am zuletzt editiert von
        #3

        @fastfoot Ich nutze einen Pfad im raspberry auf dem der ioBroker läuft. Mein Pi ist gleichzeiig n ftp server und die Cam schmeißt aktiv die Bilder drauf.

        F 1 Antwort Letzte Antwort
        0
        • jmeister79J jmeister79

          @fastfoot Ich nutze einen Pfad im raspberry auf dem der ioBroker läuft. Mein Pi ist gleichzeiig n ftp server und die Cam schmeißt aktiv die Bilder drauf.

          F Offline
          F Offline
          fastfoot
          schrieb am zuletzt editiert von
          #4

          @jmeister79 sagte in Frage zu Chokidar:

          @fastfoot Ich nutze einen Pfad im raspberry auf dem der ioBroker läuft. Mein Pi ist gleichzeiig n ftp server und die Cam schmeißt aktiv die Bilder drauf.

          dann sollte es funktionieren

          iobroker läuft unter Docker auf QNAP TS-451+
          SkriptRecovery: https://forum.iobroker.net/post/930558

          jmeister79J 1 Antwort Letzte Antwort
          0
          • F fastfoot

            @jmeister79 sagte in Frage zu Chokidar:

            @fastfoot Ich nutze einen Pfad im raspberry auf dem der ioBroker läuft. Mein Pi ist gleichzeiig n ftp server und die Cam schmeißt aktiv die Bilder drauf.

            dann sollte es funktionieren

            jmeister79J Offline
            jmeister79J Offline
            jmeister79
            schrieb am zuletzt editiert von
            #5

            @fastfoot aber das mit dem initial wäre das nächste problem! Danke dafür.

            Aber nach wie vor wird bei jedem Bearbeiten des scripts ein watcher mehr erschaffen.

            Ich glaube ich verstehe da etwas grundsätzliches nicht, was daran liegen kann, dass ich learning by doing mache.

            F 1 Antwort Letzte Antwort
            0
            • jmeister79J jmeister79

              @fastfoot aber das mit dem initial wäre das nächste problem! Danke dafür.

              Aber nach wie vor wird bei jedem Bearbeiten des scripts ein watcher mehr erschaffen.

              Ich glaube ich verstehe da etwas grundsätzliches nicht, was daran liegen kann, dass ich learning by doing mache.

              F Offline
              F Offline
              fastfoot
              schrieb am zuletzt editiert von
              #6

              @jmeister79 sagte in Frage zu Chokidar:

              @fastfoot aber das mit dem initial wäre das nächste problem! Danke dafür.

              Aber nach wie vor wird bei jedem Bearbeiten des scripts ein watcher mehr erschaffen.

              Ich glaube ich verstehe da etwas grundsätzliches nicht, was daran liegen kann, dass ich learning by doing mache.

              Evtl. hast du ein Problem weil Du den Watcher nicht beendest. Bei Scriptende muss der beendet werden sonst läuft er im Hintergrund weiter.

              //Wichtig beim Beenden des Skriptes
              onStop(() => {
                  watcher.close()
                      .then(log('Watcher gestoppt', 'info'))
              })
              

              iobroker läuft unter Docker auf QNAP TS-451+
              SkriptRecovery: https://forum.iobroker.net/post/930558

              jmeister79J 1 Antwort Letzte Antwort
              1
              • F fastfoot

                @jmeister79 sagte in Frage zu Chokidar:

                @fastfoot aber das mit dem initial wäre das nächste problem! Danke dafür.

                Aber nach wie vor wird bei jedem Bearbeiten des scripts ein watcher mehr erschaffen.

                Ich glaube ich verstehe da etwas grundsätzliches nicht, was daran liegen kann, dass ich learning by doing mache.

                Evtl. hast du ein Problem weil Du den Watcher nicht beendest. Bei Scriptende muss der beendet werden sonst läuft er im Hintergrund weiter.

                //Wichtig beim Beenden des Skriptes
                onStop(() => {
                    watcher.close()
                        .then(log('Watcher gestoppt', 'info'))
                })
                
                jmeister79J Offline
                jmeister79J Offline
                jmeister79
                schrieb am zuletzt editiert von
                #7

                @fastfoot PERFEKT!!!!
                Das hat geholfen. Hätte ich auch lesen können.

                Danke dir!!

                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

                714

                Online

                32.6k

                Benutzer

                82.2k

                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