Autor Thema: Modul IPCAM überarbeitet  (Gelesen 35628 mal)

Offline Shadow3561

  • Full Member
  • ***
  • Beiträge: 189
Antw:Modul IPCAM überarbeitet
« Antwort #120 am: 15 Oktober 2016, 17:20:14 »
Danke.
Ich werde mich gleich mal ransetzen und es über die Woche ausprobieren.

Mit freundlichen Grüßen
« Letzte Änderung: 15 Oktober 2016, 19:37:27 von Shadow3561 »

Offline Shadow3561

  • Full Member
  • ***
  • Beiträge: 189
Antw:Modul IPCAM überarbeitet
« Antwort #121 am: 15 Oktober 2016, 18:34:47 »
Hallo Jojo11,

Muss ich noch Ergänzungen machen?
Habe das Script in die 99_myUtils eingefügt und ein paar Bilder mit "get Ipcam Image" gemacht, es werden jedoch keine Bilder gespeichert im angegebenen Pfad.

Ich habe es mit dem "Timestamp" Attribut versucht und ohne.

Internals:
   AUTHORITY  192.168.1.38
   DEF        192.168.1.38
   NAME       CamAuffahrt
   NR         35
   SEQ        0
   STATE      letztes Bild: 2016-10-15 18:49:11
   TYPE       IPCAM
   Helper:
     Dblog:
       Last:
         Logdb:
           TIME       1476550153.25252
           VALUE      CamAuffahrt_snapshot.jpg
       Snapshots:
         Logdb:
           TIME       1476550153.25252
           VALUE      1
   Readings:
     2016-10-15 18:49:13   last            CamAuffahrt_snapshot.jpg
     2016-10-15 18:49:11   snapshot1       CamAuffahrt_snapshot_1.jpg
     2016-10-15 18:49:13   snapshots       1
Attributes:
   basicauth  admin:*******
   delay      0
   group      Kamera
   icon       it_camera
   path       Streaming/channels/201/picture
   room       Cams
   storage    ./www/snapshots/CamAuffahrt
« Letzte Änderung: 30 April 2017, 12:57:50 von Shadow3561 »

Offline Jojo11

  • Sr. Member
  • ****
  • Beiträge: 956
Antw:Modul IPCAM überarbeitet
« Antwort #122 am: 15 Oktober 2016, 19:46:53 »
Hallo,

vor Allem musst Du es mal aufrufen, sonst kann es ja nichts machen  :o
Testen z.B., indem Du es mit
{GetLastPics("CamAuffahrt", 1)}
aufrufst.
IPCAM gibt mir die letzten Bilder als Readings "snapshot1", "snapshot2", "snapshot3", ... aus. Die Werte sind dann "CAM01_20161015_192138.jpg", ... (s. Anhang).
Ggf. musst Du das bei Dir anpassen. Meine Version von IPCAM ist etwas älter - falls da in letzter Zeit was geändert wurde. Mir reichte die Anzahl der Kommandos nicht, weshalb ich es angepasst habe.
Aber als Starthilfe sollte es reichen  ;)

schöne Grüße
Jo

Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 901
Antw:Modul IPCAM überarbeitet
« Antwort #123 am: 29 Oktober 2016, 17:26:05 »
Hallo,

ich lasse meine Tür durch eine Mobotix S15 Kamera überwachen. Ich kann mir URL, sowohl den Live Stream aufrufen, als auch einfach nur ein gerade geschossenes Bild. Livestream ist erst mal nebensächlich.

Ich bekomme über den Browser mit folgender URL ganz normal ein Live Bild:

http://192.168.178.225/record/current.jpg

Meine Definition sieht nun wie folgt aus:

Internals:
   AUTHORITY  192.168.178.225
   CFGFN
   DEF        192.168.178.225
   NAME       mobotix
   NR         3985
   SEQ        0
   STATE      last: 2016-10-29 17:23:49
   TYPE       IPCAM
   Readings:
     2016-10-29 17:23:49   last            mobotix_snapshot.jpg
     2016-10-29 17:23:49   snapshot1       mobotix_snapshot_1.jpg
     2016-10-29 17:23:49   snapshots       1
Attributes:
   path       record/current.jpg
   room       Geräte
   storage    ./www/snapshots

Kann ich irgendwie kontrollieren, ob da auch ein Bild gemacht wurde und wie dieses Bild aussieht ?

Kann ich das irgendwie aufrufen oder mir irgendwie anzeigen lassen ?
Ich bin mir auch unsicher ob mein Path richtig ist ?

Also muss es heißen /record/current.jpg oder record/current.jpg

Grüße,
Visionsurfer




Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 901
Antw:Modul IPCAM überarbeitet
« Antwort #124 am: 29 Oktober 2016, 21:03:55 »
Hi,

ich habe es rausgefunden. Damit kann ich das Bild öffnen:

http://192.168.178.49:8086/fhem/www/snapshots/mobotix_snapshot.jpg

Ich hab dann noch mal mit dem GET Befehl ein neues Image angefordert und schon was das Bild aktuell. Scheint also zu funktionieren. Sehr gut. Vielen Dank.

Ich denke so kann ich erst mal weiter machen.

Grüße,
Visionsurfer

Offline cameli2

  • New Member
  • *
  • Beiträge: 7
Antw:Modul IPCAM überarbeitet
« Antwort #125 am: 17 Dezember 2016, 17:41:54 »
Hallo coh3r3nt,
ich habe ebenfalls die Edimax IC-3115W im Einsatz.

Dank Deines Hinweises auf die Seite https://www.ispyconnect.com/man.aspx?n=Edimax bin ich nicht nur auf die Lösung meines Problems (Bilder von der Cam generell einzulesen), sondern auch auf die Lösung Deines Wunsches gekommen.
Der Trick ist, die Account-Daten vor die IP-Adresse zu setzen, also
define IC3115W IPCAM [user]:[password]@192.168.xxx.yyyIn diesem Fall müssen für die Strings [user] und [password] die Account-Daten entsprechend ersetzt werden.

Das funktioniert auch, wenn man die Account-Daten über das separate Credencial-File (mittels attr credencials) einsetzt:
define IC3115W IPCAM {USERNAME}:{PASSWORD}@192.168.xxx.yyy
attrib IC3115W credencials /opt/fhem/ipcam.conf

In beiden Fällen braucht dann das Attribut basicauth nicht gesetzt werden.

Und das Wichtigste zum Schluss:
get IC3115W image
funktioniert auch. Zumindest bei mir...

Offline Grafkox

  • Jr. Member
  • **
  • Beiträge: 58
Antw:Modul IPCAM überarbeitet
« Antwort #126 am: 29 Dezember 2016, 18:10:20 »
Hallo zusammen,

ich implementiere gerade Überwachungskameras in FHEM und möchte mit FHEM auch die Bewegungserkennung ein- und ausschalten.

Anhand des Howto´s von pitman habe ich es geschafft, die Bewegungserkennung meiner Hikvision-Kameras mittels CURL-Aufruf aus der FHEM-Befehlszeile zu aktivieren/deaktivieren.

Leider funktioniert die nachfolgenden Befehl mit cmd01 und cmd02 allerdings nicht:

cmd01:{ qx(curl -T Motion_Detection_an.xml http://user:pwd\@IP/ISAPI/Smart/fielddetection) }
cmd02:{ qx(curl -T Motion_Detection_aus.xml http://user:pwd\@IP/ISAPI/Smart/fielddetection) }   
Hat jemand eine Idee wie man die Befehle im IPCAM-Modul verwenden kann?

Vielen Dank und viele Grüße

Thorsten
Raspberry Pi 3 mit Fhem 5.8, Tablet UI 2.6, SIGNALduino, Somfy RTS, Fritzbox 7490, IT-Steckdosen, Hikvision Kameras

Offline Patrik.S

  • Jr. Member
  • **
  • Beiträge: 55
Antw:Modul IPCAM überarbeitet
« Antwort #127 am: 10 Januar 2017, 22:36:07 »
Meine alten Smartphones werden mit der "IP Webcam" App zu Überwachungszwecken weiter benutzt.

Nicht immer, aber dann doch irgendwann bekomme ich diesen bekannten Fehler im Logfile
IPCAM MyIPCam Wrong or not supported image format: error while reading source image:
Bei mir hat dann immer ein kompletter Raspi System reboot geholfen.
Das kann's aber auch nicht im entscheidenen Augenblick sein

Die simple Lösung ist bei mir: Der Default Timeout Wert ist einfach zu klein. Fhem als Client wartet einfach zu kurz, während die Webcam noch gar nicht fertig ist, das Bild zu liefern.


Auf die Lösung bin ich über den Post "IPCAM mit Axis Kamera liefert Wrong or not supported image format" https://forum.fhem.de/index.php/topic,55584.msg471865.html#msg471865 gekommen.

Da wird die Zeile erwähnt, wo mit dem GetFileFromURLQuiet() Aufruf im Modul 49_IPCAM das Bild geholt wird.
Und die zusätzliche Logausgabe von Log 1, "IPCAM $name Snapshot: $snapshot"; war immer leer, anstatt des Bildes

Das Fhem Wiki gibt Auskunft, das man noch optionale Parameter setzen kann.
https://wiki.fhem.de/wiki/HttpUtils#GetFileFromURLQuiet

Nachdem ich nun folgendes nutze, bekomme ich immer zuverlässig ein Bild$snapshot = GetFileFromURLQuiet($camURI, 10, "", 1, 5);
Der Negativ Gegentest mit 1 Sek Timeout zeigt dann wiederum wie erwartet immer den Fehler
$snapshot = GetFileFromURLQuiet($camURI, 1, "", 1, 5);

Offline Andre0909

  • Jr. Member
  • **
  • Beiträge: 97
Antw:Modul IPCAM überarbeitet
« Antwort #128 am: 25 Januar 2017, 15:11:21 »
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

Hallo zusammen, hierzu benötige ich auch eure Hilfe. IPCAM zeichnet bei mir 2 Snapshots auf wenn es an der Tür klingelt. In FTUI kann ich mit Zeit und Datum des Klingelns anzeigen lassen, dazu würde ich gerne die 2 Snaps einblenden. Das soll z.B. für die letzten 5 Klingelaktionen also bei 10 Screens passieren. Leider lässt sich das mit IPCAM Readings nicht darsellen da nur die letzte SNAP-Aktion als Reading aufgezeichnet wird. Setze ich Timestamps habe ich zwar die Screens aber kann wegen unterschiedlicher Namen sie nicht fest einbinden.

Eigentlich hatten wir in einem anderen Thread eine Lösung mit einer SUB, welche die Dateinamen durchsuchte und dann per -F8 nur den Dateinamen ausgab. Die SUB wurde alle 5 min aufgerufen und die readings in ein dummy geschrieben. Das ging allerdings nicht mehr, weil, warum auch immer, bei manchen Snaps das Verzeihnis unter -f8 bei manchen unter -f7 auftauchte.

Ich denke oben verlinkte SUB könnte die Lsöung sein, da somit feste Daeinamen mit dem IMAGE-Widget aufgerufen werden. Mangels meiner PERL-KEntnisse raffe ich jedoch nicht, wie ich diese abändern und/oder richtig in Fhem dann einbinden kann. Meine Screens liegen in www/tablet/image/Kamera .... Bin über jede Hilfe dankbar! DANKE

Offline Andre0909

  • Jr. Member
  • **
  • Beiträge: 97
Antw:Modul IPCAM überarbeitet
« Antwort #129 am: 25 Januar 2017, 18:17:41 »
Habe jetzt die Funktion mit meinen Ordner angepasst.

Wenn ich Sie aufrufe {...("Draussen", 1)} bekomme ich im Log:

rm: das Entfernen von „./www/tablet/images/Kamera/last/Draussen_10.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_9.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_8.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_7.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_6.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_5.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_4.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_3.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_2.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: der Aufruf von stat für „./www/tablet/images/Kamera/last/Draussen_1.jpg“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: Verzeichnis „./www/tablet/images/Kamera/“ wurde ausgelassen

Irgendwie raff ich die Funktion der SUB wohl noch nicht

Offline Tueftler1983

  • Full Member
  • ***
  • Beiträge: 497
Antw:Modul IPCAM überarbeitet
« Antwort #130 am: 07 Februar 2017, 22:40:09 »
Hallo ich habe ein Problem
Wenn ich das
192.168.2.101:86/web/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=1

I'm Browser eingebe, Fährt die Kamera eine definierte Position an. Aber ich bekomme es nicht hin über dein Modul die Position anzufahren.

Kannst du mir sagen wie ich die Attribute setzen muss?
« Letzte Änderung: 07 Februar 2017, 22:46:31 von Tueftler1983 »

Offline weini

  • Full Member
  • ***
  • Beiträge: 222
Antw:Modul IPCAM überarbeitet
« Antwort #131 am: 08 März 2017, 23:19:36 »
Feature Request: Timestamp als {timestamp} Variable

Ich kämpfe gerade mit der neuen Webcam der AllianzArena:
Über folgende Website werden die Bilder im 10 Sekunden-Takt aktualisiert: https://allianz-arena.com/de/die-arena/webcams/esplanade
Das konkrete Bild gibt es über folgende URL: https://allianz-arena.com/static-content-upload/webcam/esplanade-webcam-image-01.jpg

Aber Achtung: Die Gemeinheit ist, dass sich das Bild unter der zweiten URL nach dem ersten Aufruf nicht aktualisiert wird. Es wird nur ein neues Bild gezogen, wenn die URL sich ändert. Erreicht wird das in der Website (erste URL), in dem via JS ein sich ändernder Suffix angehängt wird. Der JS Code hänngt hier ein Datum an, tatsächlich reicht es aber aus, wenn "irgendeine" neue URL generiert wird, also sinngemäß https://allianz-arena.com/static-content-upload/webcam/esplanade-webcam-image-01.jpg?_2017-03-08_08-23

Was mir hier unglaublich helfen würde wäre ein Platzhalter analog zu {USERNAME} und {PASSWORD}, der sich irgendwie ändert. Sinnvoll wäre hier ein {TIMESTAMP}, der Datum und Uhrzeit enthält, also etwas in der Art: {TIMESTAMP} => "2017-03-08_08-23"

Wäre das mit vertretbarem Aufwand realiserbar?

Viele Grüße,
weini

Offline weini

  • Full Member
  • ***
  • Beiträge: 222
Antw:Modul IPCAM überarbeitet
« Antwort #132 am: 18 März 2017, 17:37:32 »
So, ich habe mir jetzt mal selbst geholfen:

Anbei ein Patch für IPCAM. Es wird zusätzlich der Platzhalter {TIMESTAMP} eingeführt, der das aktuelle Datum im Format "YYYY-MM-TT_HH-MI-SS" zurückliefert. Die Ersetzung im Attribut "path" wird aktuell nur bei einem "GET IMAGE" durchgeführt.

Ich würde mich sehr freuen, wenn der Patch in die nächste Version wandert. Nützlich ist das nur für öffentliche Webcams, die beim Abruf der Bilder etwas "zickig" sind. Es schadet aber nichts und die Änderung im Modul ist minimal.

Offline wolfram

  • Jr. Member
  • **
  • Beiträge: 88
Antw:Modul IPCAM überarbeitet
« Antwort #133 am: 13 April 2017, 11:13:14 »
Hallo zusammen,

seit einiger Zeit setze ich das ipcam-modul erfolgreich ein. Beim Auslösen eines Kontaksensors verschicke ich ein Bild per Telegram. Das klappt alles wunderbar. Leider bekomme ich nicht immer das letzte aufgenommene Bild, sondern das vorletzte.
Meine Frage: wie bekomme ich es hin, dass immer da letzte Bild aus meinem Ordner "snapshots" versendet wird?

hier mein notify:

#Notify für Bildversand von Telegram
define testdoor notify Tuerstatus:on set cam pos 1;;get cam image;;set my_bot sendPhoto /opt/fhem/SonosSpeak/snapshots/cam_snapshot.jpg
attr testdoor room Notify

und hier meine Kameradefinition:

# IP CAM
define cam IPCAM 192.168.1.xx
attr cam basicauth meinusername:meinpasswort
attr cam cmdPanLeft command=4
attr cam cmdPanRight command=6
attr cam cmdPos01 command=31
attr cam cmdPos02 command=33
attr cam cmdPos03 command=35
attr cam cmdPos04 command=37
attr cam cmdStep onstep
attr cam cmdTiltDown command=2
attr cam cmdTiltUp command=0
attr cam delay 5
attr cam genericDeviceType security
attr cam icon it_camera
attr cam path snapshot.cgi?user=meinusername&pwd=meinpasswort
attr cam pathPanTilt decoder_control.cgi?
attr cam room Homekit,Wohnzimmer
attr cam snapshots 2
attr cam storage /opt/fhem/SonosSpeak/snapshots
attr cam timestamp 0

vielleicht kann mir jemand weiterhelfen - das wäre ein tolles Ostergeschenk.

Danke ,
wolf
FHEM auf Raspi
VU+ Ultimo mit VTI Image - DVB-C 3x
Marantz NR1504 Receiver
Minimac 2011 mit Itunes

Offline Tueftler1983

  • Full Member
  • ***
  • Beiträge: 497
Antw:Modul IPCAM überarbeitet
« Antwort #134 am: 13 April 2017, 11:40:25 »
Ich mache es mit DOIF und warte 2 sek von dem Moment wo das Bild gemacht wird zu dem Zeitpunkt an dem ich es sende

 

decade-submarginal