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 @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
                                    • Thomas Braun
                                      Thomas Braun Most Active @liv-in-sky last edited by Thomas Braun

                                      @liv-in-sky

                                      Ich werf nur mal so als Denkanstoß in die Runde:
                                      inotify

                                      Das ist schon im Kernel integriert und tut genau das: Verzeichnisse auf neue Dateien überwachen.

                                      https://www.linux-community.de/ausgaben/linuxuser/2017/01/bescheid/

                                      Keine Ahnung ob das hier weiterhilft...

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

                                        @thomas-braun

                                        da hast du recht - ist auch eine idee für linux server - hatte ich schon mal mit gespielt - wir haben aber jetzt auf windows umgestellt - synology ist zwar auch linux - aber ich kenn mich damit eigentlich nicht aus und wollte dort nicht so viel auf der systemebene machen

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

                                          und
                                          @surfer09 fühlt sich auf windows wohler

                                          Thomas Braun 1 Reply Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @liv-in-sky last edited by

                                            @liv-in-sky

                                            Den 'Fehler' habe ich gerade erst gesehen:

                                            Ich arbeite ausschließlich mit Windows, auch mein IO-Broker läuft auf Windows.

                                            Irgendwer hat das mal als 'Error 0' bezeichnet. 😉

                                            surfer09 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

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

                                            524
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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