Modul IPCAM überarbeitet

Begonnen von Martin Fischer, 01 Februar 2013, 20:30:37

Vorheriges Thema - Nächstes Thema

Shadow3561

#285
Und so?

snapshot.jpg

Was passiert wenn du die Adresse

192.168.136.53/snapshot.jpg
Im  Browser aufrufst?

Oder mal so probieren

user:password@192.168.136.53/snapshot.jpg

http://IPADDRESS/snapshot.cgi

http://IPADDRESS/jpg/image.jpg

holzwurm83

Zitat von: Shadow3561 am 30 April 2020, 14:48:11
Was passiert wenn du die Adresse

192.168.136.53/snapshot.jpg
Im  Browser aufrufst?

Dann zeigt er mir ein Bild im Format jpg im Browser an.

Alle Varianten habe ich jetzt einmal getestet, aber es wird immer nur ein SVG abgelegt.

- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Shadow3561

Wenn du nicht nach Passwort oder Benutzer gefragt wirst dann würde ich es mal so probieren

attr cam_garten path snapshot.jpg

holzwurm83

Hi,

also so wie es scheint liegt es an der Anmeldung. Der link im Browser ging, da dieser die Zugangsdaten gespeichert hatte.

Die Eingabe des Links im Browser mit den Zugangsdaten hat dann einfach nicht funktioniert. Ich habe das noch mal mit basicauth probiert, was jetzt funktioniert. Ich hatte basicauth immer nur mit geschweiften Klammern probiert.


defmod cam_garten IPCAM 192.168.136.53:80
attr cam_garten alias cam_garten
attr cam_garten basicauth sdfsdf:sfdfsd
attr cam_garten path snapshot.jpg
attr cam_garten room Garten
attr cam_garten snapshots 1
attr cam_garten storage ./www/snapshot


Jetzt stehe ich vor dem Problem die Kamera als iframe über Weblink einzubinden. Der will die Zugangsdaten im Link nicht nehmen.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

onkel-tobi

#289
Zitat von: Lippie am 18 Dezember 2019, 21:16:06
bin dem Ganzen auf die Spur gekommen:

die Zaubervariable heißt use vars qw(%FW_webArgs);.
Damit kann man auf alle Argumente des HTTP-GET-Aufrufts der Kamera zugreifen.
Das Update liegt wieder unter https://forum.fhem.de/index.php/topic,100493.0.html.

Habe Martin Fischer gefragt, ob es in Ordnung ist, wenn ich das Modul weiter pflege und sein OK bekommen.

Nun habe ich in meiner Version des IPCAM-Moduls fleißig auf nonblocking umgestellt.
Kennt sich jemand damit aus, ob es evtl.Kompatibilitätsprobleme gegenüber den alten blocking-Aufrufen geben kann?

VG
Sebastian
Hi Sebastian,
zunächst einmal vielen Dank für's erweitern.
Ich probiere aktuell die Helligkeit meiner Cam auszulesen, scheitere aber sowohl mit der "alten", als auch mit deiner Version.
Ich nutze eine INstar 9008 Cam und habe folgende config:
Internals:
   AUTHORITY  IP:PORT
   DEF        IP:PORT
   FUUID      5efadc4a-f33f-daf3-8545-4a9c00279797abd3
   HttpRequest set
   NAME       eg_ga_cam1
   NR         605
   SEQ        0
   STATE      initialized
   TYPE       IPCAM
   READINGS:
     2020-06-30 08:31:38   state           initialized
Attributes:
   basicauth  {USERNAME}:{PASSWORD}
   checkInterval 600
   cmd01      cmd=getsaradcstate&-usr={USERNAME}&-pwd={PASSWORD}
   credentials /opt/fhem/FHEM/ipcam.conf
   path       /tmpfs/snap.jpg
   pathCmd    param.cgi?
   room       Garten
   snapshots  1
   storage    /tmp
   timestamp  1

Einen Snapshot kann ich ziehen => credentials config muss stimmen
cmd=getsaradcstate gibt bei http request den entsprechenden Wert zurück...

Hast Du eine Idee?
Danke & Gruß,
Tobi

Spook112

Hi,
ich habe eine Foscam FI9900EP IP Kamera bei mir in FHEM integriert und es klappt auch Snapshots zu machen und unter dem im Attribut storage angegebenen Pfad abzuspeichern.

Hinweis am Rande zu der Thematik oben svg/jpg.
Bei der Foscam muss man bei path     CGIProxy.fcgi?cmd=snapPicture2&usr=xxxx&pwd=yyyy
eingeben. Dann bekommt man ein jpg Bild.
Gibt man stattdessen path     CGIProxy.fcgi?cmd=snapPicture&usr=xxxx&pwd=yyyy
ein, so erhält man ein svg.
Also bei Bedarf an jpg Bildern bei snapPicture2 auf die 2 achten.

Vielleicht ist das bei der Edimax IC-9110W von holzwurm83 ja ähnlich.

Jetzt zu meinem Problem.
Wie geschrieben kriege ich mit dem oben genannten Befehl Bilder von der Kamera.

Was ich nicht hin bekomme ist Daten auszulesen oder zu zoomen etc.

Nach meinem Verständnis müsste das doch über unter den Attributen cmd<x> mit dort hinterlegten Angaben möglich sein - klappt aber irgendwie nicht.

Versucht habe ich:
   cmd01      CGIProxy.fcgi?cmd=zoomIn&+cmd=snapPicture2&usr=xxxx&pwd=yyyy
   cmd02      CGIProxy.fcgi?cmd=zoomOut&usr=xxxx&pwd=yyyy
   cmd03      192.168.178.9:88/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=xxxx&pwd=yyyy

Es klappt weder ohne Pfadangabe noch mit und auch nicht mit IP und Port Angabe.

Was mache ich falsch - wer hat einen Tipp?

Danke im Voraus.

Noch etwas.
Irgendwie hat das device vom Typ IPCAM kein Log-File.
Wie kriege ich das nachträglich aktiviert?


Raspberry PI / RaZberry ZWAVE Modul / RFXTRX433E / 13 Fibaro FGS-222-EN-A-v1.00 / 17 VISION ZD2102-5 / 10 Somfy RTS / 4 Greenwave GWRENS310-F / Gardena Sileno City / 3 Gardena Gartensteckdosen / 2 devolo Home Control Funkschalter / 8 FIBARO System FGSD002 Smoke Sensoren

MadMax-FHEM

Zitat von: Spook112 am 10 September 2020, 10:18:08
Noch etwas.
Irgendwie hat das device vom Typ IPCAM kein Log-File.
Wie kriege ich das nachträglich aktiviert?

https://wiki.fhem.de/wiki/FileLog

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Spook112

Danke für den Hinweis mit dem Logfile - hat geklappt.
Nur leider bekomme ich selbst mit verbose 5 nur minimalen Output.
2020-09-10_13:42:16 WebCam_Gartenhaus last: WebCam_Gartenhaus_snapshot.jpg
2020-09-10_13:42:16 WebCam_Gartenhaus snapshots: 1
2020-09-10_13:45:02 WebCam_Gartenhaus cmd 1
2020-09-10_13:52:54 WebCam_Gartenhaus raw CGIProxy.fcgi?cmd=snapPicture2&usr=tester&pwd=tester1
2020-09-10_13:57:05 WebCam_Gartenhaus cmd 1
2020-09-10_13:59:02 WebCam_Gartenhaus raw image
2020-09-10_13:59:40 WebCam_Gartenhaus raw get WebCam_Gartenhaus image
2020-09-10_14:12:16 WebCam_Gartenhaus last: WebCam_Gartenhaus_snapshot.jpg
2020-09-10_14:12:16 WebCam_Gartenhaus snapshots: 1

Damit kann ich keinerlei Fehler erkennen - obwohl weder der CGI Befehl noch der raw Befehl funktioniert haben.

Listing des Log-Devices:
Internals:
   CFGFN     
   DEF        ./log/WebCamLogfile.log WebCam_Gartenhaus
   FD         92
   FUUID      5f59e855-f33f-5fc3-572e-e9ad2476dbef1e56
   NAME       WebCamLogfile
   NOTIFYDEV  WebCam_Gartenhaus
   NR         45437
   NTFY_ORDER 50-WebCamLogfile
   REGEXP     WebCam_Gartenhaus
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/WebCamLogfile.log
   logfile    ./log/WebCamLogfile.log
   READINGS:
     2020-09-11 09:50:10   linesInTheFile  110
Attributes:
   addStateEvent 1
 

Das eigentliche Problem oder die primäre Frage waren allerdings:
Kann  mir jemand weiterhelfen, wie ich die CGI Befehle der Foscam in FHEM einbinden und nutzen kann ?

So wie ich es versucht habe mit den cmd Attributen - siehe unten - funktioniert es jedenfalls nicht :-(
Listing der Webcam:
Internals:
   AUTHORITY  192.168.178.9:88
   CFGFN     
   DEF        192.168.178.9:88
   FUUID      5f5801fb-f33f-5fc3-4447-c6c5077df6f0b32b
   NAME       WebCam_Gartenhaus
   NR         30883
   SEQ        0
   STATE      last: 2020-09-11 09:50:09
   TYPE       IPCAM
   READINGS:
     2020-09-11 09:50:10   last            WebCam_Gartenhaus_snapshot.jpg
     2020-09-11 09:50:09   snapshot1       WebCam_Gartenhaus_snapshot_1.jpg
     2020-09-11 09:50:10   snapshots       1
Attributes:
   alias      Webcam am Gartenhaus
   cmd01      CGIProxy.fcgi?usr=tester&pwd=tester1&cmd=snapPicture2
   cmd02      CGIProxy.fcgi?cmd=getSnapConfig&usr=tester&pwd=tester1
   cmd03      CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=tester&pwd=tester1
   cmd15      CGIProxy.fcgi?cmd=snapPicture2&usr=tester&pwd=tester1
   icon       it_camera
   path       CGIProxy.fcgi?cmd=snapPicture2&usr=tester&pwd=tester1
   pathCmd    CGIProxy.fcgi?usr=tester&pwd=tester1
   pathPanTilt CGIProxy.fcgi?usr=tester&pwd=tester1
   room       Garten
   storage    /opt/fhem/www/snapshots
   verbose    5


Bin für jeden Tipp dankbar.
Raspberry PI / RaZberry ZWAVE Modul / RFXTRX433E / 13 Fibaro FGS-222-EN-A-v1.00 / 17 VISION ZD2102-5 / 10 Somfy RTS / 4 Greenwave GWRENS310-F / Gardena Sileno City / 3 Gardena Gartensteckdosen / 2 devolo Home Control Funkschalter / 8 FIBARO System FGSD002 Smoke Sensoren

mrfloppy

Hallo
Ich habe seit einigen Tagen ein Problem mit einer Hikvision Kamera.

defmod HikVisionEingang IPCAM xx.xx.xx.xx
attr HikVisionEingang basicauth XXX:XXX
attr HikVisionEingang icon it_camera
attr HikVisionEingang path /ISAPI/Streaming/channels/1/picture
attr HikVisionEingang room IpCams
attr HikVisionEingang storage www/snapshots/HikVisionEingang


Wenn ich auf den Button "get Hikvision image" drücke bekomme ich ein Jpeg in meinen Ordner gespeichert.
Dies kann ich auch in kurzen Abständen hintereinander machen ohne Probleme.

Ich habe aber ein Doif laufen und wenn es dort aufgerufen wird dann bekomme ich fast immer ein .svg mit dem Hinweis "Device Busy".
Und somit auch immer ein altes Bild.

([TUERGLOCKE:"^4.PRESS_SHORT: "] or [TUERGLOCKE:"^4.PRESS_LONG: "]) (get HikVisionEingang image) (set pushover msg "Es hat geläutet" sound=tugboat priority=0) (set NVR_SA_4 on-for-timer 40) (set NVR_SA_1 on-for-timer 2) (set pushover msg "Wer steht da vor der Tür?" sound=none priority=0 attachment="www/snapshots/HikVisionEingang/HikVisionEingang_snapshot.jpg")

Eine Idee wo da der Unterschied ist?

LG Thomas
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

MadMax-FHEM

#294
Hast du erst jetzt, also seit ein paar Tagen, Probleme mit dem DOIF (also ging das schon mal) oder nur "seit dem DOIF" Probleme mit/über DOIF?
(also DOIF ging noch nie, manuell schon)

Wenn nur/erst das DOIF nicht geht: evtl. ist das Bild bei "get Picture" halt noch nicht (fertig) im Ordner.
Weil beim DOIF erfolgt ja "get Picture" und "send Picture" sofort hintereinander (oder quasi gleichzeitig).

Oder hast du wait eingebaut, dann wäre es toll gewesen mehr vom DOIF zu zeigen...

Was passiert, wenn du "get Picture" und "send Picture" direkt "zusammen" (also wie im DOIF) in Fhem-Web eingibst (also "auf einen Rutsch" NICHT hintereinander "eintippen/eingeben")...

Oder einfach mal beim DOIF mit wait das Senden verzögern...

Evtl. wird auch das DOIF zu oft hintereinander getriggert? Das DOIF reagiert ja auf sehr viel per ODER...
Mal im Eventmonitor geschaut was/wieviel da an "passenden" Events kommen, wenn du den "Knopf drückst"?
Weil wie geschrieben: eine autom. Programmierung ist halt deutlich schneller als du jemals tippen/drücken kannst (selbst drücken durch dich per Weboberfläche ist deutlich langsamer als wenn 3,4,5 Events quasi "gleichzeitig" kommen)...

Wenn das DOIF "plötzlich" nicht mehr tut (bislang aber ging): keine Ahnung bzw. wurde etwas verändert? fhem-Update? OS-Update, FW-Update Kamera, ...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

weini

Dein DOIF sieht komisch aus: Wenn du mehrere FHEM Befehle ausführen willst, dann werden die normalerweise in einem Klapperpaar durch Koammas getrennt.
Sollte also so aussehen: (befehl1, befehl2, befehl3)

mrfloppy

#296
defmod di_Klingel DOIF ([TUERGLOCKE:"^4.PRESS_SHORT: "] or [TUERGLOCKE:"^4.PRESS_LONG: "]) (get HikVisionEingang image) (set pushover msg "Es hat geläutet"  sound=tugboat priority=0) (set NVR_SA_4 on-for-timer 40) (set NVR_SA_1 on-for-timer 2) (set pushover msg "Wer steht da vor der Tür?" sound=none priority=0 attachment="www/snapshots/HikVisionEingang/HikVisionEingang_snapshot.jpg")
attr di_Klingel do always
attr di_Klingel icon helper_doif
attr di_Klingel room DOIFs
attr di_Klingel wait 0,0,0,0,3


das DOIF hat bis vor einer Woche so funktioniert

EDIT:
Camera hatte ein Update ja stimmt.

Aber was mit komisch vorkommt wieso geht es so direkt im DEvice mit get...  eigentlich immer, nur im Doif nicht.
Wo ist da der Unterscheid vom aufruf?


EDIT 2:
Habe jetzt nochmal das wait for dem senden des JPEG erhöht und jetzt dürfte es gehen.
Somit dürfte sich das svg mit "Device Busy" auf den Storage bezogen haben und nicht auf die IP-Kamera.


DANke ung LG

 
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

marwal

Zitat von: Spook112 am 11 September 2020, 10:06:08

Das eigentliche Problem oder die primäre Frage waren allerdings:
Kann  mir jemand weiterhelfen, wie ich die CGI Befehle der Foscam in FHEM einbinden und nutzen kann ?

So wie ich es versucht habe mit den cmd Attributen - siehe unten - funktioniert es jedenfalls nicht :-(
Listing der Webcam:
Internals:
   AUTHORITY  192.168.178.9:88
   CFGFN     
   DEF        192.168.178.9:88
   FUUID      5f5801fb-f33f-5fc3-4447-c6c5077df6f0b32b
   NAME       WebCam_Gartenhaus
   NR         30883
   SEQ        0
   STATE      last: 2020-09-11 09:50:09
   TYPE       IPCAM
   READINGS:
     2020-09-11 09:50:10   last            WebCam_Gartenhaus_snapshot.jpg
     2020-09-11 09:50:09   snapshot1       WebCam_Gartenhaus_snapshot_1.jpg
     2020-09-11 09:50:10   snapshots       1
Attributes:
   alias      Webcam am Gartenhaus
   cmd01      CGIProxy.fcgi?usr=tester&pwd=tester1&cmd=snapPicture2
   cmd02      CGIProxy.fcgi?cmd=getSnapConfig&usr=tester&pwd=tester1
   cmd03      CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=tester&pwd=tester1
   cmd15      CGIProxy.fcgi?cmd=snapPicture2&usr=tester&pwd=tester1
   icon       it_camera
   path       CGIProxy.fcgi?cmd=snapPicture2&usr=tester&pwd=tester1
   pathCmd    CGIProxy.fcgi?usr=tester&pwd=tester1
   pathPanTilt CGIProxy.fcgi?usr=tester&pwd=tester1
   room       Garten
   storage    /opt/fhem/www/snapshots
   verbose    5


Bin für jeden Tipp dankbar.

Bei mir klappt das Aus-(cmd01) bzw Einschalten(cmd02) der Motion Detection und das setzen sämtlicher von mir benötigten Flags bei einer Foscam G2EP wie folgt:

Attributes:
   path       cgi-bin/CGIProxy.fcgi?usr=tester&pwd=tester1&cmd=snapPicture2
   pathCmd    cgi-bin/CGIProxy.fcgi
   pathPanTilt cgi-bin/CGIProxy.fcgi?usr=tester&pwd=tester1
   cmd01      cmd=setMotionDetectConfig&isEnable=0&usr=tester&pwd=tester1
   cmd02      cmd=setMotionDetectConfig&isEnable=1&linkage=15&snapInterval=2&triggerInterval=6&isMovAlarmEnable=1&isPirAlarmEnable=1&schedule0=281474976710655&schedule1=281474976710655&schedule2=281474976710655&schedule3=281474976710655&schedule4=281474976710655&schedule5=281474976710655&schedule6=281474976710655&x1=0&y1=0&width1=300&height1=300&sensitivity1=1&valid1=1&x2=1220&y2=234&width2=1000&height2=2000&sensitivity2=2&valid2=1&x3=0&y3=3456&width3=9000&height3=2340&sensitivity3=3&valid3=0&x4=0&y4=0&width4=9000&height4=9000&sensitivity4=3&valid4=0&area0=1023&area1=1023&area2=1023&area3=1023&area4=1023&area5=1023&area6=1023&area7=1023&area7=1023&area8=1023&area9=1023&usr=tester&pwd=tester1


LG - Martin

Heatseeker

#298
Moin,
ich versuche gerade meine Lupus203 zum laufen zu kriegen.


define Cam_Carport IPCAM 192.168.101.XXX
attr Cam_Carport basicauth XXX:XXX
attr Cam_Carport delay 0
attr Cam_Carport group Kamera
attr Cam_Carport icon it_camera
attr Cam_Carport path /cgi-bin/snapshot.cgi?
attr Cam_Carport room Aussen
attr Cam_Carport snapshots 1
attr Cam_Carport storage /opt/fhem/www/snapshots/cam_carport


kommt aber nix.
Per:
http://XXX:XXX@192.168.101.XXX/cgi-bin/snapshot.cgi?

bekomme ich aber einen snapshot. Wodran kann es liegen???

Ah! Ich bekomme übrigens ein:
IPCAM Cam_Carport Wrong or not supported image format: unknown
im log...

Grüße
Heatseeker

Heatseeker

Es ist wie immer,

kurz nachdem man hier geschrieben hat, findet man die Lösung:

bei mir war es das
attr Cam_Carport path /cgi-bin/snapshot.cgi?

da war der führende / zuviel als:
attr Cam_Carport path cgi-bin/snapshot.cgi?

Grüße
Heatseeker