Modul IPCAM überarbeitet

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

Vorheriges Thema - Nächstes Thema

franky08

#105
Ich geb es auf  :(
Habe jetzt etliche Möglichkeiten durchgespielt, die Foscam lässt sich nicht dazu überreden sich zu bewegen. Snapshot's funktionieren ohne Probleme nur decoder_control.cgi? bekomme ich nicht hin.

Die cgi Befehle habe ich von hier: http://www.foscam.es/descarga/ipcam_cgi_sdk.pdf

VG
Frank
   
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Maista

Hallo Frank.

Ich habe das bei meiner Ipc10 so eingetragen


decoder_control.cgi?user={USERNAME}&pwd={PASSWORD}


Das Password und Username werden aus einer Datei gelesen.
In deinem List führst du den Befehl ohne diese Angaben aus?!

Habe das einmal eingerichtet seit dem nichts mehr verändert.

Viel Glück

Gerd

franky08

#107
Ich habe es mit basicauth (wie du es verwendest) und auch mit usr,pwd probiert. Leider funktioniert beides nicht. Wenn ich basicauth einrichte funktioniert die snapshot funktion auch nicht mehr. Die Camera ist eine Foscam FI8918w, im Netz geistern auch wiedersprüchlich Angaben zu den cgi Befehlen rum, diese habe ich mittlerweile alle durch probiert.

P.S. User:Password sind da mit drin:
pathPanTilt decoder_control.cgi?usr=xxxxxxxx&pwd=xxxxxxxx

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

raspklaus

Ich habe jetzt auch mal 2 IPcams installiert.

Was mir dabei aufgefallen ist:

Mit einem get imagewerden zwei identische snapshots erzeugt

<webcamname>_snaphot.jpg
<webcamname>_snaphot_1.jpg


Warum ? Einer würde doch ausreichen.

heikoh81

Ich wollte meine IPCams einmal auf SSL-Verschlüsselung umstellen (hinter Apache Reverse Proxy, mit Let's Encrypt-Zertifikat).
Leider lädt IPCam kein Bild mehr, im Log steht nur:


2016.07.19 19:35:26 1: IPCAM Kamername Wrong or not supported image format: unknown


URL im Browser funktioniert, ohne SSL funktioniert es, somit muss es an SSL liegen.

Hat irgendjeman IPCAM mit SSL-geschützten Kameras am laufen?

Viele Grüße,
Heiko

andre07

Hallo

Möchte gern meine Hootoo  HT IP211 HDP ins modul mit einbinden um scapshots zu erzeugen
der Log gibt dieses aus
IPCAM hootoocam URI: http://192.168.178.49:1024/cgi-bin/hi3510/param.cgi?cmd=snap&
2016.07.25 20:18:43 1: IPCAM hootoocam Snapshot: "
2016.07.25 20:18:43 1: IPCAM hootoocam Wrong or not supported image format: unknown
2016.07.25 20:19:18 1: IPCAM hootoocam URI: http://192.168.178.49:1024/cgi-bin/hi3510/param.cgi?cmd=snap&
2016.07.25 20:19:18 1: IPCAM hootoocam Snapshot:  var path="/tmpfs/snap_tmpfs/20160725/IMG001/IMG_chn0_TIMER_MNG_20160725201917_006.jpg"
2016.07.25 20:19:18 1: IPCAM hootoocam Wrong or not supported image format: unknown


Modul um debug erweitert hier im Thread erklärt

http://192.168.178.49:1024/cgi-bin/hi3510/param.cgi?cmd=snap&; erzeugt ein bild
list hootoocam
Internals:
   AUTHORITY  192.168.178.49:1024
   DEF        192.168.178.49:1024
   NAME       hootoocam
   NR         675
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   Readings:
     2016-07-22 14:52:41   snapshots       0
Attributes:
   event-on-change-reading snapshots
   icon       it_camera
   path       cgi-bin/hi3510/param.cgi?cmd=snap&
   room       Status
   snapshots  2
   storage    /opt/fhem/FHEM
   timestamp  1
   verbose    5


Wahrscheinlich  "var path="/tmpfs/snap_tmpfs/20160725/IMG001/IMG_chn0_TIMER_MNG_20160725201917_006.jpg"  " nicht lesbar für IPCAM
aber wie kann man das richtig formatieren?
Andre

micky0867

Sieht nach Linux/Unix aus.

Was kommt denn raus, wenn du dich auf der Shell anmeldest und

ls -la /tmpfs/snap_tmpfs/20160725/IMG001/IMG_chn0_TIMER_MNG_20160725201917_006.jpg
machst, bzw.
file /tmpfs/snap_tmpfs/20160725/IMG001/IMG_chn0_TIMER_MNG_20160725201917_006.jpg

andre07

Habs zwischenzeitlich hinbekommen Ipcam läuft jetzt mit
meiner hootoo

jmike

Zitat von: heikoh81 am 19 Juli 2016, 19:41:24
URL im Browser funktioniert, ohne SSL funktioniert es, somit muss es an SSL liegen.

Hat irgendjeman IPCAM mit SSL-geschützten Kameras am laufen?

Viele Grüße,
Heiko

Hallo Heiko.
Ich habe zwar keine SSL/IPCAM aber dreh mal dein verbose (Device & global wenn du Sicher gehen willst) auf 4.
Das Modul IPCAM nutzt unter der Haube HttpUtils::CustomGetFileFromURL welches ab "verbose level 4" Fehlermeldungen ins Log schreiben sollte.

Möglicherweise bräuchtest du das SSL Argument "SSL_verify_mode => 0", weil der code sonst lets encrypt als CA abweist. Ist aber nur Spekulation, erst das Log anschauen.


Shadow3561

Hallo,
Ist es auch möglich mehrere Bilder speichern zu lassen?

Ich nutze das Modul um ein Bild zu speichern wenn jemand klingelt.
Wenn jedoch mehrere Leute über den Tag verteilt klingeln, wird das erste Bild überschrieben und ich sehen immer nur das letzte Event(Person die klingelt)

Kann man das Modul evtl so erweitern, dass nach jedem Event(get Image) eine neue Datei angelegt wird und nach einer definierten Anzahl wieder das erste Bild überschrieben wird?

Ich stelle mir das so vor:

1. mal klingeln > speichere Bild 1
2. mal klingeln > speichere Bild 2
...
...
5. mal klingeln > speichere Bild 1

MfG

Brockmann

Zitat von: Shadow3561 am 15 Oktober 2016, 10:44:15
Ist es auch möglich mehrere Bilder speichern zu lassen?
Wenn Du das Attribut timestamp auf 1 setzt, werden die Dateien mit einem Timestamp anstelle einer Nummer versehen und dadurch auch nicht mehr überschrieben.
Um das Löschen alter Bilder musst Du Dich dann allerdings selbst kümmern. Eine Lösung wie Du Sie Dir vorstellst, dass IPCAM automatisch immer die letzten x Aufnahmen aufbewahrt, ist in dieser Form nicht vorgesehen. Aber man könnte ja beispielsweise mit einem Skript täglich oder wöchentlich alle Bilder älter als x Tage löschen lassen.

Shadow3561

Das mit dem täglichen löschen der Aufnahmen stellt kein Problem dar.
Aber wie überrede ich tabletUi immer nur die letzen 5 Aufnahmen anzeigen zu lassen?


Mit freundlichen Grüßen

Jojo11

Indem Du immer die letzte Aufnahme weg kopierst und mit einer Nummer versiehst. Gleichzeitig benennst Du die älteren Aufnahmen entsprechend um. 10, 9, 8...
Kannst Du als sh Skript auslagern.

schöne Grüße
Jo


Shadow3561

Hast du evtl eine Starthilfe für mich?
Bin nicht so der Linux Profi.

Mit freundlichen Grüßen

Jojo11

Hallo,

Du kannst diese sub in die 99_myUtils.pm kopieren:


sub GetLastPics($$)
{
my ($cam,$shot) = @_;
my $cmd="";
my $old="";
my $new="";
my $j=0;
my $path='./www/snapshots/';
my $pic=$path.ReadingsVal($cam,'snapshot'.$shot,'');
$cmd=chr(34).'rm '.$path.'last/'.$cam.'_10.jpg'.chr(34);
fhem("$cmd");
for(my $i=9;$i>0;$i--) {
  $j=$i+1;
  $old=$path.'last/'.$cam.'_'.$i.'.jpg';
  $new=$path.'last/'.$cam.'_'.$j.'.jpg';
  $cmd=chr(34).'cp '.$old.' '.$new.chr(34);
  fhem("$cmd");
}
$cmd=chr(34).'cp '.$pic.' '.$path.'last/'.$cam.'_1.jpg'.chr(34);
fhem("$cmd");
}


Diese Funktion kopiert neue Bilder in einen Ordner und benennt sie um in CAMxy_1, CAMxy_2 usw.
Da nicht immer das erste der geschossenen Bilder das "Gute" ist, kann man mit $shot auch das zweite usw. wählen (=2).
Die Bilder werden dann immer umbenannt, sobald ein neues dazu kommt. In FTUI musst Du dann nur die 10 (oder entsprechend weniger) Bilder anzeigen.
Nicht wirklich hübsch, aber funktional  ::)

schöne Grüße
Jo