Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Synology-NAS-Ordnerüberwachung möglich? *gelöst*

    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

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      fastfoot @liv-in-sky last edited by

      @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-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @fastfoot last edited by 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

        surfer09 1 Reply Last reply Reply Quote 0
        • surfer09
          surfer09 @fastfoot last edited by

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

          Fehler.jpg

          Skript.jpg

          F 1 Reply Last reply Reply Quote 0
          • surfer09
            surfer09 @liv-in-sky last edited by

            @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-sky 2 Replies Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @surfer09 last edited by

              @surfer09

              ein script wirdnormalerweise in der console angelegt

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

              1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @surfer09 last edited by

                @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'
                
                surfer09 1 Reply Last reply Reply Quote 0
                • F
                  fastfoot @surfer09 last edited by

                  @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?

                  Homoran surfer09 2 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @fastfoot last edited by 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 2 Replies Last reply Reply Quote 0
                    • F
                      fastfoot @Homoran last edited by

                      @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

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

                        @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 😉

                        1 Reply Last reply Reply Quote 0
                        • F
                          fastfoot @Homoran last edited by

                          @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

                          1 Reply Last reply Reply Quote 0
                          • surfer09
                            surfer09 @liv-in-sky last edited by

                            @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! 😉

                            1 Reply Last reply Reply Quote 0
                            • surfer09
                              surfer09 @fastfoot last edited by

                              @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 2 Replies Last reply Reply Quote 0
                              • F
                                fastfoot @surfer09 last edited by fastfoot

                                @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

                                1 Reply Last reply Reply Quote 0
                                • F
                                  fastfoot @surfer09 last edited by

                                  @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);
                                  }
                                   
                                  
                                  surfer09 1 Reply Last reply Reply Quote 0
                                  • surfer09
                                    surfer09 @fastfoot last edited by

                                    @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

                                    F 3 Replies Last reply Reply Quote 0
                                    • F
                                      fastfoot @surfer09 last edited by

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

                                      @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

                                      Diese Meldung taucht eigentlich nur auf wenn das Skript im iobroker gestoppt wird, also eigentlich durch den Benutzer. War das so? Ich habe es soeben unter Windows getestet und es funktioniert einwandfrei. Allerdings habe ich dort nur node und keinen iobroker, so dass ich die iobroker-eigene Funktion onStop() leider nicht mittesten konnte. Die Funktion hatte ich einbauen müssen weil der Watcher nach Beenden des Skriptes munter weiterlief.

                                      1 Reply Last reply Reply Quote 0
                                      • F
                                        fastfoot @surfer09 last edited by

                                        @surfer09 Und bitte auch die LOG Einträge nicht als Bild sondern als Text in CodeTags und auch komplett vom Start bis zum Stop

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          fastfoot @surfer09 last edited by

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

                                          Ich bekomme auch noch keine Nachricht, bei Neuerstellung einer Datei.

                                          Jetzt habe ich eigens(wollte ich schon immer mal) iobroker auf Windows installiert. Das Skript funktioniert zwar, aber nicht mit von der NAS gemounteten Ordnern. Tut mir leid, eigentlich sollte es funktionieren, aber ich habe jetzt so ziemlich alle Optionen durch und es will einfach nicht. Vielleicht klappt es ja mit @liv-in-sky's Lösung

                                          surfer09 liv-in-sky 2 Replies Last reply Reply Quote 0
                                          • surfer09
                                            surfer09 @fastfoot last edited by

                                            @fastfoot Mensch, du hast dir jetzt aber auch Mühe gemacht. Trotzdem Danke!

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            870
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly ordnerüberwachung
                                            7
                                            86
                                            6640
                                            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