Hallo,
ich hoffe mal, dass das Thema hier nicht allzu falsch ist, ggf. kann ich es ja noch verschieben. Ich habe eine Webcam in FHEM eingebunden (funktioniert tadellos), möchte aber auch einen Snapshot haben. Dazu habe ich definiert:
define webcam_picture weblink image http://192.168.178.44/snapshot.cgi
Soweit auch gut, das Bild wird angezeigt.
Es zeigt aber genau das Bild an, welches ich vorher via Firefox erzeugt habe. Dazu wird im Browser als url genau die Adresse "http://192.168.178.44/snapshot.cgi" eingegeben. Wenn ich anschließend in FHEM den BEfehl
trigger WEB JS:location.reload()
eingebe, habe ich den erzeugten Snapshot in der FHEM-Weboberfläche. Das Triggern geht natürlich auch problemlos, z.B. über ein notify. Nur:
Wie kann FHEM selbst einen neuen Snapshot erzeugen?
Irgendwie fehlt mir da aktuell die Fantasie, wie das gehen könnte?
Einen lieben Gruß
Jürgen
Hallo Jürgen,
kannst du dazu nicht das IPCAM-Modul verwenden ?
Falls du Synology Surveillance Station benutzt, gäbe es auch SSCam dafür.
LG
Heiko
Hallo Heiko,
danke für die Hinweise. Zuerst schaue ich mir mal IPCAM an. SSCam ist ja richtig mächtig! Da ich aber eine Synology habe, werde ich mir das auch mal bei Gelegenheit anschauen. Aufgrund der vielen Features muss ich mir ja dann eine "ordentliche" IP-Kamera kaufen ;)
Einen lieben Gruß
Jürgen
:)
Im Wiki gibt es viele Hinweise zum Einstieg:
https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station
Aktuell arbeite ich am Modul weiter, siehe -> https://forum.fhem.de/index.php/topic,45671.0.html
Grüße,
Heiko
Zitat von: ujaudio am 28 Januar 2019, 20:58:34
Wie kann FHEM selbst einen neuen Snapshot erzeugen?
Irgendwie fehlt mir da aktuell die Fantasie, wie das gehen könnte?
Hallo Jürgen,
ich habe das bei mir folgendermaßen realisiert:
Definition des IPCam-Moduls:
defmod HaustuerSnap IPCAM 192.188.168.88
attr HaustuerSnap basicauth BENUTZER:PASSWORT
attr HaustuerSnap group Video
attr HaustuerSnap path cgi-bin/snapshot.cgi?channel=01
attr HaustuerSnap room 1.Start,Unsorted
attr HaustuerSnap storage ./www/snapshots
Abfrage des Snapshots, Aktualisierung und Versendung des Bildes via Telegramm:
defmod reloadwebdoif1 DOIF ([Tuerklingel:Switch] eq "on")(get HaustuerSnap image)\
(trigger WEB JS:location.reload())\
(set teleBot sendImage @USER1 ./www/snapshots/HaustuerSnap_snapshot.jpg Klingel Haustür)\
(set teleBot sendImage @USER2 ./www/snapshots/HaustuerSnap_snapshot.jpg Klingel Haustür)\
(set teleBot sendImage @USER3 ./www/snapshots/HaustuerSnap_snapshot.jpg Klingel Haustür)\
DOELSE #### nothing
attr reloadwebdoif1 checkall all
attr reloadwebdoif1 do always
attr reloadwebdoif1 wait 0,1,0,0,0:0
Funktioniert wunderbar. Vielleicht hilft es Dir weiter.
Gruß,
Jogi
Danke, das werde ich morgen mal ausprobieren!
Was ist "teleBot"? Vermutlich https://wiki.fhem.de/wiki/TelegramBot (https://wiki.fhem.de/wiki/TelegramBot)!!?!
Zitat von: ujaudio am 29 Januar 2019, 18:07:27
Was ist "teleBot"? Vermutlich https://wiki.fhem.de/wiki/TelegramBot (https://wiki.fhem.de/wiki/TelegramBot)!!?!
Genau, das ist es!
So, jetzt habe ich mal ein IPCAM definiert. Die Definition habe ich entsprechend "devicespecific help" des Moduls gemacht - aber irgendetwas stimmt noch nicht. Das Listing ist:
Internals:
AUTHORITY http://192.168.178.44
CFGFN
DEF http://192.168.178.44
NAME interactive_webcam2
NR 9772
SEQ 0
STATE Defined
TYPE IPCAM
READINGS:
snapshots:
VAL 0
Attributes:
delay 3
path snapshot.cgi?user=Max&pwd=Mustermann
snapshots 3
storage ./www/snapshots
verbose 5
Wenn ich ein
"get interactive_webcam2 image"
auslöse, steht im Log:
"2019.02.01 16:07:55 1: IPCAM interactive_webcam2 Wrong or not supported image format: error while reading source image:"
Wenn ich das Browserfenster analysiere, welches als Ergebnis eines in Firefox ausgelösten snapshot ist, dann ist das so
<img src="http://192.168.178.44/snapshot.cgi?user=Max&pwd=Mustermann" alt="http://192.168.178.44/snapshot.cgi?user=Max&pwd=Mustermann">
definiert.
Wenn ich dieses Bild abspeichern will, dann ist der Defaultname z.B. "snapshot_54CDEE01494E_20190201172058.jpg"
Was habe ich übersehen?
Probier es mal mit basicauth und ändere deinen path
>:( funktioniert leider auch nicht, gleiche Meldung im Logfile!