Modul IPCAM nützliche Steuerung/Änderung der Einstellung Foscam IPKamera

Begonnen von döner123, 20 Februar 2018, 16:18:37

Vorheriges Thema - Nächstes Thema

döner123

Hallo, da ich schon Unmengen an Informationen aus diesem Forum gesogen habe, wollte ich mich auch mal erkenntlich zeigen und hier kurz den Weg zur erfolgreichen Einstellungsänderung über FHEM im Fall einer Foscam C2 und R2 zeigen.

Ich habe eine Art Wohnraum/Eingangsüberwachung realisiert und wollte, dass durch FHEM die interne Bewegungserkennung der IP Kameras und damit auch die Aufnahme/Mitteilung per APP/Mail, ein- und ausgeschaltet werden kann.
Im WIKI zum Modul ist ein link aufgeführt für alle Befehle der Foscam Kameras. Hier eine Verknüpfung zu einer PDF-Datei, die sich übersichtlicher gestaltet.

https://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf

Wenn es um Einstellungen geht, gibt es immer einen Get -und einen Setbefehl. In meinem Fall laut Dokument setMotionDetectConfig und getMotionDetectConfig.
Hier aber Achtung, der interne Befehl wurde offenbar einfach mal geändert und nun heißen beide setMotionDetectConfig1 und getMotionDetectConfig1. Ich wollte schon aufgeben, bin dann aber in einem US-Forum fündig geworden.

Vorgehensweise:

- Einstellungen erst im Web-Interface setzen, speichern - eventuell in der App die Auslösungsempfindlichkeit noch anpassen (im Web-Interface nicht möglich ???)
- im Browser den link in folgender Form aufrufen:

http://<ipderkamera:88/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig1&usr=<usr>&pwd=<password>

- in FHEM neues cmd-attr setzen - wichtig ist, dass alle Einstellungen aufgeführt werden (also auch welche mit Wert 0) (Bsp.:
cmd=setMotionDetectConfig1&isEnable=1&linkage=140&snapInterval=2&triggerInterval=0&isMovAlarmEnable=1&isPirAlarmEnable=0&schedule0=281474976710655&schedule1=281474976710655&schedule2=281474976710655&schedule3=281474976710655&schedule4=281474976710655&schedule5=281474976710655&schedule6=281474976710655&x1=0&y1=0&width1=10000&height1=10000&threshold1=0&sensitivity1=1&valid1=1&x2=0&y2=0&width2=0&height2=0&threshold2=0&sensitivity2=1&valid2=0&x3=0&y3=0&width3=0&height3=0&threshold3=0&sensitivity3=1&valid3=0&usr=<user>&pwd=<password>

- jetzt noch einen zweiten cmd zum Deaktivieren:
cmd=setMotionDetectConfig1&isEnable=0&usr=<user>&pwd=<password>

nun können über DOIF/Notify oder was auch immer die Kameras aktiviert werden. Durch die Fülle an möglichen Einstellungen kann natürlich noch viel mehr realisiert werden.

Ich hoffe, das hilft dem einen oder anderen User hier.

bmwfan

Hallo,
auch ich kämpfe gerade mit der C2, die ich in der Garage installiert habe. Nach Deinenr Anleitung eingebunden, aber wie bekomme ich ein Bild am PC bzw. später, das istd as Ziel, an meinem Tablet an der Wand? Meine Mobotix kann ich problemlos abrufen, aber bei der Foscam bekomme ich es nicht hin. Habe es auch nach der Anleitung für die FI9831P aus dem Wiki versucht, aber es klappt nicht. Meine Einstellungen:
Internals:
   AUTHORITY  192.168.xxx.yyy:88
   CFGFN     
   DEF        192.168.xxx.yyy:88
   NAME       CamGarage
   NR         67728
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   READINGS:
     2018-03-17 20:34:07   snapshots       0
Attributes:
   cmd01      setMotionDetectConfig1&isEnable=1&linkage=12&snapInterval=2&triggerInterval=5&isMovAlarmEnable=1&isPirAlarmEnable=1&schedule0=281474976710655&schedule1=281474976710655&schedule2=281474976710655&schedule3=281474976710655&schedule4=281474976710655&schedule5=281474976710655&schedule6=281474976710655&x1=100&y1=729&width1=4514&height1=3562&threshold1=50&sensitivity1=1&valid1=1&x2=7971&y2=1708&width2=2029&height2=6437&threshold2=50&sensitivity2=1&valid2=1&x3=0&y3=0&width3=0&height3=0&threshold3=50&sensitivity3=0&valid3=0&usr=xxx&pwd=xxx
   cmd02      setMotionDetectConfig1&isEnable=0&usr=xxx&pwd=xxx
   path       cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx
   pathCmd    cgi-bin/CGIProxy.fcgi
   room       1.8_Garage,4.3_Kameras
   storage    ./www/snapshots


Vielleicht hast Du eine Idee.

Grüße Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HW-LAN, Jalousienaktoren; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

döner123

Sorry für die späte Antwort. Also mein Pfad sieht leicht anders aus:

path: cgi-bin/CGIProxy.fcgi?usr=USER&pwd=PASSWORD&cmd=snapPicture2
über das Attribut "snapshots" legst du die Anzahl der Bilder fest, welche gemacht werden sollen

Dann musst du über "get CamGarage image" die Aufnahme der Bilder initiieren. Diese werden dann im Raspberry abgelegt und können abgegriffen werden. Ich lasse sie mir dann bei Auslösung des Alarmes per Telegram senden.

Wenn ich es jedoch richtig verstehe, möchtest du auf das Livebild der Kamera zugreifen?!
Da müsste ich selber bei Gelegenheit noch einmal nachsehen, wie der Zugriff funktioniert. Ich denke, mit vlc sollte das aber kein Problem sein.

Beste Grüße


Bartimaus

Super, danke für die Tips.

Habe jetzt damit erfolgreich meine Foscams (C1, C2, FI9803P, FI9900P) eingebunden, und steuere die MotionDetection nach "Abwesenheit" und nicht nach festem Zeitschema.

Der nächste Schritt wird das anlegen einer credentials hierfür sein.
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

steffen83

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

Jonny1957

Zitat von: döner123 am 20 Februar 2018, 16:18:37
Hallo, da ich schon Unmengen an Informationen aus diesem Forum gesogen habe, wollte ich mich auch mal erkenntlich zeigen und hier kurz den Weg zur erfolgreichen Einstellungsänderung über FHEM im Fall einer Foscam C2 und R2 zeigen.

Ich habe eine Art Wohnraum/Eingangsüberwachung realisiert und wollte, dass durch FHEM die interne Bewegungserkennung der IP Kameras und damit auch die Aufnahme/Mitteilung per APP/Mail, ein- und ausgeschaltet werden kann.
Im WIKI zum Modul ist ein link aufgeführt für alle Befehle der Foscam Kameras. Hier eine Verknüpfung zu einer PDF-Datei, die sich übersichtlicher gestaltet.

https://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf

Wenn es um Einstellungen geht, gibt es immer einen Get -und einen Setbefehl. In meinem Fall laut Dokument setMotionDetectConfig und getMotionDetectConfig.
Hier aber Achtung, der interne Befehl wurde offenbar einfach mal geändert und nun heißen beide setMotionDetectConfig1 und getMotionDetectConfig1. Ich wollte schon aufgeben, bin dann aber in einem US-Forum fündig geworden.

Vorgehensweise:

- Einstellungen erst im Web-Interface setzen, speichern - eventuell in der App die Auslösungsempfindlichkeit noch anpassen (im Web-Interface nicht möglich ???)
- im Browser den link in folgender Form aufrufen:

http://<ipderkamera:88/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig1&usr=<usr>&pwd=<password>

- in FHEM neues cmd-attr setzen - wichtig ist, dass alle Einstellungen aufgeführt werden (also auch welche mit Wert 0) (Bsp.:
cmd=setMotionDetectConfig1&isEnable=1&linkage=140&snapInterval=2&triggerInterval=0&isMovAlarmEnable=1&isPirAlarmEnable=0&schedule0=281474976710655&schedule1=281474976710655&schedule2=281474976710655&schedule3=281474976710655&schedule4=281474976710655&schedule5=281474976710655&schedule6=281474976710655&x1=0&y1=0&width1=10000&height1=10000&threshold1=0&sensitivity1=1&valid1=1&x2=0&y2=0&width2=0&height2=0&threshold2=0&sensitivity2=1&valid2=0&x3=0&y3=0&width3=0&height3=0&threshold3=0&sensitivity3=1&valid3=0&usr=<user>&pwd=<password>

- jetzt noch einen zweiten cmd zum Deaktivieren:
cmd=setMotionDetectConfig1&isEnable=0&usr=<user>&pwd=<password>

nun können über DOIF/Notify oder was auch immer die Kameras aktiviert werden. Durch die Fülle an möglichen Einstellungen kann natürlich noch viel mehr realisiert werden.

Ich hoffe, das hilft dem einen oder anderen User hier.

Hallo Döner123 und Fhem Gemeinschaft,
könnt ihr mir mal auf die Sprünge helfen. Bei mir passiert gar nichts.
Hab eigentlich alles so gemacht, wie beschrieben (oder?).

defmod FosCam IPCAM 192.168.1.36
attr FosCam cmd01 setMotionDetectConfig1&isEnable=1&linkage=6&snapInterval=2&triggerInterval=0&isMovAlarmEnable=1&isPirAlarmEnable=1&schedule0=281474976710655&schedule1=281474976710655&schedule2=281474976710655&schedule3=281474976710655&schedule4=281474976710655&schedule5=281474976710655&schedule6=281474976710655&x1=0&y1=0&width1=10000&height1=10000&threshold1=50&sensitivity1=0&valid2=1&x2=0&y2=0&width2=10000&height2=10000&threshold2=50&sensitivity2=0&valid2=1&x3=0&y3=0&width3=10000&height3=10000&threshold3=50&sensitivity3=50&valid3=1&usr=admin&pwd=passwort
attr FosCam cmd02 setMotionDetectConfig1&isEnable=0&usr=admin&pwd=passwort
attr FosCam group CPU
attr FosCam path cgi-bin/CGIProxy.fcgi?usr=admin&pwd=passwort&cmd=snapPicture2
attr FosCam pathCmd cgi-bin/CGIProxy.fcgi
attr FosCam room HWR
attr FosCam storage ./www/snapshots
attr FosCam verbose 4


defmod MOTION.not.02 notify FosCam:.*snapshots.* set teleBot message Bewegung im Flur !

döner123

Guten Abend,

hast du die Kamera wie in der Anleitung zum IPCAM Modul über define <name> IPCAM <ip[:port]> integriert? Ist sie im Netzwerk unter der IP erreichbar? Was genau funktioniert nicht?

Jonny1957

Habe ich gemacht. Den Port hab ich weggelassen, weil Port 80. Im Netzwerk komme ich drauf und alles funktioniert.
Bei einer Bewegung sendet die Cam 3 Bilder als EMail. Ich wollte jetzt die Bewegung zusätzlich erfassen und auf Telegram schicken und andere Aktionen ausführen.
Ich sehe im Event monitor nichts von der IP oder vom Modul IPCAM.
Erst wenn ich auf  "get FosCam Image" drücke, wird ein Bild gespeichert und ich bekomme eine Meldung auf Telegram.
>:(

Jonny1957

Zitat von: Bartimaus am 17 August 2018, 13:27:13
Super, danke für die Tips.

Habe jetzt damit erfolgreich meine Foscams (C1, C2, FI9803P, FI9900P) eingebunden, und steuere die MotionDetection nach "Abwesenheit" und nicht nach festem Zeitschema.

Der nächste Schritt wird das anlegen einer credentials hierfür sein.

Kann mir mal jemand sein funktionieren Konfiguration für Fhem posten!

döner123

Hallo Jonny,

das Modul ist nicht in der Lage, auf Bewegungen, welche die Cam erfasst, zu reagieren. Wenn du die Kamera eingebunden hast, siehst du ja auch, dass es keine entsprechenden Readings gibt. Nach deiner Aussage kannst du ein get Image auslösen, also ist die Einbindung richtig erfolgt.

Wie gesagt, du kannst durch das Modul die Einstellungen FHEM-gesteuert setzen und auf von der Cam gespeicherte Fotos zugreifen, wenn diese durch FHEM ausgelöst wurden.
Hierfür ist das attr storage nötig.

Beste Grüße
Tim

Ingo298

ICh habe das so mit der Bewegungserkennung gelöst

defmod ipcam1_status HTTPMOD http://192.168.2.5:61068/cgi-bin/CGIProxy.fcgi?cmd=getDevState&usr=xxx&pwd=xxxxx 5
attr ipcam1_status userattr reading01Name reading01Regex
attr ipcam1_status DbLogExclude .*
attr ipcam1_status enableControlSet 0
attr ipcam1_status event-on-change-reading .*
attr ipcam1_status group IP-Kamera
attr ipcam1_status reading01Name motionDetectAlarm
attr ipcam1_status reading01Regex <motionDetectAlarm>?([\d])
attr ipcam1_status room 00_0 Aussen
attr ipcam1_status verbose 1

defmod Alarm_Camera DOIF ([ipcam1_status:motionDetectAlarm] == 2) (get IPKamera image) (set teleBot sendPhoto /opt/fhem/www/images/webcam/IPKamera_snapshot_1.jpg  !Die Kamera meldet Bewegung!)
attr Alarm_Camera DbLogExclude .*
attr Alarm_Camera cmdState Alarm|kein Alarm
attr Alarm_Camera group Alarm
attr Alarm_Camera room 99_5 doif
attr Alarm_Camera wait 0,1
RPi4 8GB: Buster FHEM 6.3, FTUI-3, AMAD,10.1" Tablet; MiLight;IT;HM;Dect200;VZLogger;MQTT

Jonny1957

Danke zusammen,
ich hab jetzt die Variante von Matthias Kleine genommen. Die hat den Vorteil, das damit auch andere Aktionen eingebunden werden können. ( z.B erfolgreiches Backup usw. )
https://haus-automatisierung.com/hardware/fhem/2016/07/14/fhem-tutorial-reihe-part-11-benachrichtigung-mit-bild-bei-bewegung.html

Funktioniert ganz gut, außer das 5 Alarme kommen.( kann man bestimmt in Fhem ändern :)
Ich müsste was ändern, weil meine Foscam C2 noch zwei Verzeichnisse sendet worin die Bilder sind.

tydo

Basierend von Ingo298 habe ich folgende Lösung für mich, so dass bei Bewegung ein Bild über einen Telegram-Bot gesendet wird. Meine FosCam C2 ist als "FosCam" mit dem Modul IPCAM in FHEM bereits definiert. Zusätzlich ist ein Bot mit dem Namen "telebot" bereits konfiguriert. Beim Telegramm-Bot habe ich den Default-Peer entsprechend gesetzt, dann muss ich das hier nicht jedes Mal neu angeben.

Der nachfolgende Befehl sorgt dafür, dass wenn immer die Kamera ein neues Bild aufnimmt, wird es mit einem Telegram-Bot an mich gesendet
define FosCam_image notify FosCam.last.* set telebot sendImage /opt/fhem/www/snapshots/FosCam_snapshot.jpg

In Anlehnung an oben folgende Definition vornehmen:
define FosCam_status HTTPMOD http://192.168.100.2:88/cgi-bin/CGIProxy.fcgi?cmd=getDevState&usr=XXX&pwd=XXX 5
attr FosCam_status userattr reading01Name reading01Regex
attr FosCam_status enableControlSet 0
attr FosCam_status event-on-change-reading .*
attr FosCam_status reading01Name motionDetectAlarm
attr FosCam_status reading01Regex <motionDetectAlarm>?([\d])
attr FosCam_status verbose 1

Damit bei Bewegung ein Bild aufgenommen wird, ist noch folgendes notwendig:

define FosCam_alarm DOIF ([FosCam_status:motionDetectAlarm] == 2) (get FosCam image)
attr FosCam_alarm cmdState Alarm|kein Alarm
attr FosCam_alarm wait 0,1

Das Bild über den Telegramm-Bot wird dann automatisch gesendet