Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Sichern von Bilder einer IP-Cam auf FTP Server bei Bewegung

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Sichern von Bilder einer IP-Cam auf FTP Server bei Bewegung

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TemPeck last edited by

      Hallo zusammen,

      ich sitze gerade daran, folgendes umzusetzen:

      Ich möchte, dass eine IP-Cam (Innenraumüberwachung) im Fall einer erkannten Bewegung (Trigger durch Xiaomi Aqara BWM oder Motion) bei Abwesenheit und/oder eingeschalteter Alarmanlage eine Bilderserie erstellt und diese über FTP auf einen Server / NAS lädt.

      Auf meinem Zotac läuft Proxmox mit iobroker und Motion/MotionEye in einem LXC.

      Ich habe hierzu eine IP-Cam in MotionEye eingebunden, von welcher ich die Bilder mit wget hole und zunächst zwischenspeichere.

      wget --output-document /opt/iobroker/ipcam/wohnzimmer.jpg 'http://192.168.1.131:8765/picture/1/current/?'
      

      Das Skript ist hier ja für das Senden per Telegram weit verbreitet.

      Nach dem Speichern habe ich es nun mit

      curl -T /opt/iobroker/ipcam/wohnzimmer.jpg -u benutzer:passwort 'ftp://192.168.1.24:21/Videos/Surveillance/Wohnzimmer/'
      

      erfolgreich gespeichert.

      Nun suche ich nach einer Möglichkeit, die Datei bestenfalls beim Speichern auf dem NAS mit Datum/Zeit Präfix zu versehen.
      Denn mit dem derzeitigen Script wird immer nur die Datei wohnzimmer.jpg überschrieben.
      Ich habe nun einige Stunden versucht mich einzulesen und bin zu der Erkenntnis gekommen, dass es zwei Möglichkeiten gibt, warum ich es nicht geschafft habe:

      1. Ich bin blind 😟
      2. die Möglichkeit existiert nicht

      Was das ganze Skripten, Linux etc. angeht muss ich mich immer wieder als blutiger Anfänger outen, der nach und nach versucht, sich die Sachen anzulesen. Das klappt bisher recht passabel, aber es gibt halt immer wieder Punkte, da ist man ohne Hilfe aufgeschmissen.

      Wahlweise würde ich natürlich auch andere Vorschläge begrüßen, mein Vorhaben in die Tat umzusetzen.
      Motion bringt die Funktion des Abspeicherns ja grundsätzlich mit, das habe ich auch probiert. Allerdings waren nach kürzester Zeit über 5.000 Bilder auf dem Server, da ich mich in dem Bereich ständig bewege, wenn ich zu Hause bin...
      Daher möchte ich hier den Umweg über den iobroker und die dort laufende Anwesenheitserkennung gehen. Insbesondere weil ich dies dann auch bei anderen Kameras (Außenkameras) umsetzen könnte, bei denen ich den Umweg über Motion nicht gehen muss, weil ich die Bilder hier direkt abholen kann.

      Vielen Dank für die Unterstützung,
      TemPeck

      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by

        zeigmal das ganze Script ...

        1 Reply Last reply Reply Quote 0
        • T
          TemPeck last edited by

          Das ist eine Funktion in einem Blockly-Script.

          Für ein richtiges Javascript reichen meine Kenntnisse und Fähigkeiten leider (noch) nicht aus...

          script.JPG

          1 Reply Last reply Reply Quote 0
          • X
            Xyolyp last edited by

            Du könntest die Datei vor dem Upload lokal umbenennen oder (siehe man curl) mit den Optionen --url /opt/iobroker/ipcam/wohnzimmer.jpg -u user:pass -T 'ftp://192.168.1.24:21/Videos/Surveillance/Wohnzimmer/$(date)_wohnzimmer.jpg' eine Zieldatei angeben.

            1 Reply Last reply Reply Quote 0
            • T
              TemPeck last edited by

              @Xyolyp said in Sichern von Bilder einer IP-Cam auf FTP Server bei Bewegung:

              Du könntest die Datei vor dem Upload lokal umbenennen oder (siehe man curl) mit den Optionen --url /opt/iobroker/ipcam/wohnzimmer.jpg -u user:pass -T 'ftp://192.168.1.24:21/Videos/Surveillance/Wohnzimmer/$(date)_wohnzimmer.jpg' eine Zieldatei angeben.

              Vom Prinzip habe ich genau sowas gesucht, wie du vorgeschlagen hast.
              Ich habe mich auch schon durch die man curl gequält und eben auch mit deinem Vorschlag einiges ausprobiert, leider bislang ohne Erfolg.

              Der Präfix mit dem Datum wird offensichtlich nicht verarbeitet. Die datei heißt dann tatsächlich "$(date)wohnzimmer.jpg" und wird entsprechend wieder überschrieben.

              Sobald ich --url eingesetzt habe, ist gar keine Datei mehr erschienen. Auch hier weiß ich nicht, warum ☹

              Auch Versuche mit --remote-name und --remote-header-name blieben leider erfolglos...

              1 Reply Last reply Reply Quote 0
              • X
                Xyolyp last edited by Xyolyp

                @Xyolyp sagte in Sichern von Bilder einer IP-Cam auf FTP Server bei Bewegung:

                'ftp://192.168.1.24:21/Videos/Surveillance/Wohnzimmer/$(date)_wohnzimmer.jpg'

                Da habe ich nicht aufgepasst. Es müssten doppelte Anführungszeichen ( " ) (Großschreiben und 2) und nicht einzelne (
                ' ) (Großschreiben und #) sein. Dann sollte es funktionieren. Wenn du das Datum anders formatieren möchtest (Beispiel jahrmonattag_stundeminutesekunde) kannst du entweder "man date" in der Linux Konsole eingeben oder du googlest nach "bash date format".
                Wenn du in Linux Bash in einem Text in doppelten Anführungszeichen $() machst kannst du darin einen Befehl schreiben, dessen Ergebnis an der Stelle wo es steht eingesetzt wird.

                1 Reply Last reply Reply Quote 0
                • T
                  TemPeck last edited by

                  Da muss man erstmal drauf kommen 😌

                  Also mit dem Zusatz --url hat es weiterhin nicht funktioniert.
                  Die Änderung mit den doppelten Anführungszeichen hat zumindest soweit geführt, dass immer unterschiedliche Dateinamen kamen und ich somit die Datei nicht immer wieder überschrieben habe.

                  Da das, was als Dateiname rauskam, nichts mit einem Datum zu tun hatte, habe ich es anders versucht und nun klappt es genau, wie ich es wollte.

                  Vielen Dank für die Hilfestellung!!! 😊

                  Zuletzt noch der nun funktionierende Befehl:

                  curl -T '/opt/iobroker/ipcam/wohnzimmer.jpg' -u user:password "ftp://192.168.1.24:21/Surveillance/Wohnzimmer/wohnzimmer-`date +%Y-%m-%d-%H-%M-%S`.jpg"
                  

                  Grüße!
                  TemPeck

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  602
                  Online

                  31.7k
                  Users

                  79.7k
                  Topics

                  1.3m
                  Posts

                  security
                  3
                  7
                  1740
                  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