NEWS
Das neueste Bild/Video von FTP-Server laden, Telegram senden
-
Ist es überhaupt möglich mit Blockly das neueste Bild/Video von ProFTPD zu laden und per Telegram zu senden?
IoBroker und der FTP-Server sind auf verschiedenen Raspis.
Beide sind im gleichen Netzwerk. -
@gonzokalle möglich ist alles es kommt drauf an wie viel Aufwand du betreiben möchtest und wie viel Ahnung du von Linux hast.
ausserdem es werden mehr Informationen gebraucht..
wie ist der NAS an iobroker angebunden ?? wenn überhaupt?
sind freigaben auf dem NAS enthalten? wie kommen die Bilder da hin?? von wo kommen die ??
und und und -
@arteck
Meine Ahnung von Linux ist Anfänger Niveau.
ProFTPD ist eine FTP-Server auf einem Raspi 4 ohne Anbindung an ioBroker.
Die Bilder kommen von einer Reolink CX810 Kamera auf den FTP-Server.
In der Reolink gibt es dafür ein Menü Punk für FTP. Das läuft alles schon.
Bilder und Videos liegen als *.jpg und *.mp4 auf dem FTP-Server.
Mit jedem FTP-Client kann man auf den FTP-Server zugreifen.
Freigaben wie bei Windows ? keine Ahnung. -
Du bist ja nun auch ein paar Jahre dabei, deshalb muss ich mal reißerisch fragen:
Über die Forensuche hast Du keine Ergebnisse erhalten?
-
@gonzokalle sagte in Das neueste Bild/Video von FTP-Server laden, Telegram senden:
n der Reolink gibt es dafür ein Menü Punk für FTP. Das läuft alles schon.
Bilder und Videos liegen als *.jpg und *.mp4 auf dem FTP-Server.
Mit jedem FTP-Client kann man auf den FTP-Server zugreifen.
Freigaben wie bei Windows ? keine Ahnung.Habe so etwas ähnliches gemacht, aber direkt von der SD-Karte der Kamera
Hier die abgeschnittene URL, weiß aber nicht mehr, wie ich an den &rs=... Parameter gekommen bin - sieht irgendwie wie eine UUID aus .. (Unkenntlich gemacht, wie mein Password)
https://192.168.2.190/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=..............&user=Martin&password=..........!&width=640&height=480
-
Du kann auf die SD der Reolink zugreifen? Und siehst alle Dateien darauf?
Bitte mehr Information.
Oder meinest du nur einen Snapshot von der Kamera?In einem anderen Thread hattest du geschrieben, dass du die Aufnahmen auf einen FTP-Server speicherst.
Das habe ich mir auch soweit eingerichtet.
Jetzt will ich halt die aktuelle Aufnahmen (jpg und mp4) vom FTP aufs Handy schicken.
Da komme ich halt nicht weiter.Des weiteren hattest du mal etwas von einem Cron-Job geschrieben, um Dateien auf dem FTP zu löschen.
Wie sieht dein Cron-Job aus? Ist der vom ioBroker heraus oder von Linux selber? -
Habe vor drei Jahren mit dem ioBroker bei Null angefangen.
Hatte vorher noch nie etwas von Blockly usw gehört und mich nie mit Linux beschäftigt.
Ich habe schon viel gelernt, denke ich. Ich helfe auch gerne weiter, wenn ich kann.
Und ja ich habe die Forensuche benutzt.
Aber die Ergebnisse muss man halt auch anwenden können. -
@gonzokalle Das Alarmieren mache ich über den Bewegungserkennungsdatenpunkt vom Reolink-Adapter, und hole mir dann direkt einen frischen Snapshot von der Kamera...
Die Kamera schreibt per FTP selbsttätig bei Bewegungserkennung auf eine Linux-Instanz.
Auf der dann dieser cron-Eintrag
Alle 4 Stunden zur Nullten Minute:
0 */4 * * * bash /home/martin/skripte/reolink.sh >/dev/null 2>&1
Zeile 3+4 mit rsync auf den Fileserver
Zeile 6 Aufräumen
logger "reolink.sh started" # debian server is down sshpass -p "xxxxxxxxxxxxx" rsync -a /home/martin/ftp/reolink/garage/*.mp4 martin@192.168.2.203:/mnt/usbdrives/intenso1/backup/Martin/reolink/recordings sshpass -p "xxxxxxxxxxxxx" rsync -a /home/martin/ftp/reolink/garage/*.jpg martin@192.168.2.203:/mnt/usbdrives/intenso1/backup/Martin/reolink/recordings # four hours preserve find /home/martin/ftp/reolink/garage/* -mmin +240 -exec rm {} \; logger "reolink.sh finished"
Du kann auf die SD der Reolink zugreifen? Und siehst alle Dateien darauf?
Das hatte ich falsch in Erinnerung - auf die SD greife ich nur über den Browser über das Webinterface der Kamera zu...
Sozusagen eine Backup mehr ...
Auf dem Fileserver muss ich inzwischen auch mit dem Platz Haushalten, und räume täglich morgens um 5:17 alles ab, was älter als 40 Tage ist
Habe das etwas entzerrt, gegen 02:00 die Iobroker-Backups usw. Damit sich diese Aktionen etwas verteilen, und nicht alles auf einmal passiert ...17 5 * * * bash /home/martin/skripte/trim_recordings.sh
Gleiches Prinzip
find /mnt/usbdrives/intenso1/backup/Martin/frigate/recordings/ -type d -mtime +40 -exec rm -rf {} \; >/dev/null 2>&1 find /mnt/usbdrives/intenso1/backup/Martin/reolink/recordings -type f -mtime +40 -delete >/dev/null 2>&1
Habe noch einen Kamera über frigate angebunden, frigate legt unterverzeichnisse für jeden Tag an, deshalb "-type d"
-
Das hilft mir weiter. Danke
@martinp sagte in Das neueste Bild/Video von FTP-Server laden, Telegram senden:
@gonzokalle Das Alarmieren mache ich über den Bewegungserkennungsdatenpunkt vom Reolink-Adapter, und hole mir dann direkt einen frischen Snapshot von der Kamera...
Das mache ich auch schon mit Bild und Video. Die Videos fangen halt etwas spät an.
Die Kamera schreibt per FTP selbsttätig bei Bewegungserkennung auf eine Linux-Instanz.
Ein Verzeichnis auf der Linux-Instanz? Muss das kein FTP-Server sein?
Wie sieht in deiner Reolink App die FTP Seite dafür aus?Auf der dann dieser cron-Eintrag
Alle 4 Stunden zur Nullten Minute:
0 */4 * * * bash /home/martin/skripte/reolink.sh >/dev/null 2>&1
Zeile 3+4 mit rsync auf den Fileserver
Zeile 6 Aufräumen
logger "reolink.sh started" # debian server is down sshpass -p "xxxxxxxxxxxxx" rsync -a /home/martin/ftp/reolink/garage/*.mp4 martin@192.168.2.203:/mnt/usbdrives/intenso1/backup/Martin/reolink/recordings sshpass -p "xxxxxxxxxxxxx" rsync -a /home/martin/ftp/reolink/garage/*.jpg martin@192.168.2.203:/mnt/usbdrives/intenso1/backup/Martin/reolink/recordings # four hours preserve find /home/martin/ftp/reolink/garage/* -mmin +240 -exec rm {} \; logger "reolink.sh finished"
Befehl in Zeile 6 wird ja das löschen der alten Dateien sein.
Habe aktuell das Problem, dass ich nicht weiß, wo der FTP die Bilder/Videos ablegt.
Habe schon das Laufwerk durchsucht.Du kann auf die SD der Reolink zugreifen? Und siehst alle Dateien darauf?
Das hatte ich falsch in Erinnerung - auf die SD greife ich nur über den Browser über das Webinterface der Kamera zu...
Sozusagen eine Backup mehr ...
Auf dem Fileserver muss ich inzwischen auch mit dem Platz Haushalten, und räume täglich morgens um 5:17 alles ab, was älter als 40 Tage ist
Habe das etwas entzerrt, gegen 02:00 die Iobroker-Backups usw. Damit sich diese Aktionen etwas verteilen, und nicht alles auf einmal passiert ...17 5 * * * bash /home/martin/skripte/trim_recordings.sh
Gleiches Prinzip
find /mnt/usbdrives/intenso1/backup/Martin/frigate/recordings/ -type d -mtime +40 -exec rm -rf {} \; >/dev/null 2>&1 find /mnt/usbdrives/intenso1/backup/Martin/reolink/recordings -type f -mtime +40 -delete >/dev/null 2>&1
Habe noch einen Kamera über frigate angebunden, frigate legt unterverzeichnisse für jeden Tag an, deshalb "-type d"
-
Ich habe vsftpd auf der Linux-Instanz aktiviert (eigentlich mein Debian LXC-Container zum Testen)
martin@DebianTest:~$ ps -ef |grep vsftpd root 162 1 0 2024 ? 00:00:30 /usr/sbin/vsftpd /etc/vsftpd.conf martin 990253 319 0 17:05 pts/1 00:00:00 grep vsftpd martin@DebianTest:~$
vsftpd speichert standardmäßig in /home/<username>/ (vom User, den man beim FTP login verwendet hat...)
Das Unter-Verzeichnis stellt man bei der Reolink-Kamera im Web-Interface ein
EDIT vsftpd statt ftpd
-
@martinp
Dann bin ich erstmal beschäftigt vsftpd zu testen.
Vielen Dank für den Tipp.Kann ich diese Anleitung benutzen?
Würde nur über die Fritz.box wireguard darauf zugreifen
https://www.howtoforge.de/anleitung/ftp-server-mit-vsftpd-und-tls-auf-ubuntu-2204-einrichten/ -
@gonzokalle Wenn die Verbindung zwischen den beiden Servern über Wireguard geht, sollte das offene FTP Protokoll kein Problem sein
-
Der VSFTPD-Server läuft.
Die Kamera schreibt auch die Bilder und Videos in das angegebene Verzeichnis.
Die Cron-Einträge zum Löschen alter Dateien laufen auch.
Wundere mich etwas warum die Zeit der Dateien eine Stunde zu weit ist? -
@gonzokalle
Ich bin eine gutes Stück weiter gekommen.Mit Benutze Martin kann ich Dateien kopieren, die in der letzten Minute geändert/erstellt worden sind.
find /home/Martin/Kamera -type f -mmin -1 -exec cp -a '{}' /home/Martin/Music \;
Im iobroker Terminal geht das nicht, da iobroker anscheinend nicht die Rechte dafür hat.
setObjekt, exec und sendToHost sind aktiv.
Wie kann ich iobroker die Rechte für die Aktionen geben?
Habe viel von einer /etc/sudoers.d gelesen. Die konnte ich aber nicht editieren.
Ist das der richtige Weg um iobroker mehr Rechte zu geben?find: ‘/home/Martin/kamera’ : Keine Berechtigung /opt/iobroker$ find /home/Martin/kamera -type f -mmin -1 find: ‘/home/Martin/kamera’ : Keine Berechtigung /opt/iobroker$ sudo find /home/Martin/kamera -type f -mmin -1 sudo: Zum Lesen des Passworts ist ein Terminal erforderlich; verwenden Sie entweder die Option -S, um aus der Standardeingabe zu lesen oder richten Sie das Askpass-Hilfsprogramm ein sudo: Ein Passwort ist notwendig /opt/iobroker$ sudo -u iobroker find /home/Martin/kamera -type f -mmin -1 find: ‘/home/Martin/kamera’ : Keine Berechtigung /opt/iobroker$
-
Da es mit den Rechten nicht funktioniert hat, schreibt der FTP-Server jetzt in das iobroker Verzeichnis.
Jetzt funktioniert auch die Suche nach der neuesten Datei.
Leider schickt mir Telegram nicht das Bild, sondern nur den Pfad und Namen?
/opt/iobroker/FTP-Kamera/Haustuer_00_blablabla.jpg -
@gonzokalle sagte in Das neueste Bild/Video von FTP-Server laden, Telegram senden:
Im iobroker Terminal geht das nicht, da iobroker anscheinend nicht die Rechte dafür hat.
Ja, der 'iobroker' darf dem 'Martin' nicht ins home schauen.
-
@thomas-braun
Dafür darf der 'Martin' dem 'iobroker' schöne Bilder schicken. -
Das ist richtig. Da stehen aber auch die Rechte anders...
-
Schöner wäre das ganze wenn man, wie schon gesagt auf die SD Karte zugreifen könnte.
Da die Bilder und Videos da ja schon liegen. -
@bishop
Da wüsste ich keinen Weg dafür.Ich werde noch verrückt.
In der iobroker Konsole geht der Befehl.
/opt/iobroker$ find /opt/iobroker/FTP-Kamera -iname "*.mp4" -mmin -10 -exec cp '{}' Haustuer.mp4 \; /opt/iobroker$ find /opt/iobroker/FTP-Kamera -iname "*.mp4" -mmin -10 -exec cp '{}' Haustuer.mp4 \; /opt/iobroker$ find /opt/iobroker/FTP-Kamera -iname "*.mp4" -mmin -10 -exec cp '{}' Haustuer.mp4 \; /opt/iobroker$
Mit dem exec Baustein geht es nicht.
Welche Unterschiede gibt es zwischen Konsole und Baustein?