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.
    • 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
                          • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            664
                                            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