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. ioBroker Allgemein
  4. Synology-NAS-Ordnerüberwachung möglich? *gelöst*

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    331

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Synology-NAS-Ordnerüberwachung möglich? *gelöst*

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
blocklyordnerüberwachung
86 Beiträge 7 Kommentatoren 9.3k Aufrufe 6 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.
  • surfer09S surfer09

    @mickym Ich habe jetzt so einiges durch getestet - funktioniert leider nicht bei mir.
    Werde mir dann etwas anderes überlegen müssen das abzufragen.
    Dennoch vielen Dank an dich für deine Hilfe! ;-)

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #46

    @surfer09 In dem Thread den ich zu Anfang gepostet habe, da gibts ein Javascript vielleicht funktioniert das ja.

    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.

    surfer09S 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @surfer09 In dem Thread den ich zu Anfang gepostet habe, da gibts ein Javascript vielleicht funktioniert das ja.

      surfer09S Offline
      surfer09S Offline
      surfer09
      schrieb am zuletzt editiert von
      #47

      @mickym Ja, das Skript hatte ich mir auch schon angesehen. Aber von Java habe ich leider noch weniger Ahnung um das so umzubauen, dass es auf meine Zwecke zugeschnitten ist.

      IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

      F 1 Antwort Letzte Antwort
      0
      • surfer09S surfer09

        @mickym Ja, das Skript hatte ich mir auch schon angesehen. Aber von Java habe ich leider noch weniger Ahnung um das so umzubauen, dass es auf meine Zwecke zugeschnitten ist.

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

        @surfer09 sagte in Ordnerüberwachung möglich?:

        @mickym Ja, das Skript hatte ich mir auch schon angesehen. Aber von Java habe ich leider noch weniger Ahnung um das so umzubauen, dass es auf meine Zwecke zugeschnitten ist.

        Probiere mal das hier, es ist nur der Pfad in Zeile 9 anzupassen. Gemeldet werden neue, geänderte und gelöschte Dateien

        • wenn es einen Fehler wg. chokidar gibt, dieses in der JS-Instanz eintragen, ich brauchte es nicht
        • evtl. muss der Windows-Pfad mit // anstatt mit \\ angegeben werden, also z.B. Y:// anstatt Y:\\
        /*
         * Purpose:     überwacht Pfade und Dateien
         * Date:        29.10.2021
         * Author:      @fastfoot
         * 
        */
        const chokidar = require('chokidar');
        const Pfad = 'Y://';
        
        const options = {
            ignored: /(^|[\/\\\])\../,   // ignoriert dotfiles
            polling: !true,             // Polling aus, sollte an sein für netzwerkdateien
            cwd: Pfad,                  // Basisverzeichnis, wird dann aus dem Dateinamen entfernt
            persistent: !true,          // Bedeutung ist mir nicht klar :-)
            ignoreInitial: true,        // verhindert Meldungen zu Dateien beim Skriptstart
            depth: 0                    // Ordnertiefe
        }
        
        const watcher = chokidar.watch(Pfad, options)
            .on('add', path => {
                notify(`Die Datei ${path} wurde hinzugefügt`);
            })
            .on('change', path => {
                notify(`Die Datei ${path} wurde geändert`);
            })
            .on('unlink', path => {
                notify(`Die Datei ${path} wurde gelöscht`);
            })
        
        //Wichtig beim Beenden des Skriptes
        onStop(() => {
            watcher.close()
                .then(log('Watcher gestoppt', 'warn'))
        })
        
        function notify(text) {
            sendTo('telegram.0', { text });
            log(text);
        }
        
        

        Danke an @OliverIO für den Tipp!

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

        surfer09S 1 Antwort Letzte Antwort
        0
        • liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #49

          Ich würde gerne nochmal meine Meinung einbringen

          Für mich macht es wenig Sinn diese Anfrage über iobroker mit Javascript oder nodered zu machen. Iobroker hat genug zu tun, Verbindungen aufrecht zu halten und diese Aufgabe sollte der Nas Server übernehmen. Mit einem 5 Zeilen Linux Script kann das mit sehr einfachen Befehlen erledigt werden

          Nas erzeugt ein File (Touch), wartet 60 Sekunden und überprüft dann ( find cnewer), ob im order ein File ist, das neuer ist als das zuvor erzeugte File. Ist ein File vorhanden, dass neuer ist, sendet der Nas via curl an iobroker und setzt einen dp

          So wenig Ressourcen wie möglich

          Wollte es nur nochmal loswerden

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          F 1 Antwort Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            Ich würde gerne nochmal meine Meinung einbringen

            Für mich macht es wenig Sinn diese Anfrage über iobroker mit Javascript oder nodered zu machen. Iobroker hat genug zu tun, Verbindungen aufrecht zu halten und diese Aufgabe sollte der Nas Server übernehmen. Mit einem 5 Zeilen Linux Script kann das mit sehr einfachen Befehlen erledigt werden

            Nas erzeugt ein File (Touch), wartet 60 Sekunden und überprüft dann ( find cnewer), ob im order ein File ist, das neuer ist als das zuvor erzeugte File. Ist ein File vorhanden, dass neuer ist, sendet der Nas via curl an iobroker und setzt einen dp

            So wenig Ressourcen wie möglich

            Wollte es nur nochmal loswerden

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

            @liv-in-sky Also auch der JS-Controller nutzt zB diese LIB(chokidar) weshalb ich schonmal glaube dass das recht ressourcenschonend ist. Wenn ich das richtig verstanden habe ist das event-getrieben und frisst demnach nicht allzuviel Brot

            Es wäre dennoch interessant zu wissen wie es sich tatsächlich verhält. Deine vorgeschlagene Lösung es über eine Shell zu lösen halte ich hingegen für nicht so gut da sie immer nur pollen kann. Vielleicht kann ja jd das mal mit htop etc prüfen, ich bin zu doof das zu interpretieren.

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

            liv-in-skyL 1 Antwort Letzte Antwort
            0
            • F fastfoot

              @liv-in-sky Also auch der JS-Controller nutzt zB diese LIB(chokidar) weshalb ich schonmal glaube dass das recht ressourcenschonend ist. Wenn ich das richtig verstanden habe ist das event-getrieben und frisst demnach nicht allzuviel Brot

              Es wäre dennoch interessant zu wissen wie es sich tatsächlich verhält. Deine vorgeschlagene Lösung es über eine Shell zu lösen halte ich hingegen für nicht so gut da sie immer nur pollen kann. Vielleicht kann ja jd das mal mit htop etc prüfen, ich bin zu doof das zu interpretieren.

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von liv-in-sky
              #51

              @fastfoot

              bitte nicht falsch verstehen - ich mag dein script - ist wieder mal cool, was du da ausgegraben hast. wenn es local ist !

              @fastfoot sagte in Ordnerüberwachung möglich?:

              Shell zu lösen halte ich hingegen für nicht so gut da sie immer nur pollen kann

              das pollen ist ja gerade die resourcensparende version. es wird nur etwas an iobroker gesendet (von der synology), wenn auch was passiert. wenn der iobroker aber die ganze zeit einen gemounteten folder über das netzwerk offen halten muss und über das netzwerk den folder überwacht, denke ich, brauche ich kein htop um zu wissen, dass das linux script auf der synology kein problem darstellt. bei meinem nas server habe ich das script als service definiert/eingerichtet - ich denke aber, dass ist schwieriger auf der synology - da nimmt man halt den cron.

              von der backup/restore sache ist es auch einfacher . durch den restore über backitup läuft das ganze sofort wieder - bei deiner lösung muss man daran denken, den mount im system wieder einzurichten.

              ist mal wieder ein philosophisches IT thema. wie man es letztlich macht, kann ja jeder user selbst entscheiden. ich war halt mal netzwerkadministrator und mag solche lösungen - kommt man von der coder seite ist deine lösung (oder auch die nodered lösung) wahrscheinlich "sympatischer".

              hier ein beispiel - die überwachung von 2 ordnern als linux script

              Image 2.png

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              surfer09S 1 Antwort Letzte Antwort
              0
              • F fastfoot

                @surfer09 sagte in Ordnerüberwachung möglich?:

                @mickym Ja, das Skript hatte ich mir auch schon angesehen. Aber von Java habe ich leider noch weniger Ahnung um das so umzubauen, dass es auf meine Zwecke zugeschnitten ist.

                Probiere mal das hier, es ist nur der Pfad in Zeile 9 anzupassen. Gemeldet werden neue, geänderte und gelöschte Dateien

                • wenn es einen Fehler wg. chokidar gibt, dieses in der JS-Instanz eintragen, ich brauchte es nicht
                • evtl. muss der Windows-Pfad mit // anstatt mit \\ angegeben werden, also z.B. Y:// anstatt Y:\\
                /*
                 * Purpose:     überwacht Pfade und Dateien
                 * Date:        29.10.2021
                 * Author:      @fastfoot
                 * 
                */
                const chokidar = require('chokidar');
                const Pfad = 'Y://';
                
                const options = {
                    ignored: /(^|[\/\\\])\../,   // ignoriert dotfiles
                    polling: !true,             // Polling aus, sollte an sein für netzwerkdateien
                    cwd: Pfad,                  // Basisverzeichnis, wird dann aus dem Dateinamen entfernt
                    persistent: !true,          // Bedeutung ist mir nicht klar :-)
                    ignoreInitial: true,        // verhindert Meldungen zu Dateien beim Skriptstart
                    depth: 0                    // Ordnertiefe
                }
                
                const watcher = chokidar.watch(Pfad, options)
                    .on('add', path => {
                        notify(`Die Datei ${path} wurde hinzugefügt`);
                    })
                    .on('change', path => {
                        notify(`Die Datei ${path} wurde geändert`);
                    })
                    .on('unlink', path => {
                        notify(`Die Datei ${path} wurde gelöscht`);
                    })
                
                //Wichtig beim Beenden des Skriptes
                onStop(() => {
                    watcher.close()
                        .then(log('Watcher gestoppt', 'warn'))
                })
                
                function notify(text) {
                    sendTo('telegram.0', { text });
                    log(text);
                }
                
                

                Danke an @OliverIO für den Tipp!

                surfer09S Offline
                surfer09S Offline
                surfer09
                schrieb am zuletzt editiert von
                #52

                @fastfoot Wow, Danke! Ich habe es gerade mal eingebaut, aber beim Starten erscheint ein Compile-Fehler:

                Fehler.jpg

                Skript.jpg

                IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

                F 1 Antwort Letzte Antwort
                0
                • liv-in-skyL liv-in-sky

                  @fastfoot

                  bitte nicht falsch verstehen - ich mag dein script - ist wieder mal cool, was du da ausgegraben hast. wenn es local ist !

                  @fastfoot sagte in Ordnerüberwachung möglich?:

                  Shell zu lösen halte ich hingegen für nicht so gut da sie immer nur pollen kann

                  das pollen ist ja gerade die resourcensparende version. es wird nur etwas an iobroker gesendet (von der synology), wenn auch was passiert. wenn der iobroker aber die ganze zeit einen gemounteten folder über das netzwerk offen halten muss und über das netzwerk den folder überwacht, denke ich, brauche ich kein htop um zu wissen, dass das linux script auf der synology kein problem darstellt. bei meinem nas server habe ich das script als service definiert/eingerichtet - ich denke aber, dass ist schwieriger auf der synology - da nimmt man halt den cron.

                  von der backup/restore sache ist es auch einfacher . durch den restore über backitup läuft das ganze sofort wieder - bei deiner lösung muss man daran denken, den mount im system wieder einzurichten.

                  ist mal wieder ein philosophisches IT thema. wie man es letztlich macht, kann ja jeder user selbst entscheiden. ich war halt mal netzwerkadministrator und mag solche lösungen - kommt man von der coder seite ist deine lösung (oder auch die nodered lösung) wahrscheinlich "sympatischer".

                  hier ein beispiel - die überwachung von 2 ordnern als linux script

                  Image 2.png

                  surfer09S Offline
                  surfer09S Offline
                  surfer09
                  schrieb am zuletzt editiert von
                  #53

                  @liv-in-sky Das hört sich alles so einfach an, aber als Laie wüsste ich jetzt nicht einmal, wo ich so ein Skript auf meine Synology hinterlegen sollte. ;-)

                  IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

                  liv-in-skyL 2 Antworten Letzte Antwort
                  0
                  • surfer09S surfer09

                    @liv-in-sky Das hört sich alles so einfach an, aber als Laie wüsste ich jetzt nicht einmal, wo ich so ein Skript auf meine Synology hinterlegen sollte. ;-)

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    schrieb am zuletzt editiert von
                    #54

                    @surfer09

                    ein script wirdnormalerweise in der console angelegt

                    evtl ist das was: https://www.youtube.com/watch?v=bZ4u9l1hKoQ

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    1 Antwort Letzte Antwort
                    0
                    • surfer09S surfer09

                      @liv-in-sky Das hört sich alles so einfach an, aber als Laie wüsste ich jetzt nicht einmal, wo ich so ein Skript auf meine Synology hinterlegen sollte. ;-)

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #55

                      @surfer09

                      mach doch mal das script mit @fastfoot fertig

                      und wenn du noch lust hast, etwas linux zu lernen , können wir gerne zum testen mal meinen weg probieren - dann haben wir alles unter einem thread und andere könnten sich das auch heraussuchen :-)

                      mein sript müßte für dich noch etwas angepaßt werden. wir würden über einen cron job arbeiten, der jede minute läuft - da brauchen wir dann keine while schleife im script
                      auf dem iobroker muß der simple api adapter installiert werden und auf der synology evtl der curl befehl.

                      so setzt man über curl einen dp in einem linux script:

                      curl "'http://ipaddress:8087/set/0_userdata.0.CONTROL-OWN.AAATEST.test.mixedtest?value=true&prettyPrint'
                      

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      surfer09S 1 Antwort Letzte Antwort
                      0
                      • surfer09S surfer09

                        @fastfoot Wow, Danke! Ich habe es gerade mal eingebaut, aber beim Starten erscheint ein Compile-Fehler:

                        Fehler.jpg

                        Skript.jpg

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

                        @surfer09 sagte in Ordnerüberwachung möglich?:

                        aber beim Starten erscheint ein Compile-Fehler

                        seltsam, die Forensoftware verschluckt trotz CodeTags ein Zeichen. In Zeile 14 müssen es zwei \\ Backslashes sein unmittelbar vor der schliessenden eckigen Klammer. Auch muss in Zeile 12 cwd auf Y:// gesetzt werden(oder Zeile 15 auskommentiert werden)

                        @Homoran jetzt habe ich drei \ eingetragen damit zwei gezeigt werden.Beim Kopieren sind es auch nur zwei, was richtig ist, aber innerhalb von Codetags sollte man doch nichts korrigieren müssen?

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

                        HomoranH surfer09S 2 Antworten Letzte Antwort
                        0
                        • F fastfoot

                          @surfer09 sagte in Ordnerüberwachung möglich?:

                          aber beim Starten erscheint ein Compile-Fehler

                          seltsam, die Forensoftware verschluckt trotz CodeTags ein Zeichen. In Zeile 14 müssen es zwei \\ Backslashes sein unmittelbar vor der schliessenden eckigen Klammer. Auch muss in Zeile 12 cwd auf Y:// gesetzt werden(oder Zeile 15 auskommentiert werden)

                          @Homoran jetzt habe ich drei \ eingetragen damit zwei gezeigt werden.Beim Kopieren sind es auch nur zwei, was richtig ist, aber innerhalb von Codetags sollte man doch nichts korrigieren müssen?

                          HomoranH Offline
                          HomoranH Offline
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von Homoran
                          #57

                          @fastfoot sagte in Ordnerüberwachung möglich?:

                          aber innerhalb von Codetags sollte man doch nichts korrigieren müssen?

                          korrekt - sehe ich mir mal an

                          EDIT:
                          meinst du das ignored: /(^|[\/\\\])\../, // ignoriert dotfiles

                          in den kurzen Code-Tags sind jetzt drei Backslashes

                          EDIT2: aber nur in der Vorschau - real ist wieder ein Backslash weg :-(

                          ein Fall für @Jey-Cee !?!

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          F 2 Antworten Letzte Antwort
                          0
                          • HomoranH Homoran

                            @fastfoot sagte in Ordnerüberwachung möglich?:

                            aber innerhalb von Codetags sollte man doch nichts korrigieren müssen?

                            korrekt - sehe ich mir mal an

                            EDIT:
                            meinst du das ignored: /(^|[\/\\\])\../, // ignoriert dotfiles

                            in den kurzen Code-Tags sind jetzt drei Backslashes

                            EDIT2: aber nur in der Vorschau - real ist wieder ein Backslash weg :-(

                            ein Fall für @Jey-Cee !?!

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

                            @homoran sagte in Ordnerüberwachung möglich?:

                            korrekt - sehe ich mir mal an

                            nebenbei bemerkt, während des Schreibens wird es rechts in der Vorschau noch richtig angezeigt, falls das bei der Fehlersuche hilft

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

                            HomoranH 1 Antwort Letzte Antwort
                            0
                            • F fastfoot

                              @homoran sagte in Ordnerüberwachung möglich?:

                              korrekt - sehe ich mir mal an

                              nebenbei bemerkt, während des Schreibens wird es rechts in der Vorschau noch richtig angezeigt, falls das bei der Fehlersuche hilft

                              HomoranH Offline
                              HomoranH Offline
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von Homoran
                              #59

                              @fastfoot sagte in Ordnerüberwachung möglich?:

                              @homoran sagte in Ordnerüberwachung möglich?:

                              korrekt - sehe ich mir mal an

                              nebenbei bemerkt, während des Schreibens wird es rechts in der Vorschau noch richtig angezeigt, falls das bei der Fehlersuche hilft

                              siehe Edit2 oben ;-)

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @fastfoot sagte in Ordnerüberwachung möglich?:

                                aber innerhalb von Codetags sollte man doch nichts korrigieren müssen?

                                korrekt - sehe ich mir mal an

                                EDIT:
                                meinst du das ignored: /(^|[\/\\\])\../, // ignoriert dotfiles

                                in den kurzen Code-Tags sind jetzt drei Backslashes

                                EDIT2: aber nur in der Vorschau - real ist wieder ein Backslash weg :-(

                                ein Fall für @Jey-Cee !?!

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

                                @homoran sagte in Ordnerüberwachung möglich?:

                                ein Fall für @Jey-Cee !?!

                                ich denke ja, es sollen zwei sein, aber einer wird beim Speichern weggenommen. Deshalb habe ich jetzt drei reingemacht

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

                                1 Antwort Letzte Antwort
                                0
                                • liv-in-skyL liv-in-sky

                                  @surfer09

                                  mach doch mal das script mit @fastfoot fertig

                                  und wenn du noch lust hast, etwas linux zu lernen , können wir gerne zum testen mal meinen weg probieren - dann haben wir alles unter einem thread und andere könnten sich das auch heraussuchen :-)

                                  mein sript müßte für dich noch etwas angepaßt werden. wir würden über einen cron job arbeiten, der jede minute läuft - da brauchen wir dann keine while schleife im script
                                  auf dem iobroker muß der simple api adapter installiert werden und auf der synology evtl der curl befehl.

                                  so setzt man über curl einen dp in einem linux script:

                                  curl "'http://ipaddress:8087/set/0_userdata.0.CONTROL-OWN.AAATEST.test.mixedtest?value=true&prettyPrint'
                                  
                                  surfer09S Offline
                                  surfer09S Offline
                                  surfer09
                                  schrieb am zuletzt editiert von
                                  #61

                                  @liv-in-sky sagte in Ordnerüberwachung möglich?:

                                  @surfer09

                                  mach doch mal das script mit @fastfoot fertig

                                  und wenn du noch lust hast, etwas linux zu lernen , können wir gerne zum testen mal meinen weg probieren - dann haben wir alles unter einem thread und andere könnten sich das auch heraussuchen :-)

                                  So machen wir das! ;-)

                                  IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

                                  1 Antwort Letzte Antwort
                                  0
                                  • F fastfoot

                                    @surfer09 sagte in Ordnerüberwachung möglich?:

                                    aber beim Starten erscheint ein Compile-Fehler

                                    seltsam, die Forensoftware verschluckt trotz CodeTags ein Zeichen. In Zeile 14 müssen es zwei \\ Backslashes sein unmittelbar vor der schliessenden eckigen Klammer. Auch muss in Zeile 12 cwd auf Y:// gesetzt werden(oder Zeile 15 auskommentiert werden)

                                    @Homoran jetzt habe ich drei \ eingetragen damit zwei gezeigt werden.Beim Kopieren sind es auch nur zwei, was richtig ist, aber innerhalb von Codetags sollte man doch nichts korrigieren müssen?

                                    surfer09S Offline
                                    surfer09S Offline
                                    surfer09
                                    schrieb am zuletzt editiert von
                                    #62

                                    @fastfoot So, ich habe jetzt ein bisschen korrigiert. Jetzt meckert er die Zeile 25 an. Ich habe mal einen Screenshot vom Code angehangen.

                                    2021-10-29 19_27_52-javascript - IO-Broker-Server.jpg

                                    Und hier jetzt nochmal mein jetziges Skript:

                                    /*
                                    
                                     * Purpose:     überwacht Pfade und Dateien
                                    
                                     * Date:        28.10.2021
                                    
                                     * Author:      @fastfoot
                                    
                                     * 
                                    
                                    */
                                    
                                    const chokidar = require('chokidar');
                                    
                                    const Pfad = [
                                    
                                        'Y://',
                                    
                                        //'/opt/iobroker/scripts'
                                    
                                    //],
                                    /*
                                        cwd = 'Y://';
                                    */
                                    const options = {
                                    
                                        ignored: /(^|[\/\])\../,   // ignoriert dotfiles
                                    
                                        cwd: cwd,                   // Basisverzeichnis, wird dann aus dem Dateinamen entfernt
                                    
                                        persistent: !true,          // Bedeutung ist mir nicht klar :-)
                                    
                                        ignoreInitial: true,        // verhindert Meldungen zu Dateien beim Skriptstart
                                    
                                        depth: 0                    // Ordnertiefe
                                    
                                    }
                                    
                                     
                                    
                                    const watcher = chokidar.watch(Pfad, options)
                                    
                                      .on('add', path => {
                                    
                                        notify(`Die Datei ${path} wurde hinzugefügt`);
                                    
                                      })
                                    
                                      .on('change', path => {
                                    
                                        notify(`Die Datei ${path} wurde geändert`);
                                    
                                      })
                                    
                                      .on('unlink', path => {
                                    
                                        notify(`Die Datei ${path} wurde gelöscht`);
                                    
                                      })
                                    
                                     
                                    
                                    //Wichtig beim Beenden des Skriptes
                                    
                                    onStop(() => {
                                    
                                        watcher.close()
                                    
                                        .then(log('Watcher gestoppt'))
                                    
                                    })
                                    
                                     
                                    
                                    function notify(text){
                                    
                                        sendTo('telegram.2', {Hier kommt der Nachrichtentext!})
                                    
                                    }
                                    
                                     
                                    

                                    IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

                                    F 2 Antworten Letzte Antwort
                                    0
                                    • surfer09S surfer09

                                      @fastfoot So, ich habe jetzt ein bisschen korrigiert. Jetzt meckert er die Zeile 25 an. Ich habe mal einen Screenshot vom Code angehangen.

                                      2021-10-29 19_27_52-javascript - IO-Broker-Server.jpg

                                      Und hier jetzt nochmal mein jetziges Skript:

                                      /*
                                      
                                       * Purpose:     überwacht Pfade und Dateien
                                      
                                       * Date:        28.10.2021
                                      
                                       * Author:      @fastfoot
                                      
                                       * 
                                      
                                      */
                                      
                                      const chokidar = require('chokidar');
                                      
                                      const Pfad = [
                                      
                                          'Y://',
                                      
                                          //'/opt/iobroker/scripts'
                                      
                                      //],
                                      /*
                                          cwd = 'Y://';
                                      */
                                      const options = {
                                      
                                          ignored: /(^|[\/\])\../,   // ignoriert dotfiles
                                      
                                          cwd: cwd,                   // Basisverzeichnis, wird dann aus dem Dateinamen entfernt
                                      
                                          persistent: !true,          // Bedeutung ist mir nicht klar :-)
                                      
                                          ignoreInitial: true,        // verhindert Meldungen zu Dateien beim Skriptstart
                                      
                                          depth: 0                    // Ordnertiefe
                                      
                                      }
                                      
                                       
                                      
                                      const watcher = chokidar.watch(Pfad, options)
                                      
                                        .on('add', path => {
                                      
                                          notify(`Die Datei ${path} wurde hinzugefügt`);
                                      
                                        })
                                      
                                        .on('change', path => {
                                      
                                          notify(`Die Datei ${path} wurde geändert`);
                                      
                                        })
                                      
                                        .on('unlink', path => {
                                      
                                          notify(`Die Datei ${path} wurde gelöscht`);
                                      
                                        })
                                      
                                       
                                      
                                      //Wichtig beim Beenden des Skriptes
                                      
                                      onStop(() => {
                                      
                                          watcher.close()
                                      
                                          .then(log('Watcher gestoppt'))
                                      
                                      })
                                      
                                       
                                      
                                      function notify(text){
                                      
                                          sendTo('telegram.2', {Hier kommt der Nachrichtentext!})
                                      
                                      }
                                      
                                       
                                      
                                      F Offline
                                      F Offline
                                      fastfoot
                                      schrieb am zuletzt editiert von fastfoot
                                      #63

                                      @surfer09 Zeile 21 darf nicht auskommentiert sein! Und das Komma dort ist auch nicht von mir bzw muss weg wenn du die darauffolgende Zeile auskommentierst

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • surfer09S surfer09

                                        @fastfoot So, ich habe jetzt ein bisschen korrigiert. Jetzt meckert er die Zeile 25 an. Ich habe mal einen Screenshot vom Code angehangen.

                                        2021-10-29 19_27_52-javascript - IO-Broker-Server.jpg

                                        Und hier jetzt nochmal mein jetziges Skript:

                                        /*
                                        
                                         * Purpose:     überwacht Pfade und Dateien
                                        
                                         * Date:        28.10.2021
                                        
                                         * Author:      @fastfoot
                                        
                                         * 
                                        
                                        */
                                        
                                        const chokidar = require('chokidar');
                                        
                                        const Pfad = [
                                        
                                            'Y://',
                                        
                                            //'/opt/iobroker/scripts'
                                        
                                        //],
                                        /*
                                            cwd = 'Y://';
                                        */
                                        const options = {
                                        
                                            ignored: /(^|[\/\])\../,   // ignoriert dotfiles
                                        
                                            cwd: cwd,                   // Basisverzeichnis, wird dann aus dem Dateinamen entfernt
                                        
                                            persistent: !true,          // Bedeutung ist mir nicht klar :-)
                                        
                                            ignoreInitial: true,        // verhindert Meldungen zu Dateien beim Skriptstart
                                        
                                            depth: 0                    // Ordnertiefe
                                        
                                        }
                                        
                                         
                                        
                                        const watcher = chokidar.watch(Pfad, options)
                                        
                                          .on('add', path => {
                                        
                                            notify(`Die Datei ${path} wurde hinzugefügt`);
                                        
                                          })
                                        
                                          .on('change', path => {
                                        
                                            notify(`Die Datei ${path} wurde geändert`);
                                        
                                          })
                                        
                                          .on('unlink', path => {
                                        
                                            notify(`Die Datei ${path} wurde gelöscht`);
                                        
                                          })
                                        
                                         
                                        
                                        //Wichtig beim Beenden des Skriptes
                                        
                                        onStop(() => {
                                        
                                            watcher.close()
                                        
                                            .then(log('Watcher gestoppt'))
                                        
                                        })
                                        
                                         
                                        
                                        function notify(text){
                                        
                                            sendTo('telegram.2', {Hier kommt der Nachrichtentext!})
                                        
                                        }
                                        
                                         
                                        
                                        F Offline
                                        F Offline
                                        fastfoot
                                        schrieb am zuletzt editiert von
                                        #64

                                        @surfer09 sagte in Ordnerüberwachung möglich?:

                                        Und hier jetzt nochmal mein jetziges Skript:

                                        wie man da so viele Fehler einbauen kann erschliesst sich mir nicht ganz. Nimm jetzt einfach mal diese Version und ändere nichts!

                                        /*
                                         * Purpose:     überwacht Pfade und Dateien
                                         * Date:        29.10.2021
                                         * Author:      @fastfoot
                                         * 
                                        */
                                        const chokidar = require('chokidar');
                                        const Pfad = 'Y://';
                                         
                                        const options = {
                                            ignored: /(^|[\/\\\])\../,   // ignoriert dotfiles
                                            polling: !true,             // Polling aus, sollte an sein für netzwerkdateien
                                            cwd: Pfad,                  // Basisverzeichnis, wird dann aus dem Dateinamen entfernt
                                            persistent: !true,          // Bedeutung ist mir nicht klar :-)
                                            ignoreInitial: true,        // verhindert Meldungen zu Dateien beim Skriptstart
                                            depth: 0                    // Ordnertiefe
                                        }
                                         
                                        const watcher = chokidar.watch(Pfad, options)
                                            .on('add', path => {
                                                notify(`Die Datei ${path} wurde hinzugefügt`);
                                            })
                                            .on('change', path => {
                                                notify(`Die Datei ${path} wurde geändert`);
                                            })
                                            .on('unlink', path => {
                                                notify(`Die Datei ${path} wurde gelöscht`);
                                            })
                                         
                                        //Wichtig beim Beenden des Skriptes
                                        onStop(() => {
                                            watcher.close()
                                                .then(log('Watcher gestoppt', 'warn'))
                                        })
                                         
                                        function notify(text) {
                                            sendTo('telegram.0', { text });
                                            log(text);
                                        }
                                         
                                        

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

                                        surfer09S 1 Antwort Letzte Antwort
                                        0
                                        • F fastfoot

                                          @surfer09 sagte in Ordnerüberwachung möglich?:

                                          Und hier jetzt nochmal mein jetziges Skript:

                                          wie man da so viele Fehler einbauen kann erschliesst sich mir nicht ganz. Nimm jetzt einfach mal diese Version und ändere nichts!

                                          /*
                                           * Purpose:     überwacht Pfade und Dateien
                                           * Date:        29.10.2021
                                           * Author:      @fastfoot
                                           * 
                                          */
                                          const chokidar = require('chokidar');
                                          const Pfad = 'Y://';
                                           
                                          const options = {
                                              ignored: /(^|[\/\\\])\../,   // ignoriert dotfiles
                                              polling: !true,             // Polling aus, sollte an sein für netzwerkdateien
                                              cwd: Pfad,                  // Basisverzeichnis, wird dann aus dem Dateinamen entfernt
                                              persistent: !true,          // Bedeutung ist mir nicht klar :-)
                                              ignoreInitial: true,        // verhindert Meldungen zu Dateien beim Skriptstart
                                              depth: 0                    // Ordnertiefe
                                          }
                                           
                                          const watcher = chokidar.watch(Pfad, options)
                                              .on('add', path => {
                                                  notify(`Die Datei ${path} wurde hinzugefügt`);
                                              })
                                              .on('change', path => {
                                                  notify(`Die Datei ${path} wurde geändert`);
                                              })
                                              .on('unlink', path => {
                                                  notify(`Die Datei ${path} wurde gelöscht`);
                                              })
                                           
                                          //Wichtig beim Beenden des Skriptes
                                          onStop(() => {
                                              watcher.close()
                                                  .then(log('Watcher gestoppt', 'warn'))
                                          })
                                           
                                          function notify(text) {
                                              sendTo('telegram.0', { text });
                                              log(text);
                                          }
                                           
                                          
                                          surfer09S Offline
                                          surfer09S Offline
                                          surfer09
                                          schrieb am zuletzt editiert von
                                          #65

                                          @fastfoot Nichts geändert und eingefügt, im LOG taucht "Watcher gestoppt" auf. Ich bekomme auch noch keine Nachricht, bei Neuerstellung einer Datei.

                                          2021-10-29 20_43_09-.jpg

                                          IO-Broker Master/Slave auf Windows 11 64bit, NPM 10.9.4, Node 22.21.1 js-controller 7.0.7

                                          F 3 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          382

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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