IPCAM Modul Motion detect

Begonnen von AET_FHEM, 04 März 2014, 11:44:08

Vorheriges Thema - Nächstes Thema

AET_FHEM

Hallo Experten,

also seit neustem benutze ich das IPCAM Modul mit meiner FOSCAM um zu sehen wer vor der Türe steht, die Kamera habe ich auch so eingestellt das sie bei bewegung eine Email schickt.
Jetzt wäre es noch schön wenn FHEM eine Bewegung erkennt und Zeitnah eine Meldung ausgibt um es als event zu verwenden, lt. Werner
--> http://www.fischer-net.de/hausautomation/fhem/49-fhem-modul-ipcam-holt-bilder.html
geht das ..... aber wie?

Grüße
AET

chris1284

Wenn du das meinst :
Zitat
Dieses Device soll bei der Auslösung eines Bewegungsmelders die Aufnahmen holen:
define MOTION.not.01 notify GH.ga.SEC.MD.01:.*on.* get ipcam image

Da wird meines Erachtens per notify auf einen Bewegungsmelder (HM-Sec -----) reagiert und per ipcam-Modul ein snapshot gemacht.

Ein Ansatz ohne extra Melder wäre evtl.:
- meine Cam macht ein snapshot bei Bewegung und legt das Bild auf dem Pi ab
- würde man das Verzeichnis überwachen könnte man darauf reagieren


AET_FHEM

Ja stimmt wenn man das Verzeichniss checkt würde das klappen, mit extra Bewegungsmelder wollte ich nicht arbeiten

Werner schrieb:
"# Modifikation von IPCAM — Werner 2013-08-24 12:26
Hallo Martin,
ich habe das Modul um eine Pollfunktion erweitert.
In bestimmbaren Intervallen kann man den Status der IpCam abfragen und somit den Motion-Alarm als event verwenden.
Es klappt mit meiner Foscam super.
Falls du Interesse daran hast, die Funktionen auf zu nehmen,
dann bitte ich um eine emailadresse für die Zusendung.

Liebe Grüße
Werner"

----> ich glaub der checkte das direkt an der CAM ab......

wmeiners

Hallo zusammen,

ich müsste den part noch in das IPCAM-Modul sauber einpflegen.
Habe ich bisher leider nicht.
Ich hänge das geänderte Modul an, die Änderungen sollten selbsterklärend sein.
Die Änderungen sind gut kommentiert mit new new1 new2.

Evtl. Fragen beantworte ich gern.

lg, Werner
FHEM auf Raspberry Pi 3
2x cul (FS20, Homematic)
USV Selbstbau

homeautomation1

Motion Detect will bei mir noch nicht so richtig.

get ipcam image

funktioniert so wie es soll unter Nutzung von my_IPCAM,
allerdings bekomme ich Motion Detect ueber notify noch nicht zum Laufen:

define ipcamNotify notify ipcam get ipcam image

Ich denke mal dass es an der Syntax liegt und daran, dass wahrscheinlich noch vorher Variablen definiert werden muessen, damit das Polling ueberhaupt loslaeuft. So ganz bin ich in den Modulcode noch nicht eingestiegen.
Ein kleines simples Beispiel fuer die Nutzung vom Polling und Notify wuerde mir sehr weiterhelfen!

wmeiners

Hallo HH.

Meine notifys sehen so aus:

# bei Alarm Images holen
define nfy_ipcam1_Alarm_on notify ipcam1:Alarm_on { fhem("get ipcam1 image") }

# images versenden WICHTIG: @@ in emailadr. verwenden
# sendmailSnapshots ist eine sub aus my_MailUtils.pm
define nfy_ipcam1_snapshots notify ipcam1:snapshots.* { sendmailSnapshots ("%",'you@@provider.de') }

Ich hänge die aktuellen Dateien an!

Liebe Grüße
Werner
FHEM auf Raspberry Pi 3
2x cul (FS20, Homematic)
USV Selbstbau

rendgeor

Hallo Werner,
1) sind deine änderungen mitlerweile in das offilzielle IPCAm integriert worden?

2)Wie ist genau die Syntax des Pollings?
   "In bestimmbaren Intervallen kann man den Status der IpCam abfragen und somit den Motion-Alarm als event verwenden."
   define nfy_ipcam1_Alarm_on notify ipcam1:Alarm_on { fhem("get ipcam1 image") }
a) Wird das Polling automatisch durchgeführt?
b) Verifiziere ich mit "notify ipcam1:Alarm_on" ob das letzte Polling einen aktiven Alarm erkannt hat?
c) Wie oft wird gepollt?

rendgeor

Noch eine weitere Frage,
du schreibst dass es super mit der Foscam funktioniert.

Läuft die Alarmerkennung auch mit der Wansview 625?

marvin78

Meines Erachtens ist so etwas wier hier zwar sehr interessant, aber erst produktiv einsetzbar, wenn das IPCAM Modul Non-blocking ist. Bei hochauflösenden Bildern von einer 2 MP Kamera blockiert FHEM sogar auf dem schnellsten Server beim Holen der Bilder eine ganze Weile (hängt von der Kamera ab).

rendgeor

Hallo Marvin,
hallo Werner,
gibt es eine Alternative zu IPCAM in fhem?

Ich würe gerne aktuell nur den Bewegungssensor in der Kamera nutzen. Ich denke dass dieses Polling des Alarmbits nicht so blockierend ist;)
Daher nochmal:
a) Ich benötige nur weitere Infos zum Alarmbit-Polling
b) Funktioniert dies auch mit den Wansview Kameras?

Danke,

AET_FHEM

#10
---> Hallo,

wollte gerade das Modul testen, leider bekomm ich immer die Meldung das meine CAM offline wäre

--> kann mir jemand weiter helfen?

---> Bilder macht sie aber ....

== UPDATE ==
- ich habe fping nach installiert & die Zeile
  my $ping_out = qx (fping -t $pingTimeOut -r 0 $host); #used fping, not implemented in fritz.box
zum test abgeändert in
  my $ping_out = qx (fping -t $pingTimeOut -r 0 192.168.0.62); #used fping, not implemented in fritz.box
--> jetzt bekomm ich die meldung Status Alarm_undefined => obwohl ich in der Foscam den Alarm definiert habe ...
=> @ Werner so selbst erklärend find ich das Modul jetzt nicht :-)

== UP2Date ==
Also die CAM definiert man im neuen Modul [myIPCAM] nicht mehr mit dem Port sondern ohne!!
   # define <name> IPCAM <camip:port> ~~> ALT
  # define webcam IPCAM 192.168.1.58:81 = define ipcam my_IPCAM 192.168.1.58 ~~> dann gehts auch
ohne änderung der Zeile $host in der Datei 97_my_IPCAM.pm
=> trotzdem bekomme ich noch Status:Alarm_undefined

_________________________
mit (Foscam)
http://x[IP]X/get_log.cgi?user=XXX&pwd=XXX

=> kann man ja das Log auslesen also kann jemand der sich auskennt auch nach "motion detect" suchen und dann ein Event auslösen ...?

und :-)
attr _CAM_ pathStatus get_status.cgi (Foscam und Instar)
--> dann klappts auch mit dem Alarm :-)



wmeiners

Hallo AET_FHEM,

Hast du deine Fhem-Installation auf einem Raspberry Pi?
Kannst du vom Fhem-host deine cam anpingen?

fping muss mit root-Rechten ausgeführt werden. Ich habe dafür das suid bit gesetzt.
"chmod +s /usr/bin/fping" !
Vorher mal schauen, ob das s-bit (statt x-bit) gesetzt ist:  "ls -l /usr/bin/fping"
Auch beim ping-Befehl ist das sogenannte Sticky-bit gesetzt.

Allerdings ist das natürlich auch sicherheitskritisch, wenn jeder diesen Befehl mit root-Rechten ausführen
kann.
Ich hoffe es hilft dir weiter.

Liebe Grüße
Werner



FHEM auf Raspberry Pi 3
2x cul (FS20, Homematic)
USV Selbstbau

AET_FHEM

Hallo Werner,

musste das fping installieren außerdem noch ein paar sachen einstekllen und meine CAM´s updaten Firmware und WEB UI jetzt gehts Motion wird Alarm wird angezeigt Super sache  ;D

--> ALarm status => attr _CAM_ pathStatus get_status.cgi
und define ipcam my_IPCAM 192.168.1.58 (OHNE PORT)

klappt :-) hier mit Instar und Foscam getestet
SUPER Danke
Grüße
Andy

AET_FHEM

Hallo,

hab mal wieder ein Problem ...
und zwar kommt meine CAM instar nach ein paar Alarm_on nicht mehr auf den State Alarm_off
obwohl in der get_log.cgi Alarm:0 angezeigt wird ändert sich der status der Kamera nicht mehr außer ich starte FHEM neu danach geht es wieder ...

--> hat jemand eine Idee?

Wie kann ich my_IPCAM_GetUpdate($) ausführen??

robertPI

Hallo,

die Bewegungserkennung habe ich für meine Foscam IL9900P über HTTPMOD gelöst:

define ipcam0_status HTTPMOD http://192.168.178.24:88/cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx&cmd=getDevState 10
attr ipcam0_status userattr get0Map get0Name get0Regex get0URL get1Map get1Name get1Regex get1URL readingsName_infraLedState readingsName_motionDetectAlarm readingsRegex_infraLedState readingsRegex_motionDetectAlarm set0Data set0Name set0URL set1Name set1URL
attr ipcam0_status get0Map 0:success, -1:fail
attr ipcam0_status get0Name closeInfraLed
attr ipcam0_status get0Regex <ctrlResult>?([\d])
attr ipcam0_status get0URL http://192.168.178.24:88/cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx&cmd=closeInfraLed
attr ipcam0_status get1Map 0:success, -1:fail
attr ipcam0_status get1Name openInfraLed
attr ipcam0_status get1Regex <ctrlResult>?([\d])
attr ipcam0_status get1URL http://192.168.178.24:88/cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx&cmd=openInfraLed
attr ipcam0_status readingsName_infraLedState infraLedState
attr ipcam0_status readingsName_motionDetectAlarm motionDetectAlarm
attr ipcam0_status readingsRegex_infraLedState <infraLedState>?([\d])
attr ipcam0_status readingsRegex_motionDetectAlarm <motionDetectAlarm>?([\d])
attr ipcam0_status room IT


Nach dem selben Muster ist auch die Kontrolle für die IR LED der Kamera gestaltet. Die API ist recht einfach und im Netz zu finden: "Foscam IPCamera CGI User Guide-V1.0.4.pdf"
Was noch nicht recht klappen mag ist die Kontrolle der Kamera internen Bewegungserkennung mit getMotionDetectConfig. Wenn ich es hinbekommen habe stelle ich gerne die komplette Einbindung der Kamera vor.
FHEM auf Raspbery Pi 4
HM: HM-CFG-USB-2,HM-CC-RT-DN,HM-TC-IT-WM-W-EU,HM-SEC-SCo,HM-ES-PMSw1-Pl,HM-Sen-MDIR-WM55 | Philips hue: LCT001,LWL001,FLS-PP lp | Logitech Harmony Ultimate | zigbee2mqtt: WSDCGQ01LM, WSDCGQ11LM, MFKZQ01LM, MCCGQ11LM