Hallo zusammen,
habe jetzt eine FOSCAM 9803P und bin am Verzweifeln, diese in Fhem eingebunden zu bekommen.
Ich habe es mittels IPCAM-Modul probiert:
Internals:
AUTHORITY 192.168.188.90:88
CFGFN
DEF 192.168.188.90:88
NAME Kamera_Hauseingang
NR 41742
SEQ 0
STATE last: 2015-07-11 12:56:55
TYPE IPCAM
Readings:
2015-07-11 12:56:55 snapshots 0
Attributes:
path /cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=xxx
snapshots 2
storage ./www/snapshots
Wenn ich dann versuche einen Snapshot zu machen, passiert einfach nichts. Das Reading "snapshots" zeigt immer 0.
Wenn ich den gesamten Befehl
http://192.168.188.90:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=xxx
in einem Browserfenster eingebe, wird mir ein Snapshot erzeugt und angezeigt. (Natürlich habe ich das gültige Passwort eingetragen)
Dann habe ich es auch mittels weblink Modul probiert:
Internals:
CFGFN
DEF image http://192.168.188.90:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=XXX
LINK http://192.168.188.90:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=XXX
NAME ttt
NR 42217
STATE initialized
TYPE weblink
WLTYPE image
Attributes:
room Aussen
Da wird auch nichts angezeigt.....
Kann mir da evtl. jmd weiterhelfen? Am besten wäre es denke ich, wenn es mit dem IPCAM-Modul funktionieren würde, dann könnte ich das Erzeugen nach meinen Wünschen steuern und dann die Snapshots einfach wie ich es mir vorstelle anzeigen lassen.
Hoffe auf Eure Hilfe, komme einfach nicht weiter, bzw. müsste es ja eigentlich gehn, aber leider tuts das nicht!
Im Log/Eventmonitor wird auch nichts angezeigt!
Ahhhh, jetzt habe ich doch einen Fehlereintrag im Log:
....Wrong or unsupported image format: unknown
Aber wie sage ich denn dem Modul, dass es jpg machen soll?
Über die externe FOSCAM Software, in der ich auch Snapshots machen kann, werden jpgs erzeugt.
Keiner ne Idee?
Habe irgendwo gelesen, man müsste das Modul anpassen......wie mache ich das?
Hi,
Zitat
my @imageTypes = qw(JPEG PNG GIF TIFF BMP ICO PPM XPM XBM SVG);
if( ! grep { $_ eq "$imageFormat"} @imageTypes) {
Log 1, "IPCAM $name Wrong or not supported image format: $imageFormat";
RemoveInternalTimer($hash);
return undef;
}
Ist es diese Meldung.
Gruss R.
Daher wird das wohl kommen denke ich, aber ich meine die Meldung aus dem Log. Da steht dann immer, wenn ich versuche ein Snapshot zu machen über
get Kamera image
im Log:
Wrong or not supported image format: unknown
Hi,
ich selber habe das Modul "IPCAM" zwar nicht in Betrieb, sondern schreibe mir derzeit ein Modul für meine FOSCAM V2,
hier arbeiten die Snapshots korrekt und Ich verwende hierbei die Routinen aus dem IPCAM Modul.
Wie sieht den Deine IPCAM Definition in der FHEM.cfg überhaupt aus ?
Welches Format gibt Dir Deine Kamera ? Nicht das es die html Variante ist.
Gruss R.
Zitat von: ritchie am 13 Juli 2015, 09:09:40
Hi,
ich selber habe das Modul "IPCAM" zwar nicht in Betrieb, sondern schreibe mir derzeit ein Modul für meine FOSCAM V2,
hier arbeiten die Snapshots korrekt und Ich verwende hierbei die Routinen aus dem IPCAM Modul.
Wie sieht den Deine IPCAM Definition in der FHEM.cfg überhaupt aus ?
Welches Format gibt Dir Deine Kamera ? Nicht das es die html Variante ist.
Gruss R.
Könntest du mir dein Modul evtl. zur Verfügung stellen?
Meine Definition sieht folgendermaßen aus:
Internals:
AUTHORITY 192.168.188.90:88
CFGFN
DEF 192.168.188.90:88
NAME Kamera_Hauseingang
NR 41742
SEQ 0
STATE last: 2015-07-11 12:56:55
TYPE IPCAM
Readings:
2015-07-11 12:56:55 snapshots 0
Attributes:
path /cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=xxx
snapshots 2
storage ./www/snapshots
Mit folgendem Befehl im Browser bekomme ich ein Snapshot:
http://192.168.188.90:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=xxx
Da habe ich dann das "path"-Attribut rausgezogen. Leider passiert nix!
Wenn ich bei dem Snapshot im Browser "Bild speichern unter" mache, will er eine jpg-Datei speichern.
Was meinst du mit html-Version? Wie bekomme ich das raus und was würde das bedeuten?
Hi,
Zitat
Könntest du mir dein Modul evtl. zur Verfügung stellen?
Wenn es fertig ist, ja. Dann kommt es irgendwie (weiss noch nicht wie) hier ins Forum.
ZitatWas meinst du mit html-Version? Wie bekomme ich das raus und was würde das bedeuten?
Das Kommando "snapPicture" gibt es in zwei Versionen
Zitat/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=xxx
Sollte eigentlich direkt auf die Datei zeigen.
Zitat/cgi-bin/CGIProxy.fcgi?cmd=snapPicture&usr=admin&pwd=xxx
Sollte eigentlich einen HTML Seite zurückgeben, welches die Datei dann via HTML anzeigt.
Schau mal hier nach:
http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf
Ist Deine Kamera eine HD oder normale Kamera ?
Diese CGI Kommandos gelten für die HD Variante.
Edit:
was liegt eigentlich bei Dir im Verzeichnis
/opt/fhem/www/snapshots/ ....
Hier werden bei mir diese Dateien abgelegt und ich muss diese dann via Weblink darstellen.
Gruss R.
Ok, ich nutze ja das "snapPicture2", sollte also auf die Datei weisen.
So nutze ich es ja auch im Browser, wo es funktioniert.
Die Kamera ist eine 9803P, HD, 1MP, 720p.
Ja da liegt halt nichts, weil das Modul keine Snapshots erzeugt....
Hi,
ändere mal die Anzahl von
2015-07-11 12:56:55 snapshots 0
von 0 auf einen Wert größer 1
Zitat
snapshots
Show the total number of a image sequence.
Sorry,
ich sag gerade, das Du zwei eingestellt hast.. Dann weiss ich es auch nicht mehr.
Zitatattr global modpath .
Steht das bei Dir auch so ?
Edit:
my $reading = read($src, $srcHeader, 64);
return "error while reading source image: $!" if(!$reading);
local($_) = $srcHeader;
return "JPEG" if /^\xFF\xD8/;
return "PNG" if /^\x89PNG\x0d\x0a\x1a\x0a/;
return "GIF" if /^GIF8[79]a/;
return "TIFF" if /^MM\x00\x2a/;
return "TIFF" if /^II\x2a\x00/;
return "BMP" if /^BM/;
return "ICO" if /^\000\000\001\000/;
return "PPM" if /^P[1-6]/;
return "XPM" if /(^\/\* XPM \*\/)|(static\s+char\s+\*\w+\[\]\s*=\s*{\s*"\d+)/;
return "XBM" if /^(?:\/\*.*\*\/\n)?#define\s/;
return "SVG" if /^(<\?xml|[\012\015\t ]*<svg\b)/;
return "unknown";
Hiermit prüft der Code, welcher Dateitype vorhanden ist. Wie sieht das in Deiner Datei aus (Hexeditor)
Wie sieht also das 64 und 65 Byte bei Dir aus ?
Gruss R.
attr global modpath .
steht bei mir auch in der fhem.cfg.
In meinem 49_IPCAM.pm steht:
#####################################
sub
IPCAM_guessFileFormat($) {
my ($src) = shift;
my $header;
my $srcHeader;
open(my $s, "<", $src) || return "can't open source image: $!";
$src = $s;
my $reading = read($src, $srcHeader, 64);
return "error while reading source image: $!" if(!$reading);
local($_) = $srcHeader;
return "JPEG" if /^\xFF\xD8/;
return "PNG" if /^\x89PNG\x0d\x0a\x1a\x0a/;
return "GIF" if /^GIF8[79]a/;
return "TIFF" if /^MM\x00\x2a/;
return "TIFF" if /^II\x2a\x00/;
return "BMP" if /^BM/;
return "ICO" if /^\000\000\001\000/;
return "PPM" if /^P[1-6]/;
return "XPM" if /(^\/\* XPM \*\/)|(static\s+char\s+\*\w+\[\]\s*=\s*{\s*"\d+)/;
return "XBM" if /^(?:\/\*.*\*\/\n)?#define\s/;
return "SVG" if /^(<\?xml|[\012\015\t ]*<svg\b)/;
return "unknown";
Hi,
ändere mal diese Zeilen ab Zeile 386
Zitat
if( ! grep { $_ eq "$imageFormat"} @imageTypes) {
Log 1, "IPCAM $name Wrong or not supported image format: $imageFormat";
RemoveInternalTimer($hash);
return undef;
}
so ab
Zitat
#if( ! grep { $_ eq "$imageFormat"} @imageTypes) {
# Log 1, "IPCAM $name Wrong or not supported image format: $imageFormat";
# RemoveInternalTimer($hash);
# return undef;
# }
hierdurch wird die Überprüfung des Dateiformat abgeschaltet (vorübergehend). Du solltest diese Änderung später wieder rückgängig machen.
Hiernach sollte eine Datei angelegt werden, wenn Du einen Snapshoot anstösst.
Wenn eine Datei angelegt wird, kannst Du diese dann hier posten, damit man mal in der Header
reinschauen kann, um zu sehen, welches Dateiformat diese Datei hat. Das Bild darf nicht nachträglich bearbeitet werden,
um evtl. das gezeigte Bild unkenntlich zu machen. Wenn Du das so nicht posten willst, musst Du selber mit einem HEX-Editor
die ersten 100 Byte Dir ansehen und hier posten.
Zusätzlich:
Gibt es Einstellungen in der Kamera, welche das Snapshoot Format bestimmen ?
Wenn ja, ändere das Format mal.
Hast Du die aktuelle Firmware in der Kamera ?
Gruss R.
Ich habe hier den Eindruck, dass die Kamera nicht das zurück liefert, was FHEM erwartet (eine Bilddatei). Das sollte sie aber unter der URL (..snapPicture2..) eigentlich tun. So lange hier (offenbar) aber eine vollständige HTML-Seite (das kann man im Browser ganz leicht nachsehen, ohne etwas an 49_IPCAM zu ändern) zurück kommt, wird das mit dem Bild abspeichern nicht funktionieren (zumindest nicht mit diesem Modul und ohne große Änderungen). Ich habe das vorhin nochmal gecheckt. Meine FOSCAM liefert mit snapPicture 2 NUR ein Foto. Ich denke, hier stimmt etwas mit der Firmware der Kamera nicht. Wobei ich auch nur rate.
Hi Michi,
Zitat von: Michi240281 am 11 Juli 2015, 14:34:24
Ahhhh, jetzt habe ich doch einen Fehlereintrag im Log:
....Wrong or unsupported image format: unknown
schau mal hier (http://forum.fhem.de/index.php/topic,36201.msg291034.html#msg291034) nach, die Fehlermeldung kann auch von einem Problem mit den http-Befehlen kommen. Hatte ich damals auch, in dem Forumsbeitrag habe ich beschrieben was ich (anhand eines anderen Formubeitrags) gemacht habe. Vielleicht hilft es Dir ja auch.
Gruß,
Andreas.
@ Ritchie: Ok vielen Dank, werde ich heute Abend testen!!
@Marvin: Die Firmware sollte eigentlich aktuell sein. Folgende Firmware ist auf der Kamera drauf:
System FW: 1.9.1.12
Application FW: 2.54.1.37
Irgendwo habe ich dann gelesen, dass das die aktuellste FW sein sollte.
Auf foscam.de ist jedoch die aktuellste FW:
System FW: 1.5.1.1
Application FW: 2.24.1.143
Also sollte die FW die drauf ist, wohl neuer sein.....
@Andreas: Das war das mit LWP::Simple und dem anderen "get", oder? Das habe ich auch schon probiert, mit selbem Ergebnis! :(
Habe parallel mal im foscam.us Forum gepostet, dass die Kamera bei "SnapPicture2" kein Bild sondern ne html-Seite rausgibt! Mal sehn, ob ich da Antwort bekomme!
Zitat von: Michi240281 am 14 Juli 2015, 10:03:45
@Marvin: Die Firmware sollte eigentlich aktuell sein. Folgende Firmware ist auf der Kamera drauf:
Dass sie aktuell ist, heißt ja nicht, dass sie nicht fehlerhaft ist. ;) Ich glaube aber wirklich, dass du in einem FOSCAM Forum eventuell weiter kommst bzw. schneller eine Antwort erhälst, auch wenn sie dir eventuell nicht gefällt.
Warum meinste dass mir die Antwort nicht gefallen könnte?
Wenn die Kamera nicht das tut was sie soll und ich sie auch nicht dazu bewegen kann, geht sie halt zurück! Denn gehe ich zu nem anderen Hersteller! Blöd nur, dass die Instar Cams direkt das doppelte kosten........:(
Sag mal, ich habe nochmal vorne geschaut. Hast du mal versucht, beim Attribut path das führende / weg zu lassen? Das gehört da eigentlich nicht hin. Sollte zwar eigentlich kein Problem machen, in dieser Situation greift man jedoch eigentlich nach jedem Strohhalm ;)
cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=xxx
Ah ok, vorne ist das noch drin! Das hatte ich am Anfang auch so drin, aber recht schnell bei "Fischer-net" gelesen, dass der Slash wegmuss. Habe ich also auch schon probiert!
Im Browser funktioniert der Snapshot sogar, wenn man das "cgi-bin" weglässt....
Ich werde heute Abend mal ne andere FW probieren, zumindest falls ein Downgrade überhaupt möglich ist!
Bist du sicher? Ist das dann auch wirklich ein Jpeg? Schau mal in den Quelltext
Eine andere Sache: Willst du die Kamera außen verwenden? Dann rate ich von Instar als Alternative ab. Ich habe 3(!) Kameras zurück geschickt, weil sie nach einer Nacht schon Wasser im Gehäuse hatten und sie hingen jeweils unter einem 1,5m breiten Dachüberstand, waren nie direktem Spritwasser ausgesetzt.
Ich habe mich dann für Vivotek Cams entschieden. Deutlich teurer aber dafür absolut brauchbar.
Wie sehe ich das denn am Quelltext?
Also wenn ich über den Browser nen Snapshot mache ist es auch völlig egal, ob ich "SnapPicture" oder "SnapPicture2" verwende, der Reiter im Browser bleibt immer erhalten und dort wird das Bild dann angezeigt! Wie müsste das denn eigentlich sein? Müsste sich ein neues Browserfenster öffnen mit dem Bild? Oder sogar so als würde man ein Bild im Windows Explorer öffnen --> Windows Bild- und Faxanzeige?
Ja die ist für außen, soll oben unters Dach, sollte also nicht viel Wasser abbekommen, außer bei Sturm etc.! Guter Hinweis, welche Vivotek CAMs hast du denn? Und die funktionieren mit dem IPCAM-Modul einwandfrei?
Im Browser sollte, wenn es als Bild angezeigt wird, der Punkt "Quelltext anzeigen" im Kontextmenü (rechte Maustaste im freien Bereich der Seite) nicht zur Verfügung stehen, da ein Bild keinen Quelltext hat. Wird aber eine HTML Seite mit eingebettetem Bild angezeigt, dann gibt es einen Quelltext.
Bei meinen Kameras (FOSCAM innen, VIVOTEK außen) funktioniert das IPCAM Modul einwandfrei. Das hat es jedoch auch mit INSTAR und anderen. Ich hatte noch keine Kamera mit denen es nicht funktionierte.
Ok, verstehe! Werde ich heute Abend checken!
Welche Vivoteks hast du denn? Gerade mal bei Amazon geschaut, z.B. die IP8364C sieht ja echt gut aus! Hast du die? Bekommt man die seitlich soweit gedreht, dass sie fast parallel zur Hauswand (bei Wandmontage) "schauen" kann?
Nein, die habe ich nicht. Ich verwende die IB 8369
Ich gehe davon aus, dass man die IP8364C auch an der Decke montieren kann. Ich denke aber, dass sie auch an der Wand flexibel eingestellt werden kann.
Vorsicht: Die Kamera wird per PoE mit Strom gespeist. Du wirst also entweder einen PoE fähigen Switch oder einen PoE-Injektor benötigen.
Ok, ja die tun sich ja nicht viel! Stimmt mit dem PoE habe ich gesehn, ist wohl auch kein Injektor im Lieferumfang dabei! Und WLAN hat die Kamera auch nicht, richtig? Gibts glaube ich garnicht von Vivotek! Das dumme ist, dass ich nur WLAN habe oder evtl. LAN über Steckdose, aber ich weiß nich, wie ausfallsicher das ist! Habe zwar an der Stelle, wo die Kamera hinsoll noch 200mbit, aber das ist ja immer so ne Sache mit Powerline........
@Marvin: Kannst du mir mal ein path-Attribut deiner Vivotek-CAM schreiben? Oder wo ich die CGI Commands herbekomme? Vllt bestell ich mir morgen eine beim PrimeDay!
EDIT: Ah, hab folgendes in der Anleitung gefunden:
http://<servername>/cgi-bin/viewer/video.jpg?[channel=<value>][&resolution=<value>]
[&quality=<value>][&streamid=<value>]
sollte einen single Snapshot als jpg liefern, richtig?
Wie hast du deine Außenkameras eigentlich konfiguriert, so generell meine ich? Mir schwebt folgendes vor:
- Über IPCAM Modul Snapshot machen wenn es klingelt und auf Wandtablet darstellen
- Mittels Bewegungserkennung (haben die Vivoteks überhaupt motion detection?) Fotos und Videos auf dem NAS abspeichern (FTP?) und das ganze am liebsten abhängig von der Anwesenheit, aber das wird wohl kaum möglich sein.
Meinste das ist so umsetzbar?
Zitat von: marvin78 am 14 Juli 2015, 10:45:26
Im Browser sollte, wenn es als Bild angezeigt wird, der Punkt "Quelltext anzeigen" im Kontextmenü (rechte Maustaste im freien Bereich der Seite) nicht zur Verfügung stehen, da ein Bild keinen Quelltext hat. Wird aber eine HTML Seite mit eingebettetem Bild angezeigt, dann gibt es einen Quelltext.
Bei meinen Kameras (FOSCAM innen, VIVOTEK außen) funktioniert das IPCAM Modul einwandfrei. Das hat es jedoch auch mit INSTAR und anderen. Ich hatte noch keine Kamera mit denen es nicht funktionierte.
Ob ich "SnapPicture" oder "SnapPicture2" mache, ist egal, es ist in beiden Fällen eine html-Seite! Ich kann den Quelltext anzeigen lassen! Das hier ist er:
<html><body><img src="../snapPic/Snap_20150714-171915.jpg"/></body></html>
Ist dasselbe, was auch das IPCAM Modul ausspuckt, also die Fehlermeldung im Log! :(
Dann stimmt mit der Firmware etwas nicht. Da kann FHEM nicht helfen, denke ich.
Meine Kameras verwalte ich über mein Synology NAS und die integrierte Surveillance Station. Aber die können auch selbst eine Bewegungserkennung durchführen. Der path für einen Snapshot lautet dann:
cgi-bin/viewer/video.jpg?channel=2&qualitiy=1&streamid=2
(Beispiel).
Es gibt auch bei diesen Kameras eine (sehr umfangreiche) Anleitung zu den möglichen Kommandos der API.
Hi,
hast Du sicherheitshalber mal den Cache vom Browser gelöscht !
Gruss R.
FHEM hat aber keinen Cache. Das dürfte die Funktionalität von IPCAM nicht beeinflussen.
Soooooooo, hab die Schna**** voll von der Foscam! Vllt liegt ja nur an dem einen Modell, aber ich hab mir jetzt die Vivotek 8364C bestellt! Kommt morgen, ich bin gespannt und werde berichten! :)
So,
die IP8364C ist da und in Betrieb genommen. Im Browser bekomme ich mit folgender Zeile einen Snapshot:
http://192.168.188.245/cgi-bin/viewer/video.jpg?channel=3&qualitiy=5&streamid=1
Das IPCAM Modul liefert aber immer noch nichts! Diesmal steht folgendes im Log:
2015.07.15 19:34:50.624 1: IPCAM Kamera_Hauseingang URI: http://192.168.188.245:80/cgi-bin/viewer/video.jpg?channel=1&qualitiy=1&streamid=1
2015.07.15 19:34:50.625 1: IPCAM Kamera_Hauseingang Snapshot:
2015.07.15 19:34:50.626 1: IPCAM Kamera_Hauseingang Wrong or not supported image format: error while reading source image:
Könnte das daran liegen, dass der eigentlich noch User und Passwort braucht? Im Browser hat sich ein Fenster geöffnet und erst nach der Eingabe der Daten kam dann ein Snapshot!
Hoffe, mir kann jmd helfen!!
EDIT: Habs hinbekommen! :) Nach EIntragen von User und PW im Attribut "basicauth" gehts jetzt!
Standard ist Basicauth ist an. Du kannst das im Webinterface der Kamera ausstellen oder aber das entsprechende Attribut des IPCAM-Moduls verwenden.
Jo prima, vielen Dank für die Info!
Noch eine Frage:
Bin gerade bei der Konfiguration der Kamera selbst! Habe schon ein paar Ereignisse definiert, aber die Fotos/Videos werden immer überschrieben! Finde keine EInstellung, damit die Kamera immer neue Dateien anlegt! Haste n Tipp für mich?
EDIT: Ok, habs auch hinbekommen! Wenn man Ordner automatisch anlegen lässt dann werden die Dateien nicht immer wieder überschrieben sondern immer neue angelegt!
Nun hakts noch an der Bewegungserkennung! Habe alles so eingestellt, dass der Balken rot wird (hohe Empfindlichkeit, niedriger Schwelle) und ein Ereignis eingerichtet, aber es werden keine Bilder abgelegt! Hierzu jmd n Tipp?
Sorry, da kann ich tatsächlich nicht wirklich weiter helfen. Ich nutze nicht die Erkennung der Kamera, sondern die meiner Surveillance Station. Deshalb habe ich mich mit den Einstellungen in der Kamera kaum bis gar nicht beschäftigt.
Zitat von: marvin78 am 16 Juli 2015, 07:02:43
Ich nutze nicht die Erkennung der Kamera, sondern die meiner Surveillance Station.
Wie hast du das denn umgesetzt? Habe auch ein NAS (QNAP419P), welches auch eine Surveillance Station an Bord hat, jedoch habe ich mich damit noch garnicht beschäftigt! Braucht es dann extra Bewegungsmelder, die mit dem NAS kommunizieren? Fhem ist dann aber komplett außen vor, richtig? Was cool wäre, wenn ich die Kamera über Fhem BM triggern könnte, aber das wird wohl nicht funktionieren......
Ich habe ohnehin Bewegungsmelder installiert, unter anderem auch weil die Bewegungserkennung in keiner Kamera unter 1000 EUR gut genug und auch die Surveillance Station zwar ganz ok ist aber nicht perfekt erkennt. Außerdem sind die Bewegungsmelder ohnehin rund um das Haus um die Außenlampen zu schalten. Von daher ist die Bewegungserkennung der Surveillance Station zwar aktiv, wird aber nicht in Zusammenhang mit FHEM genutzt sondern nur für die Aufnahmen auf das NAS (immer bei Bewegung).
Aber am Ende musst du hier nun mal selbst aktiv werden. Jeder hat andere Bedürfnisse und Voraussetzungen. Das Beschäftigen mit der Surveillance Software deines NAS' lohnt sich aber sicher in jedem Fall.
Ok alles klar. Ich würde meine Frage dann evtl. in folgendem Satz zusammenfassen:
Hast du die Bewegungsmelder aus FHEM dazu gebracht, mit der Surveillance Station zu "reden" um dann die Kameras zu triggern oder hast du seperate BM für die Surveillance Station? BM in FHEM habe ich nämlich auch, hatte nur angenommen, dass ich die sicher nicht dazu bringen kann, mit der Surveillance Station zu reden? Oder gibts da Module zu?
Nein. Die Aufnahmen auf dem NAS werden durch die hauseigene Bewegungserkennung getriggert (in die Surveillance Station integriert). Das ist nicht mit FHEM oder weiteren Bewegungsmeldern gekoppelt. Die Bewegungsmelder haben als Hauptaufgabe, die Außenbeleuchtung zu steuern (um das gesamte Haus). Nebenaufhabe ist, Aufnahmen zu triggern, wenn gewisse Ereignisse eintreten (Dunkel und Tiergehege wird geöffnet / nicht zu Hause und Tür wird geöffnet / dunkel und Bewegung um das Haus etc.) und diese dann auf unterschiedliche Arten zur Verfügung zu stellen (Whatsapp, Email, Pushover oder einfach nur speichern).
Das heißt, du hast einmal BM, die ans NAS angeschlossen sind und dann nochmal BM, die du in Fhem angebunden hast?
Also auf der einen Seite BM, die am NAS die Videoaufnahmen triggern und auf der anderen Seite BM in Fhem, die bei Ereignissen Benachrichtigungen verschicken?
Die Anleitung meines QNAP gibt bzgl. BM garnichts her. Da steht zwar, dass man auf Bewegung triggern kann, aber es wird nicht geschrieben, welche BM kompatibel sind und wie die anzuschließen wären! Gibts da "IP-Bewegungsmelder"?
Hehe. Eigentlich schreibe ich doch recht deutlich, was ich mache. Ich habe keine zusätzlichen Bewegungsmelder für die Surveillance Station. Aber die Software erkennt Änderungen am Kamerabild als Bewegung (genau, wie die Kamera selbst es kann) und triggert dann Aufnahmen. Das hat nichts mit FHEM zu tun und läuft auch ohne weitere Bewegunsmelder. Das habe ich aber oben auch schon mehrfach geschrieben. Ich habe keine Ahnung, was die Qnap Software kann. Ich mache das zentral und nicht in jeder einzelnen Kamera, weil ich mehrere Kameras untschiedlicher Hersteller einsetze und ich somit ein zentrales Tool habe. Das hat aber nichts mit FHEM zu tun.
Ahhhhhhh, jetzt ists klar! Ich habe deinen folgenden Satz so interpretiert, dass du nicht die kamerainterne Erkennung benutzt, weil sie zu schlecht ist!
Zitat von: marvin78 am 16 Juli 2015, 09:26:14
Ich habe ohnehin Bewegungsmelder installiert, unter anderem auch weil die Bewegungserkennung in keiner Kamera unter 1000 EUR gut genug und auch die Surveillance Station zwar ganz ok ist aber nicht perfekt erkennt. Außerdem sind die Bewegungsmelder ohnehin rund um das Haus um die Außenlampen zu schalten.
Aber jetzt ists klar! :) Danke nochmal!
Es ist ja auch nicht die interne Erkennung, sondern die der Surveillance Station. Die tun sich nichts in der Performance, ich habe aber alles zentral an einem Ort. Was ich meinte ist, dass ich die Kameras nicht für die Bewegunserkennung FÜR FHEM nutze. Da verlasse ich mich lieber auf die ohnehin vorhandenen Bewegungsmelder. Viele nutzen Kameras ja als Ersatz für BM.
Ahso ok! Ne für diese Schaltungen nehme ich auch BM!
Was optimal wäre:
Wenn die Bewegungserkennung nur aktiv wäre, wenn niemand daheim ist oder nachts/wenn man schläft, aber ich glaube das wird nicht hinhauen, weil ich Fhem sicher nicht beibringen kann, dass es die Surveillance Station an/-ausschalten kann. Schade, so muss ich dann wohl mit vielen Zeitfenstern arbeiten!
Ich glaube eigentlich schon, dass du FHEM das beibringen kannst. Meist bringt so eine Software eine (oft schlecht dokumentierte) API mit. Falls du jedoch die Erkennung der Kamera verwendest, kannst du sicher die jeweilige CGI-Schnittstelle dafür verwenden.
Mir ist gerade folgender Gedanke gekommen:
Man kann über ein CGI Kommando in der Kamera die motion detection ein und ausschalten. Dann könnte man sich ja einen Link basteln, den Fhem nur ausführen muss, um das zu tun. Hast du ne Idee, wie man sowas macht? Also einen Link ausführen? Könnte nur sein, dass da wieder n Problem mit User/PW auftritt?!?
Das Modul IPCAM kann das (siehe Attribute).
Ah über die "cmd"s? Oh, das werde ich direkt ausprobieren! :)
Habe jetzt folgende CGI Commands für die De-/aktivierung der Bewegungserkennung rausbekommen, die auch bei Eingabe im Browser funktionieren:
Aktivieren:
http://192.168.188.245/cgi-bin/admin/setparam.cgi?motion_c0_enable=1
Deaktivieren:
http://192.168.188.245/cgi-bin/admin/setparam.cgi?motion_c0_enable=0
Sooooo, nur wie setze ich das ganze nun im IPCAM Modul um? Ich habe folgendes gemacht:
Attribute gesetzt:
cmd01 setparam.cgi?motion_c0_enable=1
cmd02 setparam.cgi?motion_c0_enable=0
pathCmd cgi-bin/admin
Und dann über "set Kamera cmd 2" versucht die Erkennung zu deaktivieren.
Leider tut sich da nix! Kann mir hier jmd n Tipp geben, wie die Attribute syntaxmäßig aussehen müssen?
Besten Dank und schönen Sonntag!
Hi,
Zitat von: Michi240281 am 19 Juli 2015, 11:03:05
Sooooo, nur wie setze ich das ganze nun im IPCAM Modul um? Ich habe folgendes gemacht:
Attribute gesetzt:
cmd01 setparam.cgi?motion_c0_enable=1
cmd02 setparam.cgi?motion_c0_enable=0
pathCmd cgi-bin/admin
Und dann über "set Kamera cmd 2" versucht die Erkennung zu deaktivieren.
Leider tut sich da nix! Kann mir hier jmd n Tipp geben, wie die Attribute syntaxmäßig aussehen müssen?
Lass mal das setparam.cgi? weg und schreib ein "cmd=" davor, so wie hier...
Attributes:
basicauth {USERNAME}:{PASSWORD}
cmd01 cmd=setscheduleex&-ename=md&-week0=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week1=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week2=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week3=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week4=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week5=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP&-week6=PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
cmd02 cmd=setscheduleex&-ename=md&-week0=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week1=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week2=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week3=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week4=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week5=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN&-week6=NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
cmd03 cmd=getscheduleex&-ename=md
cmd04 cmd=setinfrared&-infraredstat=open
cmd05 cmd=setinfrared&-infraredstat=close
cmd06 cmd=setinfrared&-infraredstat=auto
Ich bin mir aber sicher das die Syntax irgendwo beim Modul erklärt war...
Gruß,
Andreas.
Klar ist die erklärt, daran hab ich mich ja gehalten, aber es geht halt nicht!
Dein Vorschlag zeigt auch keine Besserung, leider!
Als raw message gehts übrigens:
set Kamera raw cgi-bin/admin/setparam.cgi?motion_c0_enable=0
Das könnte ich so natürlich auch machen, aber wär mit den cmd Attributen schon komfortabler.
@Michi240281: Das hatte wir doch schonmal ;)
Dein pathCmd sollte sein:
cgi-bin/admin/setparam.cgi
Deine Cmds sind:
motion_c0_enable=1
motion_c0_enable=0
So funktioniert das bei meinen Vivotek Kameras einwandfrei. Außerdem darfst du nicht vergessen (und hier kommen wir zu dem Teil den wir schon hatten), das Attribut basicauth richtig zu setzen und vor allem in deiner Kamera die richtigen Rechte zu verteilen.
Funktioniert!!!! :)
Es musste das "?" weggelassen werden, ansonsten hatte ich die Kombination so schon probiert!
Basicauth habe ich gesetzt und funzt!
Hallo,
ich habe ebenfalls das Problem, dass IPCAM nicht mit meiner Foscam funktionieren will :-\
Kann es daran liegen, dass das Bild, welches auf diesem Aufruf
http://192.xxx.xxx.xxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=password
kommt, nicht z.B. "Bild.jpg" oder "Bild.jpeg" heißt, sondern "CGIProxy.fcgi.jpeg"?
Falls dem so ist, gibt es dafür einen workaround in IPCAM?
schöne Grüße
Jo
Hat denn wirklich niemand dieses Problem mit seiner Foscam-Kamera?
Könnte amn das von der Kamera kommende Bild im Modul umbenennen, so dass es sich verwenden lässt?
schöne Grüße
Jo
schau dir mal mein angepasstes modul an http://forum.fhem.de/index.php/topic,39566.0.html
das modul ipcam im standard fhem baut die url spezifisch für eine art cam zusammen, evtl past es für deine nicht und du musst die trenner zwischen
http://cameraadress:port und befehl anderst setzen. in meinem modul ist auch bei verbose 5 die ausgabe des vom modul erzeugten pfades im log. evtl ist da der fehler zu erkennen
(url log ungleich der url die du im browser öffnest)
hab ich erst rasugefunden als ich a) das lpgging eingebaut habe und nach dem ein raw-befehl über das modul den erfolg brachte.
bei meiner ist es statt default
Zitat&
und
Zitat?
ein einfacher
Zitat/
der die befehle trennt
die attribute sehen dann so aus
Attributes:
DbLogExclude .*
basicauth admin:.....
cmd01 ptzctrl.cgi?-step=0&-act=hscan&-speed=45
cmd02 ptzctrl.cgi?-step=0&-act=vscan&-speed=45
cmd03 ptzctrl.cgi?-act=stop
cmdDevider /
cmdPanLeft ptzctrl.cgi?-step=0&-act=left&-speed=45
cmdPanRight ptzctrl.cgi?-step=0&-act=right&-speed=45
cmdPos01 preset.cgi?-act=goto&-number=0
cmdPos02 preset.cgi?-act=goto&-number=1
cmdPos03 preset.cgi?-act=goto&-number=2
cmdPosHome ptzctrl.cgi?-step=0&-act=home&-speed=45
cmdTiltDown ptzctrl.cgi?-step=0&-act=down&-speed=45
cmdTiltUp ptzctrl.cgi?-step=0&-act=up&-speed=45
path tmpfs/auto.jpg
pathCmd cgi-bin/hi3510
pathCmdDevider /
pathPanTilt cgi-bin/hi3510
room EDV
storage ./www/snapshots
verbose 5
Danke, das schaue ich mir mal an. Allerdings glaube ich, dass es nur an dem Format liegt, welches die Kamera als snapshot zurückgibt. Wenn ich den cgi-Befehl manuell im Browser eingebe, erhalte ich ein Bild. Wenn ich dieses im hex-Editor öffne, sieht der Anfang so aus wie im screenshot. Ist das Format evtl. "JFIF"?
Hatte versuchsweise mal die Abfrage im Modul auskommentiert. Dann kommen Dateien mit ".unknown"-Endung. Allerdings ist der Inhalt nur die Return-Meldung der Kamera. Z.B.:
<CGI_Result>
<result>-2</result>
</CGI_Result>
Da werde ich gerade auch nicht schlau draus :o
schöne Grüße
Jo
ein list des devices wäre gut
Zitat von: chris1284 am 06 August 2015, 20:17:09
ein list des devices wäre gut
Gerne:
Internals:
AUTHORITY 192.xxx.xxx.xxx:88
CFGFN ./FHEM/Kameras.cfg
DEF 192.xxx.xxx.xxx:88
NAME CAM02
NR 2357
SEQ 0
STATE last: 2015-08-06 19:37:09
TYPE IPCAM
Readings:
2015-08-06 19:37:09 last CAM02_snapshot.unknown
2015-08-06 19:37:06 snapshot1 CAM02_20150806_193706.unknown
2015-08-06 19:37:07 snapshot2 CAM02_20150806_193707.unknown
2015-08-06 19:37:08 snapshot3 CAM02_20150806_193708.unknown
2015-08-06 19:37:09 snapshot4 CAM02_20150806_193709.unknown
2015-08-06 19:37:09 snapshots 4
Attributes:
basicauth {USERNAME}:{PASSWORD}
cmd01 cmd=openInfraLed&usr={USERNAME}&pwd={PASSWORD}
cmd02 cmd=closeInfraLed&usr={USERNAME}&pwd={PASSWORD}
credentials /opt/fhem/FHEM/000_CAM01_config.cfg
delay 1
path cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr={USERNAME}&&pwd={PASSWORD}
pathCmd cgi-bin/CGIProxy.fcgi
room Kameras
snapshots 4
storage ./www/snapshots
timestamp 1
schöne Grüße
Jo
das modul würde folgenden pfad bauen und aufrufen:
da basichauth gesetzt:
http://{USERNAME}:{PASSWORD}@192.xxx.xxx.xxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr={USERNAME}&&pwd={PASSWORD}
was passiert wenn du es genau so eingibst im browser (username und password ersetzen)?
funktioniert es mit
attr CAM02 path cgi-bin/CGIProxy.fcgi?cmd=snapPicture2
(das modul würde dann http://{USERNAME}:{PASSWORD}@192.xxx.xxx.xxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2 aufurfen )
evtl kann deine cam keine auth über http://username:pw@ip -> lösch mal basicauth und credentials und lass path wie er jetzt ist, also cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr={USERNAME}&&pwd={PASSWORD} nur mit dem echten user und dem echten pw statt der {} patzhalter
Stimmt, da könnte ein Fehler liegen. 2x muss das pw ja nicht übergeben werden. Aber ich denke das eigentliche Problem liegt darin, dass meine 9828P eine html-Seite zurück gibt, anstatt eines einzelnen jpgs. Auch beim Aufruf im Browser. Scheint ein Fehler in der aktuellen Firmware zu sein :(
Werde morgen mal weiter testen.
schöne Grüße
Jo
das machen alle cams ;) auch bei meiner wansview kommt eine einfache html-seite mit zentriertem image, auch bei meine dlink ist das so (und meiner logitech)
Und das Modul kommt damit zurecht? Meine instar liefert ein jpg.
schöne Grüße
Jo
da hast du wohl recht, habs gerade nchmal getestet.
mit den httputils wird das file von der url geholt und dann de header geprüft ob es ein dem modul bekanntes format hat. wenn da ne website kommt klappt das nicht
Gibt es denn keine "einfache" Möglichkeit, das jpg im Modul aus der HTML Seite zu extrahieren? Immerhin ist das Bild ja vorhanden.
schöne Grüße
Jo
welches model der foscam hast du genau? die FI8910W hat zb eine snapshot.cgi die ein jpg liefert
http://192.168.2.xxx/snapshot.cgi?user={username}&pwd={pw}
Ich habe die 9828P. Die soll mit snapPicture2 eigentlich auch ein jpg liefern. Macht sie aber nicht weil die Firmware wohl ne Macke hat. Ich denke aber, dass eine solche Änderung im Modul auch für andere Kameras interessant wäre, die diese Option gar nicht bieten. Bin leider kein perl-Experte, aber ich könnte mir vorstellen, dass das realisierbar ist.
schöne Grüße
Jo
Also eigentlich sollten alle FOSCAMs mit snapPicture2 ein jpg zurück liefern. Meine FI9821W V2 machen das auch. Ich habe irgendwo im Netz (natürlich finde ich den Link nicht wieder) gelesen, dass die 9829P tatsächlich den besagten Firmware-Bug hat und sowohl mit snapPicture, als auch mit snapPicture2 eine HTML-Seite zurück liefert. Angeblich wird an einer neuen Firmware gearbeitet...
wenn die den bug von der firmware her hat würde ich
- wenn es keine neue gibt die aktzuelle nochmal flashen
- wenn das nichtz hilft eine ältere
- am besten natürlich die neuste
Das wäre natürlich eine Option. Müsste man nur wissen, in welcher Version das mal funktioniert hat. Zudem habe ich die 9828P. Das scheint der Nachfolger der 9828W zu sein. Unterschiede sind mir nicht bekannt. Nur, dass die W schon verschiedene updates erhalten hat, die P aber noch kein einziges. Und Firmware für die W auf der P flashen ist mir dann doch zu riskant :(
schöne Grüße
Jo
Update: Es scheint jetzt bei mir zu funktionieren ???
Ich kann zwar gerade nicht sagen, warum, aber es werden snapshots als .jpg angelegt und ich kann die IR-LEDs schalten. Habe die Zugangsdaten jetzt mal nicht ausgelagert (Chris, danke für den Hinweis!). Dennoch liefert die cam eigentlich immer noch html zurück...? Oder mein Firefox macht html daraus.
schöne Grüße
Jo
Hallo Jo,
was war denn jetzt der Grund/Lösungsweg? Was hast Du noch geändert?
Habe die Foscam 9805 und bekomme im Log auch die Meldung "Wrong or not supported image format...".
Aufruf ist identisch mit Deiner Foscam, im Browser erscheint auch ein JPG.
Danke!
Gruß
Friedhelm
Hallo,
frag mich nicht, ich habe keine Ahnung. Was allerdings ab und zu passiert: Die cam stürzt ab und lässt sich nicht mehr richtig bedienen. Neustart hilft. Detektieren kann man das dadurch, dass anstelle eines jpg ein svg Bild gespeichert wird. Ansonsten habe ich aber nichts geändert. Auf einmal ging es bei mir.
schöne Grüße
Jo