Kamerabild von FTP Server / Telegram

Begonnen von masl, 18 Juli 2019, 09:13:42

Vorheriges Thema - Nächstes Thema

masl

In einem Beitrag wird erklärt wie man mit IPCAM den letzten Snapshot per URL ausliest und dieses Bilder per Telegram sendet.
Ich habe nur leider das Problem dass die Kamera diese URL nicht ausgibt.
Die Kamera zeichnet alle 3 Sekunden ein Bild auf und sendet dieses an einen Raspberry welcher als FTP Server läuft.
Dabei werden Ordner durch die Cam erstellt.
Beispiel: Kamera 2 legt die Bilder im Ordner "CAM2" ab und erstellt den Ordner "2K05430..." (SN Kamera) / "2019-07-18 / "001" / "jpg" / "14" / darin das Bild "36[R]..jpg"

Wie könnte man es lösen dass dieses letzte Bild der Kamera auf dem Raspberry per Befehl "ausgelesen" wird und per Telegram versendet wird?

matrois

Willst Du das auf dem Raspberry PI erledigen oder von FHEM aus?

Raspberry PI
Nachdem Telegram auf dem Raspi dieser Anleitung (https://www.tutonaut.de/anleitung-einfuehrung-in-telegram-bots-nachrichten-und-dateien-aus-dem-terminal-senden/) folgend eingerichtet wurde:

curl -X  POST "https://api.telegram.org/[BOTID]:[BOTPASS]/sendDocument" -F chat_id=[CHATID] -F document="@$(ls -rt1 [/PFAD/ZUM/BILDERORDNER] | tail -1)"

Die grossgeschriebenen Dinge in eckigen Klammern müssen angepasst werden.

FHEM
Falls Du das ganze aus FHEM heraus abwickeln möchtest, wird die Erstellung eines Snapshots
get [IPCAMNAME] image

und das Versenden des Snaphots über
set [TELEGRAMBOT] sendImage [/PFAD/ZU/SNAPSHOTS/IPCAMNAME_snapshot.jpg]

ggf. in Verbindung mit einem at oder einem notify erledigt (je nachdem wann das ganze passieren soll).

Zur Einrichtung von IPCAM und TELEGRAM:
https://wiki.fhem.de/wiki/TelegramBot
https://wiki.fhem.de/wiki/IPCAM
FHEM: 5.9@docker@qnap | 5.9@raspberry pi III
IO: HMLAN | HMUART | Jeelink | MySensors
CUL_HM: CC-RT-DN | SEC-SCo | Sen-DB-PCB | TC-WM-W-EU
Module / Konfig: configdb | FHEMWEB | FRITZBOX | FileLog | HMinfo | IPCAM | SIP | Abfall | Tablet UI - FUIP | Sonoff/Tasmota

alru

Moin,

ich glaube, dass eine meiner IPCAMs die gleiche Methodik verwendet, um Bilder abzuspeichern.
Wenn ich das richtig in Erinnerung habe, werden pro Stunde (oder sogar pro Minute) separate Ordner angelegt, in denen dann die Bilder gespeichert werden. Blöderweise haben die dann auch noch (odnerübergreifend) die gleichen Namen.

@matrois: Ich habe deine Lösung so verstanden, dass sowohl im curl Befehl als auch im FHEM set Befehl ein Bilderordner angegeben werden muss, in dem das Bild erwartet wird. Diesen Ordner gibt es aber nicht! Das Bild liegt in einem nicht bekannten Unterordner!

@masl: Ich habe das bei mir so gelöst, dass ich per "find" die Ordner rekursiv durchsuche, jedes gefundene Bild umbenenne (der eigene Zeitstempel wird in den Namen geschrieben) und dann in einen anderen Ordner verschiebe. Von dort aus kann man dann das letzt Bild einfach selektieren. Das macht ein bash-Script. Dieses müsstest du natürlich je nach Bedarf immer wieder laufen lassen. Im Sekundentakt geht das natürlich nicht.
Ist nicht elegant, aber es funktioniert. Ich benutze das allerdings nur, um die Bilder zu archivieren.

Wenn das eine TECHNAXX IPCAM ist, dann hätte ich evtl. eine Lösung für die Snapshot URL!
Gruß,

Stefan
(Raspi 3B / HM-LGW / HomeMatic / MySensors)

matrois

@alru:
FHEM
Ich habe dem IPCAM Modul bei mir den Ordner über das Attribut storage mitgegeben:
attr [IPCAMNAME] storage [/PFAD/ZU/BILDERN/]
Der aktuellste Snapshot heißt bei mir immer "/PFAD/ZU/BILDERN/IPCAM01_snapshot.jpg".

Raspberry PI
Bei dieser Lösung ist der Ordner über den FTP Zugang bekannt. Der Befehlbestandteil
ls -rt1 [/PFAD/ZUM/BILDERORDNER | tail -1 sucht das aktuellste Bild raus.
FHEM: 5.9@docker@qnap | 5.9@raspberry pi III
IO: HMLAN | HMUART | Jeelink | MySensors
CUL_HM: CC-RT-DN | SEC-SCo | Sen-DB-PCB | TC-WM-W-EU
Module / Konfig: configdb | FHEMWEB | FRITZBOX | FileLog | HMinfo | IPCAM | SIP | Abfall | Tablet UI - FUIP | Sonoff/Tasmota

masl

Zitat von: alru am 18 Juli 2019, 14:36:03
Moin,

ich glaube, dass eine meiner IPCAMs die gleiche Methodik verwendet, um Bilder abzuspeichern.
Wenn ich das richtig in Erinnerung habe, werden pro Stunde (oder sogar pro Minute) separate Ordner angelegt, in denen dann die Bilder gespeichert werden. Blöderweise haben die dann auch noch (odnerübergreifend) die gleichen Namen.

@matrois: Ich habe deine Lösung so verstanden, dass sowohl im curl Befehl als auch im FHEM set Befehl ein Bilderordner angegeben werden muss, in dem das Bild erwartet wird. Diesen Ordner gibt es aber nicht! Das Bild liegt in einem nicht bekannten Unterordner!

@masl: Ich habe das bei mir so gelöst, dass ich per "find" die Ordner rekursiv durchsuche, jedes gefundene Bild umbenenne (der eigene Zeitstempel wird in den Namen geschrieben) und dann in einen anderen Ordner verschiebe. Von dort aus kann man dann das letzt Bild einfach selektieren. Das macht ein bash-Script. Dieses müsstest du natürlich je nach Bedarf immer wieder laufen lassen. Im Sekundentakt geht das natürlich nicht.
Ist nicht elegant, aber es funktioniert. Ich benutze das allerdings nur, um die Bilder zu archivieren.

Wenn das eine TECHNAXX IPCAM ist, dann hätte ich evtl. eine Lösung für die Snapshot URL!
Die Kamera ist von Avaloid.
Duese konnten mir aber keine Url nennen.
Ordner werden pro Minute angelegt.

Werde mich mal etwas durcharbeiten.
Aber danke mal für die schnelle Hilfe

Gesendet von meinem SM-G960F mit Tapatalk


matrois

Zitat von: masl am 18 Juli 2019, 16:19:35
Die Kamera ist von Avaloid.
Duese konnten mir aber keine Url nennen.
Ordner werden pro Minute angelegt.

Falls wir uns missverstanden haben: Ich meinte bei meinen Ausführungen jeweils die Ordner auf dem Raspberry PI (den Ordner hattest Du in Deinem ersten Post selber beschrieben) bzw. den FHEM Ordner, der mittels Attribut selber ausgewählt werden kann. Ein direkter Zugriff auf die Kamera und entsprechende Ordner auf dem Speicher der Kamera egal welchen Typs ist meines Wissens nicht möglich. Du musst die Kamera mittels IPCAM Modul einbinden oder den Umweg über FTP und Telegramnachricht per Skript gehen. Eine Kombination ist möglich, wenn FHEM auf dem FTP Host läuft...
FHEM: 5.9@docker@qnap | 5.9@raspberry pi III
IO: HMLAN | HMUART | Jeelink | MySensors
CUL_HM: CC-RT-DN | SEC-SCo | Sen-DB-PCB | TC-WM-W-EU
Module / Konfig: configdb | FHEMWEB | FRITZBOX | FileLog | HMinfo | IPCAM | SIP | Abfall | Tablet UI - FUIP | Sonoff/Tasmota