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

Offline holzwurm83

  • Sr. Member
  • ****
  • Beiträge: 577
Antw:Edimax IC-3115W
« Antwort #165 am: 06 April 2018, 09:47:20 »
Du müsstest einen Link finden, unter dem Du jeweils ein Einzelbild Deiner Kamera abrufen kannst.

OK, danke dir schon mal! Wenn ich manuell ein Einzelbild auf der Kamera erstelle finde ich es unter diesem Link.

http://192.168.***.***/storage/IPCamera_Manual/2018_04_06/snapshot-001/2018-04-06-09-28-16-Snapshot.jpg
Allerdings ist mir nicht ganz klar wie, oder was ich davon einfügen soll, da die Bilder auch immer in einem Ordner mit dem jeweiligen Datum des Tages abgelegt werden.
- 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

Offline misux

  • Full Member
  • ***
  • Beiträge: 430
Antw:Modul IPCAM überarbeitet
« Antwort #166 am: 09 April 2018, 13:03:36 »
HI!

Ich habe meine DAHUA IPC-HDW4431C-A erfolgreich eingebunden. Leider bekomme ich hin und wieder keine Bilder zugesendet bzw es werde keine gemacht. Aber nicht immer! Dann bekomme ich im Log einen Error:

2018.04.09 12:33:31.161 1: IPCAM CAMHof Wrong or not supported image format: error while reading source image:

aber wie gesagt nicht immer... Hat jeman dine Idee woran es liegen könnte?

HIer ein List der Cam:

Internals:
   AUTHORITY  192.168.xxx.xxx
   DEF        192.168.xxx.xxx
   NAME       CAMHof
   NR         134
   SEQ        0
   STATE      last: 2018-04-05 22:23:52
   TYPE       IPCAM
   READINGS:
     2018-04-05 22:23:52   last            CAMHof_snapshot.jpg
     2018-04-05 22:23:52   snapshot1       CAMHof_snapshot_1.jpg
     2018-04-05 22:23:52   snapshots       1
Attributes:
   basicauth  xxxxxxx:xxxxxxx
   delay      0
   path       cgi-bin/snapshot.cgi?chn=[0]
   room       CAMS
   snapshots  1
   storage    ./www/snapshots
   verbose    3

und hier ein Auszug vom Log:

[code]2018.04.09 07:07:47.059 3: CULHat2 IT: EingangsTuer closed->off
2018.04.09 07:07:47.099 3: CULHat2 IT: EingangsTuer closed->off
2018.04.09 07:07:47.139 3: CULHat2 IT: EingangsTuer closed->off
2018.04.09 09:31:52.146 1: RMDIR: ./restoreDir/save/2018-04-06
2018.04.09 09:51:29.794 2: CULHat2: CUL_TCM97001 Unknown device CUL_TCM97001_0, please define it
2018.04.09 12:32:05.394 1: IPCAM CAMHof Wrong or not supported image format: error while reading source image:
2018.04.09 12:33:08.596 3: CULHat2 IT: EingangsTuer closed->on
2018.04.09 12:33:08.637 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:08.733 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:08.739 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:08.753 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:08.794 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:08.834 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:09.196 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:09.276 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:09.600 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:09.641 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:09.680 3: CULHat2 IT: EingangsTuer open->on
2018.04.09 12:33:26.008 2: DOIFKlingel: off eq "on" and absent eq "absent": Unknown command off, try help.
2018.04.09 12:33:31.161 1: IPCAM CAMHof Wrong or not supported image format: error while reading source image:
2018.04.09 12:33:31.170 3: CULHat2 IT: EingangsTuer open->off
2018.04.09 12:33:31.195 3: CULHat2 IT: EingangsTuer closed->off
2018.04.09 12:33:31.208 3: CULHat2 IT: EingangsTuer closed->off
2018.04.09 12:33:31.220 3: CULHat2 IT: EingangsTuer closed->off
2018.04.09 12:33:35.692 3: CULHat2 IT: EingangsTuer closed->on
2018.04.09 12:33:38.498 3: CULHat2 IT: EingangsTuer open->off
[/code]

Offline misux

  • Full Member
  • ***
  • Beiträge: 430
Antw:Modul IPCAM überarbeitet
« Antwort #167 am: 10 April 2018, 18:18:30 »
Was noch sehr komisch ist, das das Modul immer 2 Bilder macht! egal ob ich attr snapshots 1 mache oder nicht eingebe... der Name lautet dann genauso wie das eine Bild nur mit _1.jpg

Kann man das irgendwie abstellen? Er soll nur ien Bild machen...

Offline Brockmann

  • Sr. Member
  • ****
  • Beiträge: 900
Antw:Modul IPCAM überarbeitet
« Antwort #168 am: 11 April 2018, 08:14:48 »
Was noch sehr komisch ist, das das Modul immer 2 Bilder macht! egal ob ich attr snapshots 1 mache oder nicht eingebe... der Name lautet dann genauso wie das eine Bild nur mit _1.jpg
Kann man das irgendwie abstellen? Er soll nur ien Bild machen...
Das letzte Bild wird immer nochmal zusätzlich ohne Nummer gespeichert, damit man immer einen festen Pfad zur letzten Aufnahme hat. Das macht es einfacher, wenn man beispielsweise ein Bild per Messenger oder E-Mail verschicken möchte. Abschalten kann man das m.W.n. nicht, aber es stört doch auch nicht wirklich, oder?

Du könntest auf Timestamp statt Index in den Dateinamen umstellen, dann wird das nicht mehr gemacht. Allerdings werden alte Aufnahmen dann nicht überschrieben und Du musst Dich selbst darum kümmern, dass die ganzen Aufnahmen regelmäßig gelöscht werden.

Offline misux

  • Full Member
  • ***
  • Beiträge: 430
Antw:Modul IPCAM überarbeitet
« Antwort #169 am: 11 April 2018, 12:15:24 »
Hmm... Meine Vermutung ist das WENN Fhem das Bild Senden möchte ABER es noch nicht komplett gespeichert wurde WEIL er ja unbedingt 2 davon machen muss und jedes ca 300 bis 500KB hat,  er diesen Error macht weil es nunmal noch nicht komplett gespriechert ist.

Könnte man das erstellen den zweiten Bilden unterdrücken würde es vielleicht weniger bis gar nicht pasieren...

Könnte ich da richtig liegen oder eher nicht?

Das mit dem Timestamp ist eine Gute Idee... Man kann doch FHEM irgendwie beibringen das er bitte jeden Tag den Ordner (snapshots) checken soll und Dateien die älter sind als 1 Tag löschen soll... wäre sowas machbar?

Offline Brockmann

  • Sr. Member
  • ****
  • Beiträge: 900
Antw:Modul IPCAM überarbeitet
« Antwort #170 am: 12 April 2018, 08:28:13 »
Das mit dem Timestamp ist eine Gute Idee... Man kann doch FHEM irgendwie beibringen das er bitte jeden Tag den Ordner (snapshots) checken soll und Dateien die älter sind als 1 Tag löschen soll... wäre sowas machbar?
Ich habe dafür eine Funktion in 99_myUtils.pm, die täglich einmal ausgeführt wird. Müsstest Du Dir anpassen, insbesondere $purge_dir und das Reading am Schluss (oder weglassen).
### Löscht im angegebenen Ordner ($purge_dir) alle Dateien älter als übergebene Zahl Tage
### Aufruf: {purge_logpics 30}
### Schreibt die Anzahl der gelöschten Dateien in ein fest verdrahtetes Reading zurück

sub purge_logpics($) {
my $days = shift;
my $purge_dir = "/opt/fhem/log/pics";

# purge backups older than AGE in days
my @file_list;
my @find_dirs       = ($purge_dir);             # directories to search
my $now             = time();                   # get current time
my $seconds_per_day = 60*60*24;                 # seconds in a day
my $AGE             = $days*$seconds_per_day;   # age in seconds
my $filecnt = 0; # counter for deleted files
find ( sub {
  my $file = $File::Find::name;
  if ( -f $file ) {
    push (@file_list, $file);
  }
}, @find_dirs);

for my $file (@file_list) {
  my @stats = stat($file);
  if ($now-$stats[9] > $AGE) {
    unlink $file;
$filecnt = $filecnt +1;
  }
}
fhem("setreading DI_Systemwartung last_purge_logpics $filecnt");  # Anzahl der gelöschten Dateien in Reading schreiben
return 1;  # 1 als Returnwert, damit ein aufrufendes DOIF keinen "Fehler"" registriert
}


Offline misux

  • Full Member
  • ***
  • Beiträge: 430
Antw:Modul IPCAM überarbeitet
« Antwort #171 am: 15 April 2018, 17:07:03 »
HI!

Cool! Habe es dann mal angepasst.... Ich muss doch nix anderes als den Ordner anpassen oder? Wo wird denn angegeben wie alt die Dateien max werden dürfen?

Und dieser Code muss nur in die 99_myutils.pm und neustart, sonst nix?

### Löscht im angegebenen Ordner ($purge_dir) alle Dateien älter als übergebene Zahl Tage
### Aufruf: {purge_logpics 30}
### Schreibt die Anzahl der gelöschten Dateien in ein fest verdrahtetes Reading zurück

sub purge_logpics($) {
my $days = shift;
my $purge_dir = "/opt/fhem/www/snapshots";

# purge backups older than AGE in days
my @file_list;
my @find_dirs       = ($purge_dir);             # directories to search
my $now             = time();                   # get current time
my $seconds_per_day = 60*60*24;                 # seconds in a day
my $AGE             = $days*$seconds_per_day;   # age in seconds
my $filecnt = 0; # counter for deleted files
find ( sub {
  my $file = $File::Find::name;
  if ( -f $file ) {
    push (@file_list, $file);
  }
}, @find_dirs);

for my $file (@file_list) {
  my @stats = stat($file);
  if ($now-$stats[9] > $AGE) {
    unlink $file;
$filecnt = $filecnt +1;
  }
}
fhem("setreading DI_Systemwartung last_purge_logpics $filecnt");  # Anzahl der gelöschten Dateien in Reading schreiben
return 1;  # 1 als Returnwert, damit ein aufrufendes DOIF keinen "Fehler"" registriert
}


Offline Brockmann

  • Sr. Member
  • ****
  • Beiträge: 900
Antw:Modul IPCAM überarbeitet
« Antwort #172 am: 16 April 2018, 08:43:56 »
Cool! Habe es dann mal angepasst.... Ich muss doch nix anderes als den Ordner anpassen oder? Wo wird denn angegeben wie alt die Dateien max werden dürfen?

Und dieser Code muss nur in die 99_myutils.pm und neustart, sonst nix?
Das ist eine Perl-Funktion. Aufrufen kannst Du Sie mit {purge_logpics 30}, wobei die Zahl angibt, wieviele Tage Dateien maximal alt sein dürfen, um NICHT gelöscht zu werden. Mit {purge_logpics 30} werden also alle Dateien gelöscht, die älter als 30 Tage sind.
Damit das ganze läuft, brauchst Du noch ein AT oder DOIF o. ä., das diese Funktion einmal täglich (oder wöchentlich usw.) aufruft.
Im einfachsten Fall also
define DI_Systemwartung DOIF ([00:01])({purge_logpics 7;; 0})
(Das mit dem ;;0 ist nur, damit das DOIF keine Fehlermeldung ins Log schreibt.)
Außerdem muss Du die vorletzte Zeile (fhem("setreading DI_Systemwartung ...) entweder anpassen oder löschen. Die schreibt bei mir die Anzahl der gelöschte Dateien als Reading in das aufrufende DOIF. Ist aber nur Statistik und kann weggelassen werden.

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 1680
Antw:Modul IPCAM überarbeitet
« Antwort #173 am: 09 Mai 2018, 13:58:40 »
Gibt es auch die möglichkeit eine Video aufzeichnung zu starten ?
Ich möchte per Knopfdruck ( Dashbutton ) gerne PTZ drehen ( das geht ja einfach ) und eine Aufzeichnug starten. Das ganze beim 2. Klick wieder andere Position udn Aufzeichnung stoppen.
Ich denke Fotos sind möglich aber ein ganzes Video / Stream ?
Raspberry PI3 mit allem möglichen.

Offline HansChris

  • Newbie
  • Beiträge: 1
Antw:Modul IPCAM überarbeitet
« Antwort #174 am: 13 Mai 2018, 20:41:29 »
Hallo,
ich habe das Problem, dass die Snapshots meiner Instar 5905HD mit dem IPCAM Modul zwar problemlos erzeugt und abgelegt werden, aber die Bilder dann scheinbar defekt sind (s. Anhang).
Es gibt auch keinerlei Fehlermeldung seitens FHEM. Wenn ich den Snapshot Link im Browser öffne, erhalte ich das korrekte Bild der Kamera.
Hat jemand eine Ahnung woran das liegen könnte?
Beste Grüße
Hans

P.S. Auch wenn ich das Bild einer beliebigen öffentlichen Webcam über das Modul abrufe, zeigen sich die Bildfehler. Es scheint also kein Problem mit der Kamera, sondern mit dem Modul zu sein.
« Letzte Änderung: 23 Mai 2018, 08:29:14 von HansChris »

Offline howi42

  • Full Member
  • ***
  • Beiträge: 192
Antw:Modul IPCAM überarbeitet
« Antwort #175 am: 04 August 2018, 09:28:03 »
Die Fehlermeldung :

2018.04.09 12:32:05.394 1: IPCAM CAMHof Wrong or not supported image format: error while reading source image:

kommt bei mir immer dann, wenn die Rechte fehlen.

Kamera : dahua hdbw4431r-zs

Das Snapshot-Kommando


http://10.0.0.30/cgi-bin/snapshot.cgi?chn=[0]

funktioniert, will aber immer user/pass

Das hier aendert daran nichts :

http://user:pass@10.0.0.30/cgi-bin/snapshot.cgi?chn=[0]


Mein Fehler :
Mam muss sich halt die Referenz richtig durchlesen und basic auth und credentials korrekt setzen.

« Letzte Änderung: 04 August 2018, 12:19:07 von howi42 »

 

decade-submarginal