Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Dateien auf FTP / NAS kopieren und anschließend umbenennen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    984

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Dateien auf FTP / NAS kopieren und anschließend umbenennen

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 3 Kommentatoren 1.0k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F Offline
    F Offline
    Flixer
    schrieb am zuletzt editiert von Flixer
    #1

    Hallo,

    ich habe es mit eurer Hilfe hin bekommen, einen Screenshot (Snapshot) von meiner IPCamera zu machen. Mein ioBroker läuft auf einem RasPi 4 mit 4GB in der aktuellen version mit NODE 14.

    Jetzt muss der Screenshot (Snapshot) noch auf meinen FTP/Datei Server (QNAP NAS). Hierfür habe ich wput über putty nachinstalliert. Es gelingt mir nun, die Snapshotdatei auf meinen NAS zu kopieren. Nachfolgend das TEST-Blockly (nicht wundern, damit teste ich etwas rum und schicke auch per Telegram):

    dfd3e8c7-f01b-44be-aeab-015d3453c411-grafik.png

    var timeout3, timeout, timeout2;
    
    
    exec('wget -O /opt/iobroker/snapshot/bild.jpg \'http://192.168.XXX.XXX:X/picture.jpg\'');
    timeout3 = setTimeout(async function () {
      exec('wput /opt/iobroker/snapshot/bild.jpg ftp://ADMIN:PASSWORD@192.168.XXX.XXX:x);
    }, 2000);
    timeout = setTimeout(async function () {
      sendTo("telegram", "send", {
          text: '/opt/iobroker/snapshot/bild.jpg'
      });
    }, 1000);
    timeout2 = setTimeout(async function () {
      sendTo("telegram", "send", {
          text: 'Türklingel!'
      });
    }, 1000);
    

    Es gibt jetzt noch 2 Dinge:

    1. Ich möchte die Datei umbenennen. Im Idealfall würde die aktuelle Datei "bild.jpg" in "2022.01.22 07.15.55.jpg" umbenannt, also "YYYY.MM.DD - HH.MM.SS". Die Umbenennung sollte möglichst auf dem NAS erfolgen, da ja sonst die SD des RasPi voll wird.

    2. Es gibt ein kleines Problem mit wput. Es wird immer der gesamte Dateipfad, also /opt/iobroker/snapshot auf dem freigegebenen Netzwerkpfad erstellt. Es soll natürlich nicht so erfolgen. Kann man das einstellen?
      "-nd" und "--no-directories" bewirkt nur, dass kein Bild und kein Ordner im Netzlaufwerk erscheinen...

    EDIT:
    Problem 2 ist gelöst. Nach etwas Suchen habe ich folgende Lösung gefunden: Es muss der Pfad als Basename zuvor angelegt werden. Damit kommt der ganze Pfad nicht mehr mit. Das sieht dann bei mir so aus:

    wput --basename=/opt/iobroker/snapshot /opt/iobroker/snapshot/bild.jpg ftp://ADMIN:PASSWORD@192.168.XXX.XXX:X
    

    Bleibt nur noch das Umbenennen mit Datum und Uhrzeit auf dem Server. Alternativ, falls das geht, könnte man die Dateien ja auch auf dem Raspi umbenennen und dann alle im Pfad Ordner "snapshot" löschen?

    MfG Flixer

    David G.D 1 Antwort Letzte Antwort
    0
    • F Flixer

      Hallo,

      ich habe es mit eurer Hilfe hin bekommen, einen Screenshot (Snapshot) von meiner IPCamera zu machen. Mein ioBroker läuft auf einem RasPi 4 mit 4GB in der aktuellen version mit NODE 14.

      Jetzt muss der Screenshot (Snapshot) noch auf meinen FTP/Datei Server (QNAP NAS). Hierfür habe ich wput über putty nachinstalliert. Es gelingt mir nun, die Snapshotdatei auf meinen NAS zu kopieren. Nachfolgend das TEST-Blockly (nicht wundern, damit teste ich etwas rum und schicke auch per Telegram):

      dfd3e8c7-f01b-44be-aeab-015d3453c411-grafik.png

      var timeout3, timeout, timeout2;
      
      
      exec('wget -O /opt/iobroker/snapshot/bild.jpg \'http://192.168.XXX.XXX:X/picture.jpg\'');
      timeout3 = setTimeout(async function () {
        exec('wput /opt/iobroker/snapshot/bild.jpg ftp://ADMIN:PASSWORD@192.168.XXX.XXX:x);
      }, 2000);
      timeout = setTimeout(async function () {
        sendTo("telegram", "send", {
            text: '/opt/iobroker/snapshot/bild.jpg'
        });
      }, 1000);
      timeout2 = setTimeout(async function () {
        sendTo("telegram", "send", {
            text: 'Türklingel!'
        });
      }, 1000);
      

      Es gibt jetzt noch 2 Dinge:

      1. Ich möchte die Datei umbenennen. Im Idealfall würde die aktuelle Datei "bild.jpg" in "2022.01.22 07.15.55.jpg" umbenannt, also "YYYY.MM.DD - HH.MM.SS". Die Umbenennung sollte möglichst auf dem NAS erfolgen, da ja sonst die SD des RasPi voll wird.

      2. Es gibt ein kleines Problem mit wput. Es wird immer der gesamte Dateipfad, also /opt/iobroker/snapshot auf dem freigegebenen Netzwerkpfad erstellt. Es soll natürlich nicht so erfolgen. Kann man das einstellen?
        "-nd" und "--no-directories" bewirkt nur, dass kein Bild und kein Ordner im Netzlaufwerk erscheinen...

      EDIT:
      Problem 2 ist gelöst. Nach etwas Suchen habe ich folgende Lösung gefunden: Es muss der Pfad als Basename zuvor angelegt werden. Damit kommt der ganze Pfad nicht mehr mit. Das sieht dann bei mir so aus:

      wput --basename=/opt/iobroker/snapshot /opt/iobroker/snapshot/bild.jpg ftp://ADMIN:PASSWORD@192.168.XXX.XXX:X
      

      Bleibt nur noch das Umbenennen mit Datum und Uhrzeit auf dem Server. Alternativ, falls das geht, könnte man die Dateien ja auch auf dem Raspi umbenennen und dann alle im Pfad Ordner "snapshot" löschen?

      MfG Flixer

      David G.D Online
      David G.D Online
      David G.
      schrieb am zuletzt editiert von David G.
      #2

      @flixer

      Cool, das kann ich bestimmt auch mal gebrauchen mit dem wput.

      Mit dem Pfad hab ich auch keine Idee. Habe im. Syntax vom wput keine Option für gefunden.

      Zum Dateinamen. Die kannst du doch am iobroker umbenennen. Am Ende vom Script lässt du die Datei dann löschen. Oder wird das Bild noch weiter benötigt?

      EDIT:
      Evtl hilft das bei dem Problem mit dem ganzen Pfad. Ka....

      Verzeichnis-Optionen
      -nd
      --no-directories	Falls Dateien rekursiv hochgeladen werden, so wird auf dem Server kein Ordner erstellt wenn keiner Vorhanden ist.
      --basename=PFAD	Spezifiziert einen Basispfad.
      

      Quelle

      EDIT 2:
      Man kann mittels curl scheinbar Daten am Server umbenennen. (auch hochladen).

      http://www.mukeshkumar.net/articles/curl/how-to-use-curl-command-line-tool-with-ftp-and-sftp

      EDIT 3:

      Dass ganze editieren vom Ausgangspost finde ich ziemlich unpraktisch. Besser weiter unten als Antwort einfügen.
      Erst recht, wenn alle Änderungen auf Antworten anderer User basieren. Wenn jemand den Thread liest findet er kaum den Zusammenhang.

      Das umbenennen und löschen ist ja relativ einfach.
      Das curl vom ersten lesen her auch. Noch nie gemacht.

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      F 1 Antwort Letzte Antwort
      0
      • David G.D David G.

        @flixer

        Cool, das kann ich bestimmt auch mal gebrauchen mit dem wput.

        Mit dem Pfad hab ich auch keine Idee. Habe im. Syntax vom wput keine Option für gefunden.

        Zum Dateinamen. Die kannst du doch am iobroker umbenennen. Am Ende vom Script lässt du die Datei dann löschen. Oder wird das Bild noch weiter benötigt?

        EDIT:
        Evtl hilft das bei dem Problem mit dem ganzen Pfad. Ka....

        Verzeichnis-Optionen
        -nd
        --no-directories	Falls Dateien rekursiv hochgeladen werden, so wird auf dem Server kein Ordner erstellt wenn keiner Vorhanden ist.
        --basename=PFAD	Spezifiziert einen Basispfad.
        

        Quelle

        EDIT 2:
        Man kann mittels curl scheinbar Daten am Server umbenennen. (auch hochladen).

        http://www.mukeshkumar.net/articles/curl/how-to-use-curl-command-line-tool-with-ftp-and-sftp

        EDIT 3:

        Dass ganze editieren vom Ausgangspost finde ich ziemlich unpraktisch. Besser weiter unten als Antwort einfügen.
        Erst recht, wenn alle Änderungen auf Antworten anderer User basieren. Wenn jemand den Thread liest findet er kaum den Zusammenhang.

        Das umbenennen und löschen ist ja relativ einfach.
        Das curl vom ersten lesen her auch. Noch nie gemacht.

        F Offline
        F Offline
        Flixer
        schrieb am zuletzt editiert von
        #3

        @david-g
        Hallo david,

        ich hatte den Ausgangspost editier, da war noch keine Antwort vorhanden.

        Hier der aktuelle Stand:
        8b92811a-d564-4ba3-b63c-cdb091d6faf1-grafik.png

        Langsam komme ich voran. Aktuell speichern das Skript die Datei aber nicht, wenn ich das Datum und/oder die Uhrzeit (einfach nur ohne Sonderzeichen hintereinander weg z.B. als JJJJMMDD) rein schreibe. Nehme ich z.B. nur "Minuten" klappt es wunderbar.

        Mal eine Frage zwischendurch: Wie lösche ich aus Putty heraus eine Datei?

        Ich habe folgenden Pfad: /opt/iobroker/snapshot/

        In diesem Pfad wird eine Datei abgelegt, die ich mit einer Variablen hinterlegt habe (Bildpfad). Mit welchem Befehlt kann ich die Datei löschen? Hintergrund: Nach erfolgreichem Durchlauf soll der Ordner natürlich nicht "zumüllen" und die auf den NAS kopierte Datei soll auf dem raspi entfernt werden.

        David G.D bahnuhrB 2 Antworten Letzte Antwort
        0
        • F Flixer

          @david-g
          Hallo david,

          ich hatte den Ausgangspost editier, da war noch keine Antwort vorhanden.

          Hier der aktuelle Stand:
          8b92811a-d564-4ba3-b63c-cdb091d6faf1-grafik.png

          Langsam komme ich voran. Aktuell speichern das Skript die Datei aber nicht, wenn ich das Datum und/oder die Uhrzeit (einfach nur ohne Sonderzeichen hintereinander weg z.B. als JJJJMMDD) rein schreibe. Nehme ich z.B. nur "Minuten" klappt es wunderbar.

          Mal eine Frage zwischendurch: Wie lösche ich aus Putty heraus eine Datei?

          Ich habe folgenden Pfad: /opt/iobroker/snapshot/

          In diesem Pfad wird eine Datei abgelegt, die ich mit einer Variablen hinterlegt habe (Bildpfad). Mit welchem Befehlt kann ich die Datei löschen? Hintergrund: Nach erfolgreichem Durchlauf soll der Ordner natürlich nicht "zumüllen" und die auf den NAS kopierte Datei soll auf dem raspi entfernt werden.

          David G.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von
          #4

          @flixer

          Okay, haben wir uns überschritten ^^.

          Warum er nicht speichert weiß ich nicht. Hast du ein vordefiniertes Format genommen oder ein eigenes bei der Zeit?

          Löschen müsste mit

          rm /opt/iobroker/snapshot/xxx.jpg
          

          funktionieren.
          Kannst du ja auch mit den Variablen zusammensetzen.

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          1 Antwort Letzte Antwort
          1
          • F Flixer

            @david-g
            Hallo david,

            ich hatte den Ausgangspost editier, da war noch keine Antwort vorhanden.

            Hier der aktuelle Stand:
            8b92811a-d564-4ba3-b63c-cdb091d6faf1-grafik.png

            Langsam komme ich voran. Aktuell speichern das Skript die Datei aber nicht, wenn ich das Datum und/oder die Uhrzeit (einfach nur ohne Sonderzeichen hintereinander weg z.B. als JJJJMMDD) rein schreibe. Nehme ich z.B. nur "Minuten" klappt es wunderbar.

            Mal eine Frage zwischendurch: Wie lösche ich aus Putty heraus eine Datei?

            Ich habe folgenden Pfad: /opt/iobroker/snapshot/

            In diesem Pfad wird eine Datei abgelegt, die ich mit einer Variablen hinterlegt habe (Bildpfad). Mit welchem Befehlt kann ich die Datei löschen? Hintergrund: Nach erfolgreichem Durchlauf soll der Ordner natürlich nicht "zumüllen" und die auf den NAS kopierte Datei soll auf dem raspi entfernt werden.

            bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #5

            @flixer sagte in Dateien auf FTP / NAS kopieren und anschließend umbenennen:

            Mit welchem Befehlt kann ich die Datei löschen?

            Per Script mache ich dies so.

            function Datei_loeschen(Datei) {
                // Pfad immer mit / darstellen
                // gesamter Befehl somit: Datei_loeschen("/opt/iobroker/iobroker-data/files/vis.0/Daten/test.txt");
                var fs = require('fs'); 
                fs.unlink(Datei, function (err) {
                    if (err) throw err;
                    log('Datei: ' + Datei + ' wurde gelöscht.');
                });
            }
            

            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              Flixer
              schrieb am zuletzt editiert von
              #6

              Hallöchen,

              also es läuft.

              Zum Verständnis: Ich habe eine Türsprechanlage (Akuvox R25C), die beim Drücken des Klingeln-Knopfes u.a. einen Web-Befehl an den ioBroker schickt welcher einen Objektwert ändert. Wenn dieser auf "true" gesetzt wird startet das Skript.

              2611157d-526d-4720-8d14-a8ffa3e2cb86-grafik.png

              Als Erläuterung für den Ablauf von oben nach unten (laienhaft beschreiben!):

              • der Bildpfad auf meinem RasPi wird festgelegt, inkl. Datum und Uhrzeit im Dateinamen (hier Tür_Datum_Uhrzeit) => Hinweis: der Ordner Snapshot ist nicht vorhanden und muss z.B. mit Putty erstellt werden)
              • der Befehl für das Holen vom Bild der Camera wird definiert
              • der Befehl für das Kopieren auf den Server wird festgelegt
              • der Befehl für das Löschen der Datei auf meinem Raspi wird definiert
              • Ausführen des Befehlts Speichern
                -- Timeout mit anshcließendem Senden des Bildes und einer Nahcricht (es hat geklingelt)
              • nach einem Timeout wird die aufgenommene Datei mit dem Befehl Kopieren auf den NAS kopiert und nach anschließender Pause vom RasPi gelöscht
              • abschließend wird das Objekt auf den Werte false gesetzt, sodass beim erneuten Klingeln das Skript wieder startet.

              MfG Flixer

              1 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              752

              Online

              32.6k

              Benutzer

              82.3k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe