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
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
(https://www.youtube.com/watch?v=JeQ_xUSl5yo&t=523s)
Ist zwar etwas aufwendig, aber funktioniert bei mir tadellos.
Viele Grüße
Thorsten
Zitat von: Roger54 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
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
Zitat von: viegener am 28 Januar 2017, 22:40:19
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
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
Zitat von: Fixel2012 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
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
Zitat von: Roger54 am 30 Januar 2017, 16:13:20
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!
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
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.
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");;
Zitat von: steffen83 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");;
DANKE! Genau so hats geklappt. Sowas wollte ich haben. Perfekt!
@Roger54: Könntest du noch [Gelöst] vor das Subject des ersten Posts schreiben?