Kamera-Bilder bei Ereignis versenden

Begonnen von stobor, 20 Dezember 2018, 07:46:22

Vorheriges Thema - Nächstes Thema

stobor

Hallo,
ich nutze eine Samsung SNV-L6083R Überwachungskamera.
Ist es möglich, bei Ereignissen, die in FHEM registriert werden (bspw. von Bewegungsmeldern), über FHEM eine E-Mail zu versenden, die Snapshots der Kamera beinhalten? Das Kameramodell ist eine LAN-Kamera.
Wie kann ich denn generell mit FHEM E-Mails versenden?
Wie könnte es mit den gewünschten Bildern funktionieren?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

bolbers

Sollte möglich sein.
Ich nutze dies mit Telegram anstatt Email.

Zuerst sollte die Kamera eingebunden werden per IPCAM Modul.

Dann ein Notify welches bei Ereignis vom Bewegungsmelder dann die Bilder von der Kamera abruft und versendet.

Beispielhaft hier die Konfig meiner beiden Devices.
HM_Btn_01 ist ein Homematic Schalter welcher bei Öffnung das Bild an die Telegram Gruppe 333333 versendet.
Müsste an deine Verhältnisse angepasst werden.


Notify:
define NTFY_HM_Tor1_GetCamPic_open notify HM_Btn_01:\s*TOR\s*[1-2]\s*offen.*  //HomeMatic Schalter geöffnet
{
  fhem ("get IPCAM_ABUS_ONEPIC image");;  //Kamerabild abrufen
  fhem("define cam_open1 at +00:00:08 set MyFHEMHausBot sendPhoto \@-333333 ./www/snapshots/IPCAM_ABUS_ONEPIC_snapshot.jpg") //Bild nach 8 Sekunden an Telegram senden
}


IPCAM:
define IPCAM_ABUS_ONEPIC IPCAM 192.168.178.232
attr IPCAM_ABUS_ONEPIC delay 0
attr IPCAM_ABUS_ONEPIC path /jpg/image.jpg
attr IPCAM_ABUS_ONEPIC snapshots 1
attr IPCAM_ABUS_ONEPIC storage ./www/snapshots
attr IPCAM_ABUS_ONEPIC timestamp 1

marvin78

Einfacher so

HM_Btn_01:\s*TOR\s*[1-2]\s*offen.*  get IPCAM_ABUS_ONEPIC image;sleep 8;set MyFHEMHausBot sendPhoto \@-333333 ./www/snapshots/IPCAM_ABUS_ONEPIC_snapshot.jpg

Code für das DEF

Felix_86

Ich nutze eine USB Kamera für diese Zwecke. Per Script wird ein Bild erstellt, mit Zeitangabe zentral (NAS) abgelegt und kann auf Wunsch (z.B. Präsenz ist absent, aber dennoch wurde Bewegung festgestellt) verschickt werden (Mail oder Telegram).
Weiterhin wird das zuletzt erstellte Bild mittels weblink in der FHEM Oberfläche angezeigt.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.4, ca 315 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS, Nina, MQTT2

ThomasMagnum

Zitat von: Felix_K am 20 Dezember 2018, 12:14:12
Weiterhin wird das zuletzt erstellte Bild mittels weblink in der FHEM Oberfläche angezeigt.

Kannst du hierfür mal kurz dein Vorgehen beschreiben bzw. Beispiele posten?
So etwas habe ich auch noch auf meiner Liste stehen, bin mir nur noch nicht im Klaren wie ich die Bilder in FHEMWEB angezeigt bekomme bzw. den Link dynamisch zusammenbaue.

Gruß, Thomas

Felix_86

Zitat von: ThomasMagnum am 20 Dezember 2018, 12:27:28
Kannst du hierfür mal kurz dein Vorgehen beschreiben bzw. Beispiele posten?
So etwas habe ich auch noch auf meiner Liste stehen, bin mir nur noch nicht im Klaren wie ich die Bilder in FHEMWEB angezeigt bekomme bzw. den Link dynamisch zusammenbaue.

Gruß, Thomas
Dynamisch passe ich den Namen des letzten Bildes im weblink nicht an. Ich lege das letzte Bild immer als "letztes-bild.jpg" ab und der weblink referenziert darauf.

Internals:
   DEF        image /fhem/www/kamera/letztes-bild.jpg
   LINK       /fhem/www/kamera/letztes-bild.jpg
   NAME       Kamera_Bild
   NR         287
   STATE      initialized
   TYPE       weblink
   WLTYPE     image
Attributes:
   htmlattr   width="640" height="480"
   room       Informationswesen
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.4, ca 315 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS, Nina, MQTT2

stobor

Ich werde die Hinweise einmal ausprobieren.
Wie finde ich denn das letzte Bild von der Kamera? Die Fotos haben ja immer unterschiedliche Namen, da die Snapshots alle in einem Verzeichnis liegen- ich nutze die Surveillance-Station von Synology.
Gibt es auch Tipps, wie man Mails verschicken kann?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

DS_Starter

Zitatich nutze die Surveillance-Station von Synology
Wenn das so ist kannst du doch SSCam benutzen -> Wiki: https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station

Da wirst du wahrscheinlich alles finden was du benötigst inklusive des Versandes von Schnappschüssen.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stobor

Dort steht :

Überblick über die Perl-Module welche von SSCam genutzt werden:
   JSON           
   Data::Dumper                     
   MIME::Base64   
   Time::HiRes   
   HttpUtils       (FHEM-Modul)

Muss ich die noch einbinden? Wie?
Für Jason ist es ja beschrieben. Aber wie geht das ggf für die anderen Module?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

DS_Starter

#9
ZitatMuss ich die noch einbinden? Wie?
Musst nur JSON einbinden. Der Rest ist/sollte bereits verfügbar installiert sein. Das sieht man aber spätestens wenn beim Define eine Meldung im Log kommt dass etwas fehlen würde. Dann kann man immer noch danach schauen.

Nutze auf jeden Fall ein aktuelles FHEM bzw. SSCam (momentan  8.1.0) !

Grüße
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Felix_86

Zitat von: stobor am 20 Dezember 2018, 21:33:31
Ich werde die Hinweise einmal ausprobieren.
Wie finde ich denn das letzte Bild von der Kamera? Die Fotos haben ja immer unterschiedliche Namen, da die Snapshots alle in einem Verzeichnis liegen- ich nutze die Surveillance-Station von Synology.
Gibt es auch Tipps, wie man Mails verschicken kann?
Da ich, wie oben genannt, eine USB Kamera mit eigenem Script nutze, ist in diesem Script hinterlegt, neben einer neuen Bilddatei auch das vorhandene "letztes-bild.jpg" zu überschreiben.

Alternativ kannst du auf das Erstellen einer neuen Datei im Dateisystem im entsprechenden Pfad reagieren
inotifywait -m -e create /home/pi/Desktop/Daten/Kamera |
while true; do
    while read $T path action file; do
        rm -f `ls -td -1 /home/pi/Desktop/Daten/Kamera** | awk 'NR>50'`
        echo "The file '$file' appeared in directory '$path' via '$action'"
        curl "http://localhost:8083/fhem?cmd=setreading%20Kamera_Bild%20letztes_Bild%20$file"
    done
done
QUELLE

Mit einem Notify könntest du nun auf jede Änderung des Readings "letztes_Bild" reagieren und dir eine Mail mit dem Bild schicken lassen.
Dazu entweder ein Script aufrufen oder eine Routine in 99_myUtils einpflegen. https://wiki.fhem.de/wiki/E-Mail_senden#Raspberry_Pi
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.4, ca 315 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS, Nina, MQTT2

marvin78

Zitat von: Felix_K am 21 Dezember 2018, 12:35:23


Alternativ kannst du auf das Erstellen einer neuen Datei im Dateisystem im entsprechenden Pfad reagieren
inotifywait -m -e create /home/pi/Desktop/Daten/Kamera |
while true; do
    while read $T path action file; do
        rm -f `ls -td -1 /home/pi/Desktop/Daten/Kamera** | awk 'NR>50'`
        echo "The file '$file' appeared in directory '$path' via '$action'"
        curl "http://localhost:8083/fhem?cmd=setreading%20Kamera_Bild%20letztes_Bild%20$file"
    done
done
QUELLE


Dafür gibt es sogar ein FHEM-Modul

https://forum.fhem.de/index.php?topic=83538.0

justcallmeal

Zitat von: stobor am 20 Dezember 2018, 07:46:22
Ist es möglich, bei Ereignissen, die in FHEM registriert werden (bspw. von Bewegungsmeldern), über FHEM eine E-Mail zu versenden, die Snapshots der Kamera beinhalten? Das Kameramodell ist eine LAN-Kamera.

Wenn Du diesen Artikel noch nicht kennen solltest, könnte er für Dein Vorhaben ggf. auch hilfreich sein:

https://hausautomatisierung-koch.de/2017/02/05/bild-smartphone-haustuerklingel///

Ansonsten ist SSCAM für die Besitzer einer Diskstation mit surveillance-station ein wirklich tolle Sache!

VG,
al
HM-Sen-DB-PCB, HM-Sec-SCo, HM-MOD-Re-8, HM-SEC-SC-2, HM-Sen-MDIR-O, HM-LC-Sw1PBU-FM, HM-LC-RGBW-WM, HM-ES-PMSw1-SM, HM-LC-Sw1-DR, div. Shellies u.v.m.

stobor

Zitat von: DS_Starter am 21 Dezember 2018, 09:52:06
Musst nur JSON einbinden. Der Rest ist/sollte bereits verfügbar installiert sein. Das sieht man aber spätestens wenn beim Define eine Meldung im Log kommt dass etwas fehlen würde. Dann kann man immer noch danach schauen.

Nutze auf jeden Fall ein aktuelles FHEM bzw. SSCam (momentan  8.1.0) !

Grüße
Heiko


Hallo Heiko,
das klingt ja alles einfacher als es anscheinend dann ist.
Die Synology Kameras habe ich jetzt schon mal in FHEM. Super!

Nun gehe ich durch die Doku (https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Credentials) "Mailversand von Bilddaten - Integrierten Email-Client nutzen"  und habe das Perl Modul (sudo apt-get install libmime-lite-perl) installiert, um Mails zu versenden. Bei der Installation wurde ich nach einem Mail-Namen und SMartHost gefragt. Mail-Namen habe ich voreingestellt gelassen, aber beim SmartHost dachte ich, da muss der smtp-Server rein. Vermutlich falsch, oder? Kann ich das irgendwie ändern? Wie bzw. was muss da rein?

Ich habe es auch hinbekommen, dass FHEM eine Aktion auf der Synology Surveillance Station triggern kann (es werden 5 Schnappschüsse im Abstand von 2sec erstellt - auf der Synology). Cool!
Wie kann ich denn aber jetzt auf diese Bilder zugreifen und diese versenden?
So ganz verstehe ich nicht, wo ich die Befehle einstellen muss ("Komandozeile" in der FHEM-UI oder in der fhem.cfg). Wie z.B.
set <name> smtpcredentials <user> <password> (<name> = Objekt-Name der Soynology?)
und wie die weitere in der Doku gelisteten Attribute zu verwenden sind.
Hast Du da Beispiele?

Danke für Deine Hilfe.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

DS_Starter

ZitatNun gehe ich durch die Doku (https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Credentials) "Mailversand von Bilddaten - Integrierten Email-Client nutzen"
Achtung, das ist ganz neu ab Version 8.2.0 ! Du musst in dem Fall das Modul aus contrib laden und restarten, ist noch nicht eingecheckt , siehe ->
https://forum.fhem.de/index.php/topic,45671.msg879103.html#msg879103

Zitatund habe das Perl Modul (sudo apt-get install libmime-lite-perl) installiert, um Mails zu versenden. Bei der Installation wurde ich nach einem Mail-Namen und SMartHost gefragt.
Das habe ich noch nie gesehen. Bei mir kam bei der Installation keinerlei Abfragen. Du machst alle Angaben zu SMTP im SSCam Device.
Mein Protokoll habe ich dir mal hier angehängt:


heiko@fhemtest:/opt/fhem$ sudo apt-get install libmime-lite-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
The following additional packages will be installed:
  libemail-date-format-perl libmime-types-perl
Vorgeschlagene Pakete:
  libmojolicious-perl
Die folgenden NEUEN Pakete werden installiert:
  libemail-date-format-perl libmime-lite-perl libmime-types-perl
0 aktualisiert, 3 neu installiert, 0 zu entfernen und 27 nicht aktualisiert.
Es müssen noch 0 B von 141 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 433 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] J
Vormals nicht ausgewähltes Paket libemail-date-format-perl wird gewählt.
(Lese Datenbank ... 99789 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../libemail-date-format-perl_1.005-1_all.deb ...
Entpacken von libemail-date-format-perl (1.005-1) ...
Vormals nicht ausgewähltes Paket libmime-lite-perl wird gewählt.
Vorbereitung zum Entpacken von .../libmime-lite-perl_3.030-2_all.deb ...
Entpacken von libmime-lite-perl (3.030-2) ...
Vormals nicht ausgewähltes Paket libmime-types-perl wird gewählt.
Vorbereitung zum Entpacken von .../libmime-types-perl_2.13-1_all.deb ...
Entpacken von libmime-types-perl (2.13-1) ...
libemail-date-format-perl (1.005-1) wird eingerichtet ...
libmime-lite-perl (3.030-2) wird eingerichtet ...
libmime-types-perl (2.13-1) wird eingerichtet ...
Trigger für man-db (2.7.6.1-2) werden verarbeitet ...
heiko@fhemtest:/opt/fhem$


ZitatWie kann ich denn aber jetzt auf diese Bilder zugreifen und diese versenden?
Dafür habe ich es im Wiki beschrieben. Auch wie es mit notify etc. funktioniert falls man den internen Mail-Cleint nicht nutzen möchte.

ZitatSo ganz verstehe ich nicht, wo ich die Befehle einstellen muss ("Komandozeile" in der FHEM-UI oder in der fhem.cfg). Wie z.B.
set <name> smtpcredentials <user> <password> (<name> = Objekt-Name der Soynology?)
Du machst alles im FHEM-UI, nichts ! in der fhem.cfg.

Für weitere Beispiele machen wir am Besten im SSCam-Thread weiter: https://forum.fhem.de/index.php/topic,45671.0.html
oder in "Sonstiges".
Dort triffst du auch weiter SSCam-Anwender die helfen können/werden.

Für heute mache ich aber erstmal Schluss und wünsche einen guten Rutsch !  :)
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter