Autor Thema: Kamerabild per Telegram verschicken  (Gelesen 3502 mal)

Offline Roger54

  • New Member
  • *
  • Beiträge: 3
Kamerabild per Telegram verschicken
« am: 28 Januar 2017, 11:16:11 »
Hallo FHEM-Gemeinde,

bin schon seit langer Zeit ein stiller Mitleser doch nun komm ich nicht weiter und brauch eure Hilfe da ich keine Lösung gefunden habe...

Bei Betätigung meiner Haustürklingel speichere ich ein Bild meiner IPCAM in /opt/fhem/www/snapshots/$DATETIME.jpg (DATETIME=`date +%Y%m%d%H%M%S), was auch soweit funktioniert. Mein Problem besteht jetzt nun darin, dass ich nicht weis wie ich das letzte Bild per Telegram verschicken kann. Meine Versuche haben leider nicht so funktioniert...

Hab mir aus einem vorhandenen Code eine Funktion gebastelt, doch leider bekomm ich leider die Fehlermeldung:
FAILED file :/opt/fhem/www/snapshots/20170128011242.jpg
: not found or empty


sub last_pix()
{
 my $img = qx(ls -1t www/snapshots/* | sed -n '1p');

fhem( "set telegram sendImage /opt/fhem/$img" );
}
1;

Wenn ich aber den Befehl direkt in FHEM eingebe set telegram sendImage /opt/fhem/www/snapshots/20170128011242.jpg wird das Bild verschickt...
Bin etwas ratlos und hoffe ihr könnt mir weiterhelfen. Bin leider ein totaler Perlnoob... :D

Gruß Roger

Offline Grafkox

  • Jr. Member
  • **
  • Beiträge: 65
Antw:Kamerabild per Telegram verschicken
« Antwort #1 am: 28 Januar 2017, 16:24:31 »
Hallo Roger,

ich habe es mit einer Ordnerüberwachung gemäß der Anleitung von Matthias umgesetzt:
FHEM-Tutorial Part 11: Benachrichtigung mit Bild bei Bewegung - IP-Kamera | haus-automatisierung.com

Ist zwar etwas aufwendig, aber funktioniert bei mir tadellos.

Viele Grüße

Thorsten
Raspberry Pi 3 mit Fhem 5.9, Tablet UI 2.6, SIGNALduino, Somfy RTS, Fritzbox 7490, IT-Steckdosen, Hikvision Kameras, Xiaomi Sensoren, Tecalor THZ, E3/DC

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4047
    • Meine Seite im fhemwiki
Antw:Kamerabild per Telegram verschicken
« Antwort #2 am: 28 Januar 2017, 22:40:19 »
Hallo FHEM-Gemeinde,

bin schon seit langer Zeit ein stiller Mitleser doch nun komm ich nicht weiter und brauch eure Hilfe da ich keine Lösung gefunden habe...

Bei Betätigung meiner Haustürklingel speichere ich ein Bild meiner IPCAM in /opt/fhem/www/snapshots/$DATETIME.jpg (DATETIME=`date +%Y%m%d%H%M%S), was auch soweit funktioniert. Mein Problem besteht jetzt nun darin, dass ich nicht weis wie ich das letzte Bild per Telegram verschicken kann. Meine Versuche haben leider nicht so funktioniert...

Hab mir aus einem vorhandenen Code eine Funktion gebastelt, doch leider bekomm ich leider die Fehlermeldung:
FAILED file :/opt/fhem/www/snapshots/20170128011242.jpg
: not found or empty


sub last_pix()
{
 my $img = qx(ls -1t www/snapshots/* | sed -n '1p');

fhem( "set telegram sendImage /opt/fhem/$img" );
}
1;

Wenn ich aber den Befehl direkt in FHEM eingebe set telegram sendImage /opt/fhem/www/snapshots/20170128011242.jpg wird das Bild verschickt...
Bin etwas ratlos und hoffe ihr könnt mir weiterhelfen. Bin leider ein totaler Perlnoob... :D

Gruß Roger

Des Rätsels Lösung, dein Dateiname ($img) enthält nicht nur einen Dateinamen sondern auch ein Zeilenende und ein Zeilenende ist im Dateinamen nicht enthalten

sub last_pix()
{
 my $img = qx(ls -1t www/snapshots/* | sed -n '1p');

$img =~ s/\s//mg;

fhem( "set telegram sendImage /opt/fhem/$img" );
}
1;

So könnte man unerwünschte Zeilenende entfernen (aber auch andere Leerzeichen auch innerhalb des Dateinamens !)

Auch wenn ich das vielleicht insgesamt anders lösen würde
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Offline Roger54

  • New Member
  • *
  • Beiträge: 3
Antw:Kamerabild per Telegram verschicken
« Antwort #3 am: 30 Januar 2017, 12:26:37 »
Des Rätsels Lösung, dein Dateiname ($img) enthält nicht nur einen Dateinamen sondern auch ein Zeilenende und ein Zeilenende ist im Dateinamen nicht enthalten

sub last_pix()
{
 my $img = qx(ls -1t www/snapshots/* | sed -n '1p');

$img =~ s/\s//mg;

fhem( "set telegram sendImage /opt/fhem/$img" );
}
1;

So könnte man unerwünschte Zeilenende entfernen (aber auch andere Leerzeichen auch innerhalb des Dateinamens !)

Auch wenn ich das vielleicht insgesamt anders lösen würde

Hi viegener,

vielen Dank für deine Hilfe! Es funktioniert nun!

Rein Interessehalber, wie würdest du es anders lösen? Habe eben das Problem, dass meine IPCam vom IPCAM-Modul nicht unterstützt wird...


Gruß Roger

Offline Fixel2012

  • Hero Member
  • *****
  • Beiträge: 1218
Antw:Kamerabild per Telegram verschicken
« Antwort #4 am: 30 Januar 2017, 12:36:03 »
Habe leider auch das Problem, dass ich meine Cam nicht ins IPCAM Modul eingebunden bekomme.

Wie holst dir denn die Bider von der Cam?

Sorry, dass ich mich hier so einklinke  ::)

Gruß Fixel
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Offline Roger54

  • New Member
  • *
  • Beiträge: 3
Antw:Kamerabild per Telegram verschicken
« Antwort #5 am: 30 Januar 2017, 16:13:20 »
Habe leider auch das Problem, dass ich meine Cam nicht ins IPCAM Modul eingebunden bekomme.

Wie holst dir denn die Bider von der Cam?

Sorry, dass ich mich hier so einklinke  ::)

Gruß Fixel

Hi Fixel,

kein Thema dafür ist doch das Forum da ;)
Da meine IPCam leider keine screenshoturl besitzt bzw ich keine gefunden hab erzeuge ich mit ffmpeg auf dem Raspberry einen snapshot aus dem rtsp stream der Cam.

Dafür musst du folgendes Skript als snapshot.sh in den Ordner /opt/fhem anlegen. Natürlich die IP und den Aufruf für den Stream von deiner Cam einsetzen.
#!/bin/sh
export
DATETIME=`date +%Y%m%d%H%M%S`
ffmpeg -loglevel fatal -i rtsp://192.168.2.XXX:XXX/user=XXXX_password=XXXX_channel=1_stream=1.sdp?real_stream -vframes 1 -r 1 /opt/fhem/www/snapshots/$DATETIME.jpg

in FHEM kannst du dann mit {system("sh /opt/fhem/snapshot.sh")} das Skript ausführen


Gruß Roger

Offline Fixel2012

  • Hero Member
  • *****
  • Beiträge: 1218
Antw:Kamerabild per Telegram verschicken
« Antwort #6 am: 30 Januar 2017, 16:14:43 »
Hi Fixel,

kein Thema dafür ist doch das Forum da ;)
Da meine IPCam leider keine screenshoturl besitzt bzw ich keine gefunden hab erzeuge ich mit ffmpeg auf dem Raspberry einen snapshot aus dem rtsp stream der Cam.

Dafür musst du folgendes Skript als snapshot.sh in den Ordner /opt/fhem anlegen. Natürlich die IP und den Aufruf für den Stream von deiner Cam einsetzen.
#!/bin/sh
export
DATETIME=`date +%Y%m%d%H%M%S`
ffmpeg -loglevel fatal -i rtsp://192.168.2.XXX:XXX/user=XXXX_password=XXXX_channel=1_stream=1.sdp?real_stream -vframes 1 -r 1 /opt/fhem/www/snapshots/$DATETIME.jpg

in FHEM kannst du dann mit {system("sh /opt/fhem/snapshot.sh")} das Skript ausführen


Gruß Roger
Danke dir!
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Offline 2P4u

  • Full Member
  • ***
  • Beiträge: 124
Antw:Kamerabild per Telegram verschicken
« Antwort #7 am: 24 Mai 2017, 11:56:50 »
Hi Zusammen.
ich habe ne Frage an euch.
Mit http://192.168.188.53/tmpfs/snap.jpg?usr=Gast&pwd=**** bekomme ich ein Snapshot angezeigt.
Kann mir jemand sagen, wie ich ohne IPCAM (wird irgendwie nicht Unterstützt) ein aktuelles Bild in /opt/fhem/www/snapshots/ speichern kann?
Ich will das Bild per Telegram schicken, wenn jemand die Klingel drückt.

Danke und Grüsse Daniel
1x Ubuntu Server
1x LaCrosse Gateway für PCA301 /1x HMLAN /1x HMLGW
2x HueBridge mit Devices/ 1x Logitech Harmony Ultimate

Offline Amenophis86

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 2688
  • Anti-Statement befreite Zone ;)
Antw:Kamerabild per Telegram verschicken
« Antwort #8 am: 24 Mai 2017, 12:58:02 »
Das wirst du mittels deiner Kamera lösen müssen. Es kommt drauf an, wo die das Bild speichert. Entweder direkt dort einstellen, dass es in deinem Ordner gespeichert wird, oder mittels eines Programms das Bild in deinen Ordner verschieben. Dafür liegen aber zu wenige Infos von dir vor.
FHEM auf Raspberry3, Betriebssystem Jessy, HMLan, HM Komponenten, LD382A, H801, Sonoff, Harmony Hub und vieles mehr. Einfach ein tolles universelles System

Offline steffen83

  • Full Member
  • ***
  • Beiträge: 359
Antw:Kamerabild per Telegram verschicken
« Antwort #9 am: 01 Juni 2017, 07:22:23 »
Hallo,

ich habe das wie folgt gelöst:
fhem ("set TelegramBot _msg Es hat geklingelt! Anbei ein Foto.");;
system('wget "http://xxx:yyy@192.168.160.30/bha-api/history.cgi?event=doorbell&index=1" -O /tmp/doorbirdbell.jpg');;
fhem ("set TelegramBot sendPhoto /tmp/doorbirdbell.jpg");;
Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

Offline 2P4u

  • Full Member
  • ***
  • Beiträge: 124
Antw:Kamerabild per Telegram verschicken
« Antwort #10 am: 05 Juni 2017, 21:56:40 »
Hallo,

ich habe das wie folgt gelöst:
fhem ("set TelegramBot _msg Es hat geklingelt! Anbei ein Foto.");;
system('wget "http://xxx:yyy@192.168.160.30/bha-api/history.cgi?event=doorbell&index=1" -O /tmp/doorbirdbell.jpg');;
fhem ("set TelegramBot sendPhoto /tmp/doorbirdbell.jpg");;

DANKE! Genau so hats geklappt. Sowas wollte ich haben. Perfekt!
1x Ubuntu Server
1x LaCrosse Gateway für PCA301 /1x HMLAN /1x HMLGW
2x HueBridge mit Devices/ 1x Logitech Harmony Ultimate

Offline KernSani

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 3389
Antw:Kamerabild per Telegram verschicken
« Antwort #11 am: 05 Juni 2017, 23:01:15 »
@Roger54: Könntest du noch [Gelöst] vor das Subject des ersten Posts schreiben?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

 

decade-submarginal