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 @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
                        • liv-in-sky
                          liv-in-sky @fastfoot last edited by

                          @fastfoot evtl auch das problem mit iobroker user, der über ein net mount muss ?

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

                            @surfer09
                            konntest du schon herausfinden, wie man ein script anlegt ?

                            evtl geht das wie hier - im dritten bild wird direct ein script eingegeben https://www.christian-knedel.de/post/2020/february/20200213-synology-task/

                            wir können auch gerne eine anydesk session machen- habe aber keine erfahrung mit synology

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

                              @liv-in-sky Ja genau. Über den Aufgabenplaner scheint man ein Skript hinterlegen zu können.

                              2021-10-30 14_40_20-DETERS-NAS - Synology DiskStation.jpg

                              Aber wie das jetzt aussehen muss... Da bin ich ja total überfragt.

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

                                @surfer09 hast du simple api adapter installiert ? in iobroker

                                surfer09 1 Reply Last reply Reply Quote 0
                                • RK62
                                  RK62 last edited by

                                  Der Adapter https://github.com/Scrounger/ioBroker.linux-control liefert unter anderem auch die Anzahl von Dateien auf einer Synology.

                                  Gruß, Ralf

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

                                    @liv-in-sky Ist in der Version 2.6.1 installiert, ja!

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

                                      @surfer09 anydesk möglich - dann muss ichj nicht so viel schreiben

                                      du brauchst auch einen neuen dp unter 0_userdata z.b. 0_userdata.0.checkNewFileNAS

                                      touch  /run/lastwatch
                                      sleep 30
                                      find /Daten/Video/SCHNELL -cnewer /run/lastwatch -exec curl 'http://ipaddress:8087/set/0_userdata.0.CONTROL-OWN.AAATEST.test.mixedtest?value=true&prettyPrint' 2>/dev/null {} \;
                                      

                                      Image 1.png

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

                                        Vielen Dank an @liv-in-sky für deine Zeit, um hier eine Lösung zu erarbeiten.
                                        Ich poste hier mal das Skript und die Einstellungen auf meinem Synology NAS:

                                        touch  /volume1/LOG/lastwatch
                                        sleep 60
                                        find /volume1/HP-Scan -cnewer /volume1/LOG/lastwatch -exec curl 'http://192.168.1.14:8087/set/0_userdata.0.test.checkFileNAS?value=true&prettyPrint'  {} \;
                                        exit
                                        

                                        Aufgabe im Aufgabenplaner auf dem Synology-NAS:

                                        Aufgabe.jpg

                                        Aufgabe_2.jpg

                                        Wichtig ist hier die Ausführung der Aufgabe mit dem root-Benutzer.

                                        Datenpunkt auf dem IO-Broker manuell anlegen:

                                        Objekt.jpg

                                        Die Abfrage auf den Datenpunkt erfolgt dann über Blockly mit "wurde aktualisiert".

                                        Blockly.jpg

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

                                          Hier nochmal eine Korrektur zum vorherigen Post. Leider funktionierte die vorherige Version nicht korrekt, sodass diese nochmal von @liv-in-sky umgebaut wurde in ein Skript, welches unter Windows ausgeführt wird. Dieses Skript läuft als Dauerrschleife und prüft ab, ob eine neue Datei in dem Ordner abgelegt wird.
                                          Das Blockly Skript bleibt bestehen.

                                          setlocal enabledelayedexpansion
                                          :anfang
                                          
                                          echo > y:\OrdnerUeberwachung.txt
                                          
                                          :loop
                                          
                                          c:\windows\system32\timeout  10
                                          rem zu ueberwachenden Ordner anwählen
                                          set Path="Y:\"
                                          for /f "tokens=*" %%a in ('dir /A:-D /B /O:-D  %Path%') do set NEW=%%a&& goto:n 
                                          :n
                                          echo %NEW%
                                          rem Wenn neue Datei nicht die txt ist, dann aktualisiere den Datenpunkt im iobroker
                                          IF NOT "%NEW%"=="OrdnerUeberwachung.txt" (
                                          C:\windows\system32\curl "http://192.168.1.14:8087/set/0_userdata.0.test.checkFileNAS?value=true&prettyPrint"
                                          
                                          goto:anfang
                                          )
                                          goto :loop
                                          
                                          
                                          liv-in-sky 2 Replies Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @surfer09 last edited by

                                            @surfer09

                                            danke für's posten - die linux version funktioniert eigentlich schon - das problem ist der taskscheduler in der synology - den konten wir nicht so einstellen, dass das alles reibungslos läuft

                                            mit z.b samba linux nas systemen kann man das linux script nutzen

                                            Thomas Braun 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

                                            743
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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