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.
    • surfer09
      surfer09 @mickym last edited by

      @mickym

      2021-10-27 21_06_02-node-red-0 - IO-Broker-Server.jpg

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @surfer09 last edited by mickym

        @surfer09 Jo und passiert nichts wenn eine neue Datei in Y angelegt wird? Und bei Dir halt ggf. schauen, ob Y: auch Rechte hast. Also über Explorer mal Datei anlegen, beschreiben oder löschen. Ggf. versuchst Du es erst mal mit einem lokalen Verzeichnis um zu schauen, ob die Netzkommunikation hier dazwischen funkt.

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

          @mickym Also die Berechtigung kann ich ausschließen, weil ich die Testdatei die ganze Zeit schon über den IO-Broker Server erstelle und lösche.
          Lokal funktioniert das ganze Spiel mit den Nodes. Über das Netzlaufwerk klappt das allerdings nicht..

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @surfer09 last edited by mickym

            @mickym Nun wenn es lokal funktioniert und Du Laufwerksbuchstaben nutzt dann weiss ich auch nicht so recht.

            net use Y: \\server\share  /user: name password
            
            • ich habe nun die Ressource wie oben zugeordnet.

            Ich glaube es ist ein Berechtigungsproblem - gerade unter Windows - wenn das Laufwerk unter einer anderen Benutzer zugewiesen wurde, scheint es ein Problem zu geben.

            Ja hab das nun verifziert, wenn das Y: Laufwerk unter einem anderen Benutzer zugewiesen wurde, dann funktioniert die Überwachung nicht.
            Insofern ist der Einwand von @liv-in-sky wahrscheinlich sehr berechtigt und unter Windows kann man das auch nicht so schnell ändern.
            Ich würde mal Deine Maschine runterfahren und mich als iobroker user das Netzlaufwerk zuordnen. Es dürfte aus meiner Sicht ein Berechtigungsproblem sein, wenn man versucht unter verschiedenen Benutzern eine Netzwerkresource unter Windows zu nutzen.

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

              @mickym Schade, dann wird das wohl unter Windows doch nicht so einfach sein...
              Wie bekomme ich denn das Passwort für den iobroker Benutzer raus? Ich würde sonst gerne das Netzlaufwerk einmal mit dem Benutzer verbinden und es dann erneut testen.

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @surfer09 last edited by mickym

                So was ich mal gemacht habe ist, dass ich geschaut habe, dass das Laufwerk Y: bereits bei Anmeldung zugewiesen wird.

                Bzw. die Flows neu gestartet werden.

                Ich hab das Laufwerk Y: zugeordnet:

                8106ff35-47f4-4e1c-b538-2ce1c456d244-image.png

                und dann den Flow neu gestartet.

                f0c21769-18a2-4c11-8e0e-370b55046ac9-image.png

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

                  So, ich habe gerade auch nochmal das versucht umzusetzen, was du beschrieben hattest. Der IO-Broker Dienst startet mit dem Windowsbenutzer io-broker, mit diesem wird ebenfalls das Netzlaufwerk Y:\ verbunden (Benutzer io-broker habe ich auch auf dem NAS angelegt mit Lese-/Schreibrecht auf die zu überwachende Freigabe).
                  NODE-RED Instanz neu gestartet, Datei in dem Ordner abgelegt - es passiert immer noch nichts in der Debug-Ausgabe 😞

                  2021-10-28 19_45_06-IO-Broker - io-broker-server - Remotedesktopverbindung.jpg

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @surfer09 last edited by mickym

                    @surfer09 Also bei mir gehts es:

                    86cae4d5-51df-4a39-a118-5bf44327c80c-image.png

                    Aber wie gesagt - ich habs auch schon mal gehabt, dass es nicht gegangen ist, wenn das irgendwie anderes verbunden war. Musst halt mal so zu probieren, dass beim Starten die Zuordnung bereits da ist - musst halt rumprobieren. Das ist halt nun schwierig - aber es scheint unter bestimmten 😉 Umständen zu funktionieren unter welchen nicht, ist mir aber auch nicht ganz klar.

                    c1ceb980-ec39-4ba1-a9bd-cf255e7db623-image.png

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

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

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @surfer09 last edited by

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

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

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

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

                              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 1 Reply Last reply Reply Quote 0
                              • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            887
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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