FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Martin Fischer am 01 Februar 2013, 20:30:37

Titel: Modul IPCAM überarbeitet
Beitrag von: Martin Fischer am 01 Februar 2013, 20:30:37
Hallo @all,

auf Anregung und einem Patch von marc habe ich das Modul IPCAM um eine HTTP Basic Authentication erweitert. Und weil ich gerade dabei war, habe ich dem Modul noch neue set-Funktionen spendiert.

Mit den neuen set-Funktionen kann nun eine Kamera auch gesteuert werden. Neben diversen pan/tilt Funktionen, können bis zu 15 vordefinierte Positionen angefahren werden. Darüber hinaus kann man sich bis zu 15 frei wählbare Kamerabefehle definieren und einfach abrufen. Und wem das noch nicht reicht, der kann auch "raw" Befehle an die Kamera senden.

Das überarbeitet Modul wird ab morgen via update verteilt. Wer es nicht abwarten kann, der kann es ab sofort aus dem SVN installieren. Weitere Informationen sind der commandref.html zu entnehmen.

Eine ausführliche Beschreibung der Funktionen habe ich auf meiner Homepage im Artikel FHEM Modul IPCAM überarbeitet (//www.fischer-net.de/hausautomation/fhem/62-fhem-modul-ipcam-ueberarbeitet.html) zusammen gefasst.

Viel Spaß damit...

Gruss Martin
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: ChrisW am 01 Februar 2013, 20:49:53
habs gerade schon auf deiner Seite gelesen ;)
Super genial vielen Dank für noch so ein tolles Modul.

Bin derzeit dabei den iSpy Server Pfad der Kamera in Fhem zu bringen mal schauen ob das klappt ;)

Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: Martin Fischer am 01 Februar 2013, 20:55:27
> Super genial vielen Dank für noch so ein tolles Modul.

büdde schön ;-)
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: marc2 am 01 Februar 2013, 21:19:01
Hallo Martin !

Super, dass Du das übernommen hast, vielen Dank !

Gruß, Marc
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: Martin Fischer am 01 Februar 2013, 21:23:37
> Super, dass Du das übernommen hast, vielen Dank !

gern. sofern sowas sinnvoll ist, warum sollte man es dann verweigern. ausserdem hattest du ja schon die paar zeilen mit dem patch für basicauth beigesteuert. fehlte nur noch die doku ;-)

gruss und viel spass damit...
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: Gerhard am 17 Februar 2013, 17:37:45
Hallo Martin,

deinen Modul IPCAM finde ich klasse, und konnte ohne weiteres implementieren (INSTAR 4009).
Da ich verschiedene Positionen anfahre würde ich gerne auch Zoom anwenden.
Wäre möglich bei Gelegenheit das Modul um folgendes:
attr ipcam cmdZoomIn command=95
attr ipcam cmdZoomOut command=94
zu erweitern?

Gruß Gerhard
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: erwin am 06 März 2013, 12:33:13
Hi Martin,

erstmal Danke für das IPCAM Modul
ich verwende es mit einer ZAVIO P5110 Pan/Tilt Webcam. Diese CAM gibts auch unter anderen Namen bei diversen Versendern (relativ) günstig.

Falls es noch jemand jemand brauchen kann, die Attributes für diese CAM:

basicauth {USERNAME}:{PASSWORD}
cmdPanLeft move=left&interval=150000
cmdPanRight move=right&interval=150000
cmdPos01 gotoserverpresetname=Aussen
cmdPosHome move=home
cmdTiltDown move=down&interval=150000
cmdTiltUp move=up&interval=150000
credentials ./credentials.cfg
path jpg/image.jpg
pathCmd cgi-bin/operator/ptzset?
pathPanTilt cgi-bin/operator/ptzset?
storage ./www/webcam
timestamp 1


l.g. erwin
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: Martin Fischer am 06 März 2013, 14:10:36
Hallo Erwin,

> ich verwende es mit einer ZAVIO P5110 Pan/Tilt Webcam. Diese CAM gibts auch
> unter anderen Namen bei diversen Versendern (relativ) günstig.
>
> Falls es noch jemand jemand brauchen kann, die Attributes für diese CAM:

Prima, danke! Vielleicht kann das ja der Eine oder Andere als Vorlage nutzen.

Gruß Martin
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: dougie am 20 April 2013, 10:06:00
Moin Martin,

ich hab leider grosse Probleme mit meiner Instar IN-3010
Besonders nach dem letzten Update des WebUI bekomme ich immer die Fehlermeldung im Log:


get CasaCam image


....



2013.04.20 09:42:23 1: IPCAM CasaCam Wrong or not supported image format: unknown
2013.04.20 09:42:49 1: IPCAM CasaCam Wrong or not supported image format: unknown
2013.04.20 09:43:21 1: IPCAM CasaCam Wrong or not supported image format: unknown



(siehe Anhang / see attachement)


Mit dem kommando in der Adresszeile meines Browsers bekomme ich ein Bild, und die das Kommando "get image" funktioniert MANCHMAL.

Was mache ich falsch?

VG
Ralf
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: docb am 03 Juni 2013, 21:24:35
Hallo zusammen, ich hätte da gerne mal wieder ein Problem...
habe meine IP-Cam (Instar 3010) "eingehängt" mit

define IPC_Benni IPCAM 10.15.30.110
attr IPC_Benni storage ./snapshots
attr IPC_Benni path snapshot.cgi?user=xxx&pwd=xxxx
attr IPC_Benni cmdTiltUp command=0
attr IPC_Benni cmdTiltDown command=2
attr IPC_Benni cmdPanLeft command=4
attr IPC_Benni cmdPanRight command=6
attr IPC_Benni cmdStep onstep

attr IPC_Benni room Kinderzimmer


Leider habe ich folgende Problemchen:
- Fhem macht mir keinen snapshot. Wenn ich das mit
get IPC_Benni image auslöse, sagt mir Fhem:
2013.06.03 21:11:00 1: IPCAM IPC_Benni Wrong or not supported image format: can't open source image: No such file or directory
Wenn ich im Browser direkt auf die 10.15.30.110/snapshot.cgi?user=xxx&pwd=xxxx gehe, bekomme ich aber sehr wohl ein Standbild angezeigt.

- Auch Pan/Tilt mag er mir nicht nehmen. Ich habe das wie auf fischer-net.de "eingerichtet", aber leider passiert nix bei den entsprechenden Befehlen. Nichtmal im Log finde ich etwas.

Was mache ich denn diesmal falsch?

Beste Grüße
Der Fragenonkel doc
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Vladi2010 am 25 Dezember 2013, 18:02:08
hallo,

hat von euch das Problem jemand gelöst ?

bekomme folgenden Eintrag in die Log:

IPCAM Cam1 Wrong or not supported image format: can't open source image: No such file or directory

Config ist:

define Cam1 IPCAM 192.168.3.10:81
attr Cam1 path /snapshot.cgi?user=xxxxx&pwd=xxxxx         ( mit  und ohne / am Anfang )
attr Cam1 storage ./www/snapshots


die Liveansicht funktioniert: )

define LiveCam1 weblink iframe http://192.168.3.10:81/snapshot.cgi?user=xxxxx&pwd=xxxxx
attr LiveCam1 htmlattr width="640" height="480" frameborder="0" marginheight="0"

Danke für Eure Hilfe

Andreas
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MBPower am 23 Januar 2014, 22:10:07
Jetzt habe ich mich durch jede Menge Seiten auf http://www.fischer-net.de geklickt, aber leider das Modul nicht gefunden.
Wo kann ich das IPCAM Modul herunterladen?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Steffen am 24 Januar 2014, 06:26:56
Hallo!

Hätte da auch mal eine kurze frage, bei http://192.168.178.158:80/snapshot.cgi?user=xxxxx&pwd=xxxxx bekomme ich immer nur ein standbild und kein Livebild
Ist das normal so? Ist das von Ip-cam unterschiedlich?

Mfg Steffen
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: fiedel am 24 Januar 2014, 07:54:39
Hi Steffen,

ja ist normal. "snapshot.cgi" sagt ja schon "Schnappschuss". Du musst die CGI- Befehle deiner Kamera besorgen (Hersteller / Webseite). Da steht dann auch drin, wie du das Livebild bekommst.

Gruß

Frank
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Rince am 24 Januar 2014, 08:14:00
@MBPower
Du hast das Modul. Gehört zur Grundausrüstung  8)

Ich empfehle, mal einen Blick in die Commandref zu werfen. Da steht alles wichtige drinnen.
Titel: IPCAM Wrong or not supported image format
Beitrag von: HolyMoly am 03 März 2014, 18:12:01
Hallo Leute,

versuche verzweifelt meine IPcam zum laufen zu bekommen und scheitere wie viele vor mir an dem Fehler

IPCAM Wrong or not supported image format

Habe mal alles mit debugstatements versehen und das loglevel hochgedreht,
es liegt offensichtlich daran dass  $snapshot = GetFileFromURLQuiet($camURI);
nix zurückliefert "empty answer received".
verflixte httpUtils mal wieder ;)

Falls der Fehler bei einem von euch auftritt schlage ich vor get von LWP::Simple zu verwenden:

$snapshot = get($camURI);

dann läuft alles wunderbar! Muss man ggf auf den Fritzboxen noch installieren...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: JoMe am 23 April 2014, 21:29:37
Hallo,

habe den gleichen Fehler..... :(.....

Nach dem Anpassen, wie oben beschrieben....stürzt FHEM beim Versuch einen Snapshot zumachen total ab....

Gibt es da schon ein Lösung....

Ach ja....wenn die den Link für die IPCAM direkt in den in Fierfox eingebe, bekomme ich das Bild.....

Gruß,

Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 27 April 2014, 08:31:02
Hallo Joachim,

ist LWP::Simple installiert?
Evtl per cpan nachinstallieren oder händisch auf den den Fritzboxen.

Ansonsten, was sagt das log?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: JoMe am 27 April 2014, 19:41:44
Hallo,

habe es gerade nochmal versucht.....jetzt gings....

LWP::Simple war installiert....

..ich befürchte, das ich beim 1.Versuch das "get" groß geschrieben hatte.. :(..

Vielen Dank,

gruß,

Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: noanda am 01 Dezember 2014, 23:33:07
Mal eine blöde Frage, wo genau muss ich "$snapshot = get($camURI)" integrieren ?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 02 Dezember 2014, 08:45:45
Im Modulcode, aber nur wenns Originalmodul wirklich nicht geht  ::)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: td am 08 Januar 2015, 11:34:57
Hallo,

stehe auf dem Schlauch:
Bei mir tritt das genannte Problem mit GetFileFromURLQuiet auf.
Per cpan LWP::Simple installiert.
Bei Aufruf von "get Kamera image" stürzt fhem ab: "Undefined subroutine &main::get called at /opt/fhem/FHEM/49_IPCAM.pm line 381."
Warum findet fhem "get" nicht? Kann oder muß ich den Aufruf näher qualifizieren?

Gruß
td
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: gerhardg am 09 Januar 2015, 14:18:13
aus dem Bauch raus würde ich mal vorschlagen du baust noch ein "use LWP::Simple;" ein.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: td am 11 Januar 2015, 17:51:01
Danke für den Hinweis. fhem stürzt nicht ab und findet "get", aber leider tritt weiterhin auf:
"IPCAM KameraEinfahrt Wrong or not supported image format: unknown"
Die Kamera ist eine FOSCAM 9805W.

Gruß
td
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 11 Juli 2015, 20:12:37
Gibts für das Problem inzwischen eine Lösung? Bei mir ist das selbe --> Foscam 9803P.

Komme einfach nicht weiter! :-(
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 13 Juli 2015, 08:18:57
... schlage ich vor get von LWP::Simple zu verwenden:

$snapshot = get($camURI);

dann läuft alles wunderbar! Muss man ggf auf den Fritzboxen noch installieren...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 11:26:14
Habe ich getan, und zwar folgendermaßen:

Zunächst mittels

cpan install LWP::Simple

die Installation auf dem RPi2 durchgeführt.

Dann habe ich

use LWP::Simple

im Code des IPCAM-Moduls oben eingefügt und dann weiter unten das

$snapshot = GetFileFromURLQuiet($camURI); durch ein "#" auskommentiert und dafür dann

$snapshot = get($camURI);

eingetragen!

Danach RPi2 neugestartet, aber das Ergebnis bleibt das gleiche!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 13 Juli 2015, 11:29:35
Logge mal $camURI und $snapshot ...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 11:33:44
Zitat von: HolyMoly am 13 Juli 2015, 11:29:35
Logge mal $camURI und $snapshot ...

Wie mache ich das?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 13 Juli 2015, 11:38:24
Log 1, "IPCAM $name URI: $camURI";
Log 1, "IPCAM $name Snapshot: $snapshot";

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 11:40:11
Zitat von: HolyMoly am 13 Juli 2015, 11:38:24
Log 1, "IPCAM $name URI: $camURI";
Log 1, "IPCAM $name Snapshot: $snapshot";

Prima, danke!!!!
Wenn du mir noch verrätst, wo ich das eintragen muss und wo ich dann den log davon finde sollte ich es hinbekommen! Von der Syntax her würde ich vermuten, es muss ins Modul rein? Ganz ans Ende? Und die Logeinträge finde ich dann im Fhem.log?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 13 Juli 2015, 11:43:14
direkt nach
$snapshot = get($camURI);
Wir wollen doch debuggen ob die url vom Bild richtig war und ob get was getan hat....
Logeinträge im Fhem.log
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 12:52:16
Zitat von: HolyMoly am 13 Juli 2015, 11:43:14
direkt nach
$snapshot = get($camURI);
Wir wollen doch debuggen ob die url vom Bild richtig war und ob get was getan hat....
Logeinträge im Fhem.log

Ok alles klar, vielen Dank!!! :-)
Mache ich direkt heute Nachmittag wenn ich daheim bin und poste hier das Ergebnis der Logeinträge!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 17:36:18
Sooooooo, hier die Logeinträge:

2015.07.13 17:34:06.817 1: PERL WARNING: Subroutine IPCAM_Initialize redefined at ./FHEM/49_IPCAM.pm line 50.
2015.07.13 17:34:06.819 1: PERL WARNING: Subroutine IPCAM_Define redefined at ./FHEM/49_IPCAM.pm line 70.
2015.07.13 17:34:06.820 1: PERL WARNING: Subroutine IPCAM_Undef redefined at ./FHEM/49_IPCAM.pm line 93.
2015.07.13 17:34:06.830 1: PERL WARNING: Subroutine IPCAM_Set redefined at ./FHEM/49_IPCAM.pm line 104.
2015.07.13 17:34:06.837 1: PERL WARNING: Subroutine IPCAM_Get redefined at ./FHEM/49_IPCAM.pm line 244.
2015.07.13 17:34:06.847 1: PERL WARNING: Subroutine IPCAM_getSnapshot redefined at ./FHEM/49_IPCAM.pm line 321.
2015.07.13 17:34:06.852 1: PERL WARNING: Subroutine IPCAM_guessFileFormat redefined at ./FHEM/49_IPCAM.pm line 447.
2015.07.13 17:34:29.001 1: IPCAM Kamera_Hauseingang URI: http://admin:xxx@192.168.188.90:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=xxx
2015.07.13 17:34:29.002 1: IPCAM Kamera_Hauseingang Snapshot: <html><body><img src="../snapPic/Snap_20150713-173441.jpg"/></body></html>
2015.07.13 17:34:29.003 1: IPCAM Kamera_Hauseingang Wrong or not supported image format: unknown


Hinweis: Ich habe das korrekte Passwort hier durch xxx ersetzt.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 13 Juli 2015, 18:35:30
Ich würde das Kennwort trotzdem ändern, hat nämlich jeder in seiner Benachrichtigungsemail erhalten.
Dein Problem ist dass http://admin:xxx@192.168.188.90:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=xxx eine Webseite zurückliefert, keine absolute url auf ein image. Dh du kannst entweder eine bessere "magic" URI finden oder dir aus dem Snapshot eine zusammenparsen. Ich würde ersteren Ansatz verfolgen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 19:03:30
Zitat von: HolyMoly am 13 Juli 2015, 18:35:30Dh du kannst entweder eine bessere "magic" URI finden

Was bedeutet das denn und wie mach ich das? Bin total ahnunglos! :-(
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 13 Juli 2015, 19:09:21
Zeige mal ein bisschen Eigeninitiative und schau mal hier durch http://foscam.us/forum/post43654.html#p43654
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 19:15:26
Zitat von: HolyMoly am 13 Juli 2015, 19:09:21
Zeige mal ein bisschen Eigeninitiative und schau mal hier durch http://foscam.us/forum/post43654.html#p43654

Ok, ich werde mich mal durcharbeiten! Aber was ich nicht verstehe: Laut den CGI Befehlen (s. Anhang) sollte doch genau das snapPicture2 eine jpg Datei zurückliefern?!?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 13 Juli 2015, 19:25:33
snapPicture2 wäre schon das richtige, wir bekommen aber irgendwie das Ergebnis von snapPicture zurück.
Lass evtl. mal die benutzernamen und pw am ende weg.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 19:32:27
Dann geht garnichts, er erfordert auf jeden Fall User und PW.

Also aus dem von dir geposteten Artikel habe ich jetzt folgenden Ausdruck - an meine Cam angepasst - erzeugt:

<img src="http://192.168.188.90:88/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=blendax3&t=" onload='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 1000)' onerror='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 5000)' alt='' />

Nur wo muss das dann hin? Und müsste ich dann ein jpg angezeigt bekommen, wenn ich den Ausdruck in die Browserzeile eingebe?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 13 Juli 2015, 19:37:26
Naja da ist halt leider ein Javascript mit drin, das können wir unter Perl nicht ausführen...
wir brauchen einen Pfad der ein jpeg ausspuckt...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 19:41:24
Tja keine Ahnung wie das gehn soll!

Aber müsste der Ausdruck nicht in der Browserzeile funktionieren? Da kommt aber kein Bild!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 21:03:46
Hmmm, dann muss ich wohl ne andere Kamera kaufen........:(

Läuft das IPCAM Modul mit den Instar HD IP Kameras?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 13 Juli 2015, 21:10:35
Also hier läuft das Modul auch prima mit den Foscam HD-Cams (9821W V2). Ich habe jetzt den Thread nicht gelesen und weiß nicht, was dein Problem ist aber sowohl bei Instar HD Cams, als auch Foscam HD Kameras habe ich mit den Snapshots kein Problem.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 21:16:59
Das Problem ist, dass der CGI Befehl eine html Seite zurückliefert und keine direkte URL auf den SNapshot! Damit kommt das Modul wohl nicht klar!

Kannst du vllt mal ein list deiner foscam posten?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 13 Juli 2015, 21:22:45
Dann müsste ich zu viel zensieren. ;) Aber folgender path funktioniert:

cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=USER&pwd=PWD

Wichtig ist snapPicture2. Das liefert ein JPEG.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 21:59:17
Genau das habe ich ja auch, aber es liefert scheinbar kein JPG!!!! :(
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 13 Juli 2015, 21:59:53
Firmware aktuell?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Michi240281 am 13 Juli 2015, 22:06:47
Jo die Firmware und auch die Application Firmware sind auf dem neusten Stand!

Im Log steht immer folgendes:

2015.07.13 22:00:48.629 1: IPCAM Kamera_Hauseingang URI: http://192.168.188.90:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=gast&pwd=test
2015.07.13 22:00:48.637 1: IPCAM Kamera_Hauseingang Snapshot: <html><body><img src="../snapPic/Snap_20150713-220101.jpg"/></body></html>
2015.07.13 22:00:48.639 1: IPCAM Kamera_Hauseingang Wrong or not supported image format: unknown
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HolyMoly am 15 Juli 2015, 17:00:10
Ich würde an deiner stelle mal den FOSCAM support damit beglücken. Die sollen ganz ordentlich sein.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: crazystone am 24 August 2015, 22:20:15
Zitat von: marvin78 am 13 Juli 2015, 21:10:35
Also hier läuft das Modul auch prima mit den Foscam HD-Cams (9821W V2). Ich habe jetzt den Thread nicht gelesen und weiß nicht, was dein Problem ist aber sowohl bei Instar HD Cams, als auch Foscam HD Kameras habe ich mit den Snapshots kein Problem.

Marvin, bitte verrätst du uns, welche INSTAR HD du verwendet hast? Bei mir steht auch eine Neuanschaffung an...

Vielen Dank!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 25 August 2015, 09:31:34
Instar habe ich wieder abgeschafft. Die Außenkam und auch zwei gleiche Austauschgeräte hatten jeweils nach einer Nacht draußen tief unter dem Dach, sehr viel Feuchtigkeit (eine Pfütze) zwischen Linse und Glas. Scheint ein generelles Problem zu sein. Ich bin auf, leider etwas teurere, Vivotek Kameras umgestiegen. Von der Qualität her nicht vergleichbar mit Foscam oder Instar. Eine andere Liga. Und sie lassen sich auch prima mit dem IPCAM Modul steuern. Nur die Fotos hole ich mir mittlerweile mit einer eigenen Sub, da IPCAM nicht Non-Blocking ist.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 25 August 2015, 09:36:23
Hallo,

könntest Du diese sub evtl mal erklären? Die Blockade von fhem ist mir auch schon aufgefallen.
Meine IN-5907 ist bisher dicht und funktioniert gut.

schöne Grüße
Jo

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 25 August 2015, 09:50:15
Von der Kamera habe ich 3 Stück zurück gesendet, die alle das gleiche Problem hatten. Vielleicht eine Serie, es führt aber dazu, dass ich die Marke meide ;)

Hier sind 3 subs, die man am besten in eine eigene myUtils packt (ein Teil davon ist aber aus dem IPCAM Modul "geklaut". Dabei geht es um den Filetype):


## Kamera Bilder holen
sub getCamPicSave($;$$) {
    my ($dv,$snaps,$delay) = @_;
  my @devs=();
  if ($dv eq "all") {
         @devs=devspec2array("TYPE=IPCAM");
  }
  else {
      @devs=split(",",$dv);
  }
  foreach my $dev (@devs) {
      my $ip=InternalVal($dev,"AUTHORITY","-");
      my $auth=AttrVal($dev,"basicauth","-");
      my $path=AttrVal($dev,"path","-");
      my $storage=AttrVal($dev,"storage","-");
      my $camDevice=AttrVal($dev,"camDevice","-");
      $snaps=AttrVal($dev,"snapshots",0) unless defined($snaps);
      $delay=AttrVal($dev,"delay",2) unless defined($delay);
      if ($ip ne "-" && $path ne "-" && $storage ne "-" && $camDevice ne "-" && Value($camDevice) eq "present") {
              my $camURI="http://".$ip."/".$path;
        my $seqWait=0;
        my $seqDelay=$delay;
        my $count=0;
        for (my $i=0;$i<$snaps;$i++) {
            $count=$i+1;
          my $param = {
            url        => $camURI,
            timeout    => 7,
            storage         => $storage,
            dev        => $dev,
            count         => $count,
            callback   => \&StoreCamFile,
          };
          InternalTimer(gettimeofday()+$seqWait, "HttpUtils_NonblockingGet", $param, 0);
          $seqWait = $seqWait + $seqDelay;
        }                       
      }
      else {
          my $error="CamPic-Error(s): ";
          $error.="Device ($dev) not available. " if ($ip eq "-");
        $error.="Device ($dev) has no path attribut. " if ($path eq "-");
        $error.="Device ($dev) has no camDevice attribut. " if ($camDevice eq "-");
        $error.="Could not fetch picture. Cam-Device ($dev) not present. " if (Value($camDevice) ne "present");   
        Log 3, $error;
        fhem("setreading $dev lastError $error");
      }
  }
  return undef;
}


sub StoreCamFile($$$)
{
  my ($hash, $err, $data) = @_;
  my $dev = $hash->{dev};
  my $dev_hash=$defs{$dev};
  readingsBeginUpdate($dev_hash);
  if ($err) {
      Log 3,"CamPic-Error: Image could not be fetched";
    readingsBulkUpdate( $dev_hash, 'lastError', $err );
  }
  else {
    my @imageTypes = qw(JPEG PNG GIF TIFF BMP ICO PPM XPM XBM SVG);
    my $imageFormat = camPicGuessFileFormat(\$data);
    if( ! grep { $_ eq "$imageFormat"} @imageTypes) {
        Log 3, "CamPic-Error: Wrong File-Format";
      readingsBulkUpdate( $dev_hash, 'lastError', 'CamPic-Error: Wrong File-Format' );
    }
    else {
          my $storage = $hash->{storage};
          my $count = $hash->{count};
          my $dateTime = TimeNow();
          my $timestamp = $dateTime;
          $timestamp =~ s/ /_/g;
          $timestamp =~ s/(:|-)//g;
      $imageFormat = "JPG" if($imageFormat eq "JPEG");
          my $filename=$dev."_".$timestamp.".".lc($imageFormat);
          open(FH, ">$storage/$filename");
          print FH $data;
          close(FH);
        readingsBulkUpdate( $dev_hash, 'snapshot'.$count, $filename );
        readingsBulkUpdate( $dev_hash, 'last', $filename );
            readingsBulkUpdate( $dev_hash, 'snapshots', $count );
    }
  }
  readingsEndUpdate( $dev_hash, 1 );
}


sub camPicGuessFileFormat($) {
  my ($src) = shift;
  my $header;
  my $srcHeader;

  open(my $s, "<", $src) || return "can't open source image: $!";
  $src = $s;

  my $reading = read($src, $srcHeader, 64);
  return "error while reading source image: $!" if(!$reading);

  local($_) = $srcHeader;
  return "JPEG" if /^\xFF\xD8/;
  return "PNG"  if /^\x89PNG\x0d\x0a\x1a\x0a/;
  return "GIF"  if /^GIF8[79]a/;
  return "TIFF" if /^MM\x00\x2a/;
  return "TIFF" if /^II\x2a\x00/;
  return "BMP"  if /^BM/;
  return "ICO"  if /^\000\000\001\000/;
  return "PPM"  if /^P[1-6]/;
  return "XPM"  if /(^\/\* XPM \*\/)|(static\s+char\s+\*\w+\[\]\s*=\s*{\s*"\d+)/;
  return "XBM"  if /^(?:\/\*.*\*\/\n)?#define\s/;
  return "SVG"  if /^(<\?xml|[\012\015\t ]*<svg\b)/;
  return "unknown";
}


Hier wird auf die Konfiguration (Pfade) eines IPCAM Devices zugegriffen (DEVICENAME).

Aufgerufen wird sie per

{getCamPicSave("DEVICENAME", "ANZAHLSNAPS", "DELAY")}

Damit werden non-blocking ANZAHLSNAPS Bilder im Abstand von DELAY Sekunden geholt und die Readings im entsprechenden IPCAM-Device aktualisiert. Gibt man ANZAHLSNAPS und DELAY nicht an, wird das jeweils aus dem IPCAM Device geholt. Das ist alles nicht sehr elegant und schnell hin gebaut aber es funktioniert.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 25 August 2015, 10:17:22
Das werde ich auf jeden Fall mal bei mir testen. Vielen Dank!
Was mich an der Instar stört, ist die fixe Video-Aufzeichnungsdauer. 30 oder 40 Sekunden wären hier und da manchmal besser.

schöne Grüße
Jo

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 25 August 2015, 13:11:41
Zitat von: marvin78 am 25 August 2015, 09:50:15
Hier sind 3 subs, die man am besten in eine eigene myUtils packt (ein Teil davon ist aber aus dem IPCAM Modul "geklaut". Dabei geht es um den Filetype):

Vielen Dank dafür!
Habe es gleich mal ausprobiert, hat aber nicht auf Anhieb geklappt. Der Grund dafür ist das Attribut camDevice, dass es so bei mir nicht gibt. Hast Du da noch irgendwie PRESENCE mit eingebunden?

Ich habe für mich die entsprechenden Abfragen rausgenommen, dann klappt es, also anstatt
if ($ip ne "-" && $path ne "-" && $storage ne "-" && $camDevice ne "-" && Value($camDevice) eq "present") {
nur
if ($ip ne "-" && $path ne "-" && $storage ne "-") {
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 25 August 2015, 14:50:18
Ah stimmt sorry. Ich habe mir noch ein userattr camDevice  in die IPCAM Devices gepackt. Dort trage ich ein emtsprechendes PRESENCE Device ein, sodass vor dem Fotos machen nachgeschaut werden kann, ob die Kamera überhaupt verfügbar ist und die Anfragen nicht ins leere laufen. Meine Innenkameras sind nämlich nur an, wenn wir weg sind oder Nachts.

Das kommt davon, wenn man den Quick and Dirty Quellcode nicht kommentiert ;)

Diese Zeile in meinem Code ist falsch:


my $camDevice=AttrVal($dev,"camDevice",0);


Es müsste lauten

my $camDevice=AttrVal($dev,"camDevice","-");

Dann klappt es auch mit komplettem Filter. Ich habe das oben geändert.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 25 August 2015, 16:08:55
Zitat von: marvin78 am 25 August 2015, 14:50:18
my $camDevice=AttrVal($dev,"camDevice","-");

Dann klappt es auch mit komplettem Filter. Ich habe das oben geändert.

Aber auch dann klappt es nur, wenn man das userattr camDevice überhaupt verwendet. Ansonsten bekommt man auch eine Fehlermeldung. Halt nur eine etwas aussagekräftigere...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 25 August 2015, 16:32:58
Hm. Es mag sein, dass wenn es gar nicht vorhanden ist, dass es dann nicht funktioniert. AttrVal funktioniert also etwas anders, als ich dachte, das macht aber auch durchaus Sinn. Verwendet werden muss es aber nicht.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 25 August 2015, 17:07:42
Hallo,

sehr seltsam, bei mir klappt der code mit einer Foscam aber bei meiner INSTAR wird ein falsches image Format als Fehler ausgegeben. Verstehe ich gerade nicht, weil das IPCAM_Modul mit dieser Kamera auch funktioniert und der code eigentlich identisch ist (zumindest die entsprechenden Zeilen). Allerdings versuche ich das gerade noch zu prüfen.

schöne Grüße
Jo
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: bsl02 am 25 August 2015, 19:27:45
Zitat von: marvin78 am 13 Juli 2015, 21:22:45
Dann müsste ich zu viel zensieren. ;) Aber folgender path funktioniert:

cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=USER&pwd=PWD

Wichtig ist snapPicture2. Das liefert ein JPEG.

Danke, jetzt klappts auch bei meiner Foscam9826 HD-IPcam ;-)
Gruß, Stefan
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 25 August 2015, 19:34:50
Zitat von: Jojo11 am 25 August 2015, 17:07:42
Hallo,

sehr seltsam, bei mir klappt der code mit einer Foscam aber bei meiner INSTAR wird ein falsches image Format als Fehler ausgegeben. Verstehe ich gerade nicht, weil das IPCAM_Modul mit dieser Kamera auch funktioniert und der code eigentlich identisch ist (zumindest die entsprechenden Zeilen). Allerdings versuche ich das gerade noch zu prüfen.

schöne Grüße
Jo

Poste hier doch mal ein list deiner IPCAM Devices (Instar und Foscam). Ich habe eine kleine Vermutung.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 25 August 2015, 19:58:02
Die lists der beiden Kameras:

INSTAR (geht nicht)

Internals:
   AUTHORITY  192.xxx.xxx.xxx:80
   CFGFN      ./FHEM/000_Kameras.cfg
   DEF        192.xxx.xxx.xxx:80
   NAME       CAM01
   NR         2460
   SEQ        0
   STATE      last: 2015-08-25 19:51:27
   TYPE       IPCAM
   Readings:
     2015-08-25 19:51:27   last            CAM01_snapshot.jpg
     2015-08-25 18:34:27   lastError       CamPic-Error: Wrong File-Format
     2015-08-25 19:51:22   snapshot1       CAM01_20150825_195122.jpg
     2015-08-25 19:51:23   snapshot2       CAM01_20150825_195123.jpg
     2015-08-25 19:51:25   snapshot3       CAM01_20150825_195125.jpg
     2015-08-25 19:51:27   snapshot4       CAM01_20150825_195127.jpg
     2015-08-25 19:51:27   snapshots       4
Attributes:
   basicauth  {USERNAME}:{PASSWORD}
   cmd01      cmd=setinfrared&-infraredstat=close
   cmd02      cmd=setinfrared&-infraredstat=auto
   credentials /opt/fhem/FHEM/000_CAM01_config.cfg
   delay      2
   path       tmpfs/snap.jpg?user={USERNAME}&pwd={PASSWORD}
   pathCmd    cgi-bin/hi3510/param.cgi
   room       Kameras
   snapshots  4
   storage    ./www/snapshots
   timestamp  1


FOSCAM (geht):
Internals:
   AUTHORITY  192.xxx.xxx.xxx:88
   CFGFN      ./FHEM/000_Kameras.cfg
   DEF        192.xxx.xxx.xxx:88
   NAME       CAM02
   NR         2467
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   Readings:
     2015-08-25 18:30:44   last            CAM02_20150825_183044.jpg
     2015-08-25 18:30:42   snapshot1       CAM02_20150825_183042.jpg
     2015-08-25 18:30:44   snapshot2       CAM02_20150825_183044.jpg
     2015-08-25 18:18:42   snapshot3       CAM02_20150825_181842.jpg
     2015-08-25 18:18:44   snapshot4       CAM02_20150825_181844.jpg
     2015-08-25 18:18:47   snapshot5       CAM02_20150825_181847.jpg
     2015-08-25 18:18:50   snapshot6       CAM02_20150825_181850.jpg
     2015-08-25 18:30:44   snapshots       2
Attributes:
   cmd01      cmd=openInfraLed&usr=USER&pwd=PASSWORD
   cmd02      cmd=closeInfraLed&usr=USER&pwd=PASSWORD
   cmd03      cmd=setInfraLedConfig&mode=0&usr=USER&pwd=PASSWORD
   cmd04      cmd=setInfraLedConfig&mode=1&usr=USER&pwd=PASSWORD
   cmd05      cmd=ptzGotoPresetPoint&name=1&usr=USER&pwd=PASSWORD
   cmd06      cmd=ptzGotoPresetPoint&name=2&usr=USER&pwd=PASSWORD
   cmd07      cmd=ptzGotoPresetPoint&name=3&usr=USER&pwd=PASSWORD
   delay      1
   path       cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=USER&pwd=PASSWORD
   pathCmd    cgi-bin/CGIProxy.fcgi
   room       Kameras
   snapshots  6
   storage    ./www/snapshots
   timestamp  1


Bei der Foscam habe ich username und password fest eingegeben und nicht über "credentials" ausgelagert (hier durch "USER" und "PASSWORD" ersetzt). Das scheint neben dem Port der einzige Unterschied zu sein. Ach, und bei STATE erscheint etwas anderes.

schöne Grüße
Jo
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 25 August 2015, 20:00:18
Es ist das basicauth. Das ist zwar in der sub ganz rudimentär vorbereitet aber nicht umgesetzt.

Bitte beachten: ich habe hier kein für jeden funktionierendes Modul gepostet sondern auf Nachfrage nur eine sub, die ich verwende und die für mich funktioniert und als Workaround dient, bis jemand das Modul IPCAM endlich auf Non-Blocking umbaut.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dennis87 am 25 August 2015, 20:09:30
Hat eigentlich jemand auch das Problem, dass keine IPCAM-Aktionen mehr ausgeführt werden, wenn die Verbindung zur Kamera mal kurz weg war (lange vor der Zeit des Events)


Im Log steht dann folgendes:

2015.08.25 10:39:19 3: TuerklingelReceiver return value: Device needs to be reachable to send a message to screen.
2015.08.25 10:39:19 1: IPCAM Kamera_Haustuer Wrong or not supported image format: unknown


Die Kamera ist zu der Zeit aber wieder Problemlos erreichbar.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 25 August 2015, 20:09:33
Ok, die Vermutung hatte ich auch. Werde es mal raus nehmen. Danke für deine Unterstützung! Schon klar, dass das kein offizielles Modul ist ^-^

schöne Grüße
Jo

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: crazystone am 26 August 2015, 22:38:50
Zitat von: marvin78 am 25 August 2015, 09:31:34
Instar habe ich wieder abgeschafft. Die Außenkam und auch zwei gleiche Austauschgeräte hatten jeweils nach einer Nacht draußen tief unter dem Dach, sehr viel Feuchtigkeit (eine Pfütze) zwischen Linse und Glas. Scheint ein generelles Problem zu sein. Ich bin auf, leider etwas teurere, Vivotek Kameras umgestiegen. Von der Qualität her nicht vergleichbar mit Foscam oder Instar. Eine andere Liga. Und sie lassen sich auch prima mit dem IPCAM Modul steuern. Nur die Fotos hole ich mir mittlerweile mit einer eigenen Sub, da IPCAM nicht Non-Blocking ist.

Danke für die Tipps! Dann also doch Vivotek. Wetterblastung ist doch bei mir eher sehr hoch.

Bzgl. des non-blocking wäre einfch cool, wenn die subs Eingang in das IPCAM finden würden, vielleicht hat Martin mal wieder etwas Zeit für das Modul  ;)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 27 August 2015, 07:56:10
Ich habe mir IPCAM diesbezüglich schon angeschaut. Man müsste ein wenig anders umbauen. Ich habe aktuell keinerlei Zeit, mich damit zu beschäftigen, sonst würde ich versuchen, einen Patch anzubieten. Ich möchte das aber auch nicht einfach so machen. Es gibt hier einen Thread, in dem ich frage, wie es mit den Plänen zu IPCAM aussieht. Dieser ist jedoch unbeantwortet geblieben.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 02 September 2015, 18:38:38
Vielen Dank nochmal, bei mir klappt es jetzt mit beiden Kameras  :)

schöne Grüße
Jo
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Damu am 04 September 2015, 15:14:56
Hallo

Hab auch vier Kameras installiert.
Bei Abwesenheit schalte ich 3 ein.
Das Modul finde ich sehr gut.
Es wäre gut wenn sich das Modul pro Angemeldete Kamera einfach ausschalten liese.
Wenn ich eine Kamera vor der Haustüre habe, kann die sicherlich immer laufen.
Aber im Wohnbereich eher nicht.
Das ist nur als Anregung gedacht.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: errazzor am 06 Oktober 2015, 11:37:17
Hallo,

ich bin noch sehr neu im Thema FHEM, habe aber doch schon einiges geschafft. Nur jetzt stehe ich total auf dem Schlauch und muss euch mal nerven.
Ich habe meine Wansview mit dem IPCAM Modul soweit erfolgreich eingebunden.

Ich lasse mir den Videostream in einem "Room" anzeigen (per Weblink iframe).

Mit dem IPCAM-Modul kann ich die Kamera mit hilfe der Set-Befehle auch steuern.

Nur wie bringe ich es jetzt fertig, Steuerelemente (Icons) für die Kamera zu erstellen und diese im Raum anzeigen zu lassen?

Also nehmen wir an, ich habe einen Raum "Cam", dort ist der Videostream als Weblink (iframe) hinterlegt.
Jetzt hätte ich gerne unter dem Livestream 4 Buttons, welche auf Klick den entsprechenden Steuerbefehl (set) ausführen.

Nur wie?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 06 Oktober 2015, 11:38:56
Das sollte mit einer remoteControl kein Problem sein. Eventuell auch mit readingsGroup.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: errazzor am 06 Oktober 2015, 11:54:19
Sorry, ich bräuchte etwas "DAU-freundlichere" Antworten  :)

Die Begriffe sagen mir zwar etwas, aber einfach nur so wüsste ich jetzt überhaupt nicht, was ich damit machen soll.

Ich habe gelesen man könnte es auch mit webcmd und notify machen ... aber auch hier, keine Ahnung wie..mir fehlt da einfach der Anfang.

Wenn mir jemand mal ein kleines Beispiel aufschreiben könnte, das wäre toll!

Im Endeffekt sollen 4 Buttons dargestellt werden (Pfeil link,rechts,hoch,runter).
Beim klick auf den entsprechenden Pfeil so über das IPCAM-Modul der entsprechende Befehl gesendet werden.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 06 Oktober 2015, 11:55:55
Du musst im Grunde einfach nur die commandref, das Wiki und das Forum nach den Stichworten durchsuchen, die ich dir gegeben habe. Dann findest du, was du brauchst (ja, auch Beispiele). Ein wenig selber denken ist nicht so schlecht, denn dabei lernt man etwas. Von mir bekommst du nur Hilfe zur Selbsthilfe. Das kannst du annehmen oder auf jemand anderen warten. Das erste geht schneller.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: errazzor am 06 Oktober 2015, 12:04:02
Selber denken kann ich schon, ich suche schon seit Tagen nach einer Lösung. Und ja, ich habe auch in der Commandref und im Forum gesucht. Und auch Beispiele gefunden.
Das bringt mir nur alles nichts, wenn ich einfach die Grundlagen (wie bekomme ich Buttons hin, welche ein Modul ansteuern etc.) aufgrund von Verständnisschwierigkeiten nicht hinbekomme.

Ich hätte hier nicht gefragt, wenn ich es mit Selbstrecherche hinbekommen hätte...

Vielleicht hilft mir ja jemand anderes.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 06 Oktober 2015, 12:31:18
Zitat von: errazzor am 06 Oktober 2015, 12:04:02
Ich hätte hier nicht gefragt, wenn ich es mit Selbstrecherche hinbekommen hätte...
Das Stichwort remotecontrol ist doch schon gefallen. Im Wiki gibt es dazu einen ausführlichen Artikel nebst Codebeispielen.
http://www.fhemwiki.de/wiki/Remotecontrol
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: errazzor am 06 Oktober 2015, 12:46:30
Ja, das hatte ich schon versucht, leider klappt es damit bisher auch nicht.
Versucht hatte ich das Beispiel aus dem Wiki.

Ausgangssituation:

-IPCAM Cam1 angelegt
- als Attribut unter anderem: cmdPanLeft | command=6&onestep=0   (damit würde die Cam nach links schwenken)

^^ Es funktioniert, wenn ich im Cam1-Modul oben mit der Befehlsschaltfläche "set" "pan" "left" auswähle / eingebe. Die Kamera schwenkt nach links.

Ich habe nach dem Wiki eine Remotecontrol angelegt, 4 Buttons wie folgt:

cmdPanLeft:REWIND,cmdPanRight:FF,cmdTiltUp:VOLUP,cmdTiltDown:VOLDOWN

Dazu ein Notify:

define notify_Cam1_Test notify Cam1_Test set Cam1 $EVENT

Drücke ich auf der Remotecontrol die Taste "links", sehe ich oben, dass der befehl "cmdPanLeft" gesendet wird - aber es passiert nichts.

Habe ich irgendwo einen Denkfehler?



Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 06 Oktober 2015, 12:55:31
Ah. Eine konkrete Frage. Geht doch ;)

Mache mal ein list aller beteiligten Devices und poste jeweils das Ergebnis in Codetags.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: errazzor am 06 Oktober 2015, 13:03:19
Gerne, ich hoffe das hilft:


Internals:
   AUTHORITY  192.168.178.26
   CFGFN
   DEF        192.168.178.26
   NAME       Cam1
   NR         815
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
Attributes:
   basicauth  foo:bar
   cmd01      command=6&onestep=0
   cmdPanLeft command=6&onestep=0
   cmdPanRight command=4&onestep=0
   cmdTiltDown command=0&onestep=0
   cmdTiltUp  command=2&onestep=0
   path       videostream.cgi
   pathPanTilt decoder_control.cgi?
   room       Cam



Internals:
   CFGFN
   NAME       Cam1_Test
   NR         950
   STATE      cmd01
   TYPE       remotecontrol
   Readings:
     2015-10-06 12:58:00   state           cmd01
Attributes:
   rc_iconpath icons/remotecontrol
   rc_iconprefix black_btn_
   room       Cam
   row00      cmd01:REWIND,cmdPanRight:FF,cmdTiltUp:VOLUP,cmdTiltDown:VOLDOWN



Internals:
   CFGFN
   DEF        Cam1_Test set Cam1 $EVENT
   NAME       notify_Cam1_Test
   NOTIFYDEV  Cam1_Test
   NR         963
   NTFY_ORDER 50-notify_Cam1_Test
   REGEXP     Cam1_Test
   STATE      2015-10-06 12:58:00
   TYPE       notify
   Readings:
     2015-10-06 12:18:37   state           active
Attributes:
   room       Cam

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 06 Oktober 2015, 13:09:02
Du hast es oben selbst geschrieben

Zitat^^ Es funktioniert, wenn ich im Cam1-Modul oben mit der Befehlsschaltfläche "set" "pan" "left" auswähle / eingebe. Die Kamera schwenkt nach links

Der Befehl heißt schlicht nicht

set Cam1 cmdPanLeft

sondern

set Cam1 pan left

Und so musst du auch deine RemoteControl konfigurieren.

Das meinte ich mit "commandref lesen". Es steht drin.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: errazzor am 06 Oktober 2015, 13:16:16
Ok, alles klar. Ich habs hinbekommen.

row00      pan left:REWIND [...]

Damit funktioniert es. Freue mich sehr, vielen Dank für die Hilfe.

Manchmal braucht es halt Denkanstöße oder einen Schubs in die richtige Richtung.
Danke nochmal.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 06 Oktober 2015, 13:24:47
Sollte folgendes nicht funktionieren

attr Cam1_Test  row00 pan left:REWIND

"erfinde" einfach selber einen Befehlf und übersetze im im notify (am besten mit einer eigenen sub in einer myUtils).

Beispiel:

attr Cam1_Test row00 set Cam1 left:REWIND

als Button in der RC.

Das notify (kann dann für alle Events gelten):

define notify_Cam1_Test notify Cam1_Test {myCamRemote($EVENT)}

Und dann die sub in der myUtils:

sub myCamRemote($) {
  my ($EVENT)=@_;

  if ($EVENT eq "left") {
    fhem("set Cam1 pan left");
  }
  return undef;
}


Das bitte als Anregung sehen. Denkanstöße gab's hier schon genug. Leider hast du noch nicht weiter gedacht. Versuche die Dinge zu verstehen und nicht einfach nur nach zu machen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: errazzor am 06 Oktober 2015, 13:46:46
Ich verstehe was Du sagen willst.

Ich habe gerade festgestellt, dass es eigentlich mehr Zufall ist, dass die Kommandos funktionieren.

Also mit "set pan left" wird halt offenbar ein direkter Befehl in der Kamera bzw. im Modul ausgeführt, ich dachte die ganze Zeit, der Befehl liest dann das entsprechende cmd-Attribut aus. Ist aber natürlich nicht so.

Eigentlich wollte ich die Befehle bzw. URLs aus den Attributen verwenden, weil ich damit auch bestimmte Positionen anfahren kann. Müsste ja eigentlich auch irgendwie gehen.
Muss ich mal weitertesten.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 06 Oktober 2015, 13:56:09
Probiere mal folgendes:

attr Cam1_Test  row00 /pan left:REWIND/

Ich bin nicht sicher, ob das funktioniert.

Es ist aber auch nichts falsch daran, eine sub zu verwenden. Im Gegenteil. Das bietet einem flexible Erweiterungsmöglichkeiten.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 12 Oktober 2015, 19:55:19
Hallo,

wäre es vielleicht möglich, die Anzahl der custom commands im IPCAM-Modul von 15 auf mindestens 30 anzuheben? Vom code her sehe ich (als Nicht-Programmierexperte) keine Schwierigkeiten - spricht irgendwas dagegen? Mit 15 komme ich leider nicht aus  :-\

schöne Grüße
Jo
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: speex am 20 Oktober 2015, 12:45:13
Hallo Marvin, ich versuche gerade deine getsnap Non Blocking Sub zu übernehmen allerdings hat er bei mir ein Problem mit dem cgi jpeg das meine D-Link Cam erzeugt:
image/jpeg.cgi

Er schmeisst mir immer den Fehler das dass File Format nicht korrekt sei:
lastError | CamPic-Error: Wrong File-Format

Hat da jemand Rat wie ich den Code anpassen könnte?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 20 Oktober 2015, 12:49:58
Dann versuche doch mal den Check auf Filetype auszukommentieren.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: speex am 20 Oktober 2015, 15:37:53
Jetzt bin ich schon einen Schritt weiter es wird eine datei erzeugt allerdings mit der Dateiendung unknown?

Wie muss ich das denn für die cgi endung anpassen das mir dort ein JPG erzeugt wird.

Mein Code sieht nun so aus:
## Kamera Bilder holen
sub getCamPicSave($;$$) {
    my ($dv,$snaps,$delay) = @_;
  my @devs=();
  if ($dv eq "all") {
         @devs=devspec2array("TYPE=IPCAM");
  }
  else {
      @devs=split(",",$dv);
  }
  foreach my $dev (@devs) {
      my $ip=InternalVal($dev,"AUTHORITY","-");
      my $auth=AttrVal($dev,"basicauth","-");
      my $path=AttrVal($dev,"path","-");
      my $storage=AttrVal($dev,"storage","-");
      my $camDevice=AttrVal($dev,"camDevice","-");
      $snaps=AttrVal($dev,"snapshots",0) unless defined($snaps);
      $delay=AttrVal($dev,"delay",2) unless defined($delay);
      if ($ip ne "-" && $path ne "-" && $storage ne "-") {
              my $camURI="http://".$ip."/".$path;
        my $seqWait=0;
        my $seqDelay=$delay;
        my $count=0;
        for (my $i=0;$i<$snaps;$i++) {
            $count=$i+1;
          my $param = {
            url        => $camURI,
            timeout    => 7,
            storage         => $storage,
            dev        => $dev,
            count         => $count,
            callback   => \&StoreCamFile,
          };
          InternalTimer(gettimeofday()+$seqWait, "HttpUtils_NonblockingGet", $param, 0);
          $seqWait = $seqWait + $seqDelay;
        }                       
      }
      else {
          my $error="CamPic-Error(s): ";
          $error.="Device ($dev) not available. " if ($ip eq "-");
        $error.="Device ($dev) has no path attribut. " if ($path eq "-");
        $error.="Device ($dev) has no camDevice attribut. " if ($camDevice eq "-");
        $error.="Could not fetch picture. Cam-Device ($dev) not present. " if (Value($camDevice) ne "present");   
        Log 3, $error;
        fhem("setreading $dev lastError $error");
      }
  }
  return undef;
}


sub StoreCamFile($$$)
{
  my ($hash, $err, $data) = @_;
  my $dev = $hash->{dev};
  my $dev_hash=$defs{$dev};
  readingsBeginUpdate($dev_hash);
  { {
          my $imageFormat = camPicGuessFileFormat(\$data);
          my $storage = $hash->{storage};
          my $count = $hash->{count};
          my $dateTime = TimeNow();
          my $timestamp = $dateTime;
          $timestamp =~ s/ /_/g;
          $timestamp =~ s/(:|-)//g;
      $imageFormat = "JPG" if($imageFormat eq "JPEG");
          my $filename=$dev."_".$timestamp.".".lc($imageFormat);
          open(FH, ">$storage/$filename");
          print FH $data;
          close(FH);
        readingsBulkUpdate( $dev_hash, 'snapshot'.$count, $filename );
        readingsBulkUpdate( $dev_hash, 'last', $filename );
            readingsBulkUpdate( $dev_hash, 'snapshots', $count );
    }
  }
  readingsEndUpdate( $dev_hash, 1 );
}


sub camPicGuessFileFormat($) {
  my ($src) = shift;
  my $header;
  my $srcHeader;

  open(my $s, "<", $src) || return "can't open source image: $!";
  $src = $s;

  my $reading = read($src, $srcHeader, 64);
  return "error while reading source image: $!" if(!$reading);

  local($_) = $srcHeader;
  return "JPEG" if /^\xFF\xD8/;
  return "PNG"  if /^\x89PNG\x0d\x0a\x1a\x0a/;
  return "GIF"  if /^GIF8[79]a/;
  return "TIFF" if /^MM\x00\x2a/;
  return "TIFF" if /^II\x2a\x00/;
  return "BMP"  if /^BM/;
  return "ICO"  if /^\000\000\001\000/;
  return "PPM"  if /^P[1-6]/;
  return "XPM"  if /(^\/\* XPM \*\/)|(static\s+char\s+\*\w+\[\]\s*=\s*{\s*"\d+)/;
  return "XBM"  if /^(?:\/\*.*\*\/\n)?#define\s/;
  return "SVG"  if /^(<\?xml|[\012\015\t ]*<svg\b)/;
  return "unknown";
}


Erzeugt bei mir folgende Datei:
IPCam_20151020_153101.unknown

Wenn ich hier unknown durch jpg ersetze ist das Bild auch nicht funktional sowie die dateigrösse macht mich auch stutzig von 94byte die Bilder die das IPCam Device von sich aus holt sind ca. 22-25kb groß.

Der path zu meiner D-Link DCS-942L ist:
image/jpeg.cgi


stocher leider irgendwie im trüben, danke für die Tipps. :)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 20 Oktober 2015, 17:10:50
Ein recht verbreitetes Problem scheint zu sein, dass manche Kameras kein jpg sondern eine html-Seite zurückgeben. Dann gibt es ebenfalls diese Meldung.

schöne Grüße
Jo

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 20 Oktober 2015, 17:17:38
Viele Kameras haben 2 Funktionen, ein Bild zu liefern. Eine liefert ein HTML und eine ein JPEG.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: speex am 20 Oktober 2015, 17:39:12
Ja es ist das Problem der HTML Seite die durch das CGI erzeugt wird allerdings finde ich im Backend meiner Cam keine möglichkeit das anzufassen ich kann praktisch nur die Qualität für das jpeg bestimmen weitere Einstellungen werden dort nicht geboten.

Auf der HTML Seite ist das Bild in einem IMG Tag eingebunden mit folgender src:
http://<ip>/image/jpeg.cgi

Gibt es dafür noch eine Alternative, ich habe probiert den Code mit dem normalen IPCam modul zu vergleichen aber das ist gerade noch eine Nummer zu hoch für mich mit der Hoffnung der Sache weiter auf die Spur zu kommen da ich mit einem get IPCam image ein Bild bekomme.

Frage mich halt was dort an der Stelle unterschiedlich läuft...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 20 Oktober 2015, 17:57:37
Ich habe ja geschrieben, dass meine subs nicht überall funktionieren werden. Man müsste schauen, was GetFileFromURLQuiet und darin HttpUtils_BlockingGet anders macht, als die NonBlocking Variante.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: speex am 21 Oktober 2015, 14:18:41
Ich habe mir die Subs angesehen allerdings wie bereits erwähnt ist das momentan noch eine Nummer zu hoch, ich habe probiert die subs im HTTPUtils zu verändern mit dem Resultat das FHEM nach einem Neustart nicht mehr durchstartet. Da lass ich also erstmal lieber noch die finger von. :)

sub
HttpUtils_NonblockingGet($)
{
  my ($hash) = @_;
  $hash->{hu_blocking} = 0;
  my ($isFile, $fErr, $fContent) = HttpUtils_File($hash);
  return $hash->{callback}($hash, $fErr, $fContent) if($isFile);
  my $err = HttpUtils_Connect($hash);
  $hash->{callback}($hash, $err, "") if($err);
}

#################
# Parameters same as HttpUtils_NonblockingGet up to callback
# Returns (err,data)
sub
HttpUtils_BlockingGet($)
{
  my ($hash) = @_;
  $hash->{hu_blocking} = 1;
  my ($isFile, $fErr, $fContent) = HttpUtils_File($hash);
  return ($fErr, $fContent) if($isFile);
  my $err = HttpUtils_Connect($hash);
  return ($err, undef) if($err);
 
  my ($buf, $ret) = ("", "");
  $hash->{conn}->timeout($hash->{timeout});
  for(;;) {
    my ($rout, $rin) = ('', '');
    vec($rin, $hash->{conn}->fileno(), 1) = 1;
    my $nfound = select($rout=$rin, undef, undef, $hash->{timeout});
    if($nfound <= 0) {
      undef $hash->{conn};
      return ("$hash->{displayurl}: Select timeout/error: $!", undef);
    }

    my $len = sysread($hash->{conn},$buf,65536);
    last if(!defined($len) || $len <= 0);
    $ret .= $buf;
    last if(HttpUtils_DataComplete($ret));
  }
  return HttpUtils_ParseAnswer($hash, $ret);
}


Meine Fähigkeiten sind hier momentan noch begrenzt, aber was mir auffällt das sich die sub`s ab den returns jeweils unterscheiden und die nonblocking sub natürlich viel kürzer ist, jedoch erschliessen sich mir die funktionalen unterschiede nicht da ich es einfach nicht verstehe was da passiert. :)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Mexx_007 am 20 November 2015, 15:50:02
Hi

habe eine Wansview NCB 545W IP cam , habe sie auch ins Fhem eingebunden bekomme auch ein Live Bild .... kann mir jemand sage wie ich die Steuerung der Cam realisieren kann.
hab was gelesen das man die cgi befehle braucht , leider finde ich im Netz keine bzw. Was von einer anderen Cam selber Marke

cgi in camera file                  cgi used in webui

backup_params.cgi
   
camera_control.cgi                       camera_control.cgi
check_user2.cgi    
check_user.cgi                      check_user.cgi
comm_write.cgi    
decoder_control.cgi                     decoder_control.cgi
erase_allparams.cgi    
get_camera_params.cgi            get_camera_params.cgi
get_factory_ddns.cgi    
get_forbidden.cgi    
get_log.cgi                           get_log.cgi
get_misc.cgi                          get_misc.cgi
get_p2p.cgi    
get_params.cgi                 get_params.cgi
get_realip.cgi                          get_realip.cgi
get_smarteye.cgi                  get_smarteye.cgi
get_status.cgi                           get_status.cgi
get_wifi_scan_result.cgi               get_wifi_scan_result.cgi
reboot.cgi                                 reboot.cgi
restore_factory.cgi                                 restore_factory.cgi
restore_factory_ddns.cgi    
restore_params.cgi    
set_alarm.cgi    
set_alias.cgi    
set_datetime.cgi                          set_datetime.cgi
set_ddns.cgi                                  set_ddns.cgi
set_decoder.cgi                             set_decoder.cgi
set_devices.cgi                            set_devices.cgi
set_factory_ddns.cgi    
set_forbidden.cgi    
set_ftp.cgi                                     set_ftp.cgi
set_mac.cgi    
set_mail.cgi                                     set_mail.cgi
set_misc.cgi                                       set_misc.cgi
set_msn.cgi    
set_network.cgi                               set_network.cgi
set_p2p.cgi    
set_pppoe.cgi                                            set_pppoe.cgi
set_smarteye.cgi                                 set_smarteye.cgi
set_smarteye_factory_params.cgi          set_smarteye_factory_params.cgi
set_upnp.cgi                                          set_upnp.cgi
set_users.cgi                                          set_users.cgi
set_wifi.cgi                                          set_wifi.cgi
snapshot.cgi                                          snapshot.cgi
test_ftp.cgi                                         test_ftp.cgi
test_mail.cgi                                         test_mail.cgi
upgrade_firmware.cgi                       upgrade_firmware.cgi
upgrade_htmls.cgi                               upgrade_htmls.cgi
video.cgi    
videostream.cgi                               videostream.cgi
wifi_scan.cgi                                       wifi_scan.cgi


kann mir jemand weiter Helfen

Danke ;-)

gruß

Andy
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: nhetzke am 10 Dezember 2015, 10:42:24
Hallo @All,

ich habe da ein Problem beim holen der Bilder mittels
get <Dev> image
Ich habe zwei IP-WLAN Cams. Die Konfig sieht so aus:
Cam1:

define IPCamTreppenhaus IPCAM 192.168.0.158:81
attr IPCamTreppenhaus delay 0
attr IPCamTreppenhaus event-on-update-reading snapshots
attr IPCamTreppenhaus path snapshot.cgi?loginuse=admin&loginpas=&user=admin&pwd=&
attr IPCamTreppenhaus snapshots 10
attr IPCamTreppenhaus storage /opt/fhem/IPCom
attr IPCamTreppenhaus timestamp 1


Cam2:

define IPCamKueche IPCAM 192.168.0.100:8080
attr IPCamKueche delay 0
attr IPCamKueche event-on-update-reading snapshots
attr IPCamKueche path shot.jpg
attr IPCamKueche snapshots 10
attr IPCamKueche storage /opt/fhem/IPCom
attr IPCamKueche timestamp 1


Die Cams sollen nun bei einem Notify quasi parallel die eingestellten 10 Bilder holen. Das Resultat ist aber das es in Summe nicht 20 Bilder sind. Die Anzahl variiert hier bei. Es sind auch nicht immer gleich viele pro Kamera.
Die Antwortzeiten je Kamera, getestet mittels wget liegen unter 1s.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marty29ak am 12 Januar 2016, 08:21:47
Hallo,
ich habe mir an der Haustüre eine günstige Wansview NCM628D02 Kamera installiert.
Im Flur ist ein All in One PC (MSI Wind Top AE1900) mit Windows 7 Home Premium an der Wand.
Die Verbindung zum Lan läuft über die interne Wlankarte.
Als Browser nutze ich Chrome im Kiosk Modus.

Soweit funktioniert alles perfekt bis auf den Umstand das die Kamera nach einer gewissen Zeit nur noch ein Standbild anzeigt. Ich muss dann erst die Webseite neu laden, dann geht es wieder für eine gewisse Zeit.
Das ist natürlich blöd wenn man mal im vorbei gehen, oder wenn es klingelt, kurz drauf schauen möchte.
Energiespareinstellungen für das Wlan sind alle aus und die Icons für Schalter, Licht und Fensterkontakte werden auch weiterhin zuverlässig aktualisiert. Nur eben die Kamera nicht.
Lediglich die Festplatte und der Bildschirm wird nach 15Min abgeschaltet.
Ich vermute ja das der Fehler in den Einstellungen von Windows liegt, finde aber keinen Ansatz dazu. Evtl. das abschalten von Bildschirm? Den möchte ich aber aus Stromspargründen ungern durchlaufen lassen.
Alternativ wäre eine Notfall Lösung wenn man auf das Kamerabild oder einen Button darunter klicken könnte um nur die Kamera auf die schnelle zu aktualisieren. Wäre sowas denn möglich?

DEF iframe http://192.168.178.38/cgi-bin/hi3510/mjpegstream.cgi?-chn=12&-usr=admin&-pwd=xxxxxxx
LINK          http://192.168.178.38/cgi-bin/hi3510/mjpegstream.cgi?-chn=12&-usr=admin&-pwd=passat35
NAME        IP_Camera_Anzeige
NR            133
STATE       initialized
TYPE         weblink
WLTYPE    iframe

Attributes
fp_Erdgeschoss          10,1050,0,
fp_Obergeschoss        10,1050,0,
fp_Terminal                3,730,1,
htmlattr                      width="640" height="360"
room                           I_Kamera



Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: frank am 12 Januar 2016, 14:00:52
ZitatIch vermute ja das der Fehler in den Einstellungen von Windows liegt, finde aber keinen Ansatz dazu. Evtl. das abschalten von Bildschirm? Den möchte ich aber aus Stromspargründen ungern durchlaufen lassen.
zum testen würde ich den bidschirm mal laufen lassen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marty29ak am 12 Januar 2016, 15:05:15
Danke, habe den Fehler evtl. gefunden. Der Mini PCI Anschluss hat nochmal eine eigene Energieeinstellung, nachdem ich diese auch abgeschaltet habe scheint es (bis jetzt) zu funktionieren.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Tompsg am 15 März 2016, 23:50:28
Ich versuche hier nochmal eine Lösung für das Problem "Wrong or not supported image format: unknown" zusammen zu fassen und hoffe, dass es Verzweifelten hilft  :)

Zunächst gilt es festzustellen, ob das Problem mit der hier beschriebenen Lösung umgangen werden kann. Da das Modul 49_IPCAM hierfür keine Debug-Option hat, muss es von Hand erweitert werden. Dies wurde weiter oben im Thread bereits angeregt.

Also im fhem/FHEM-Verzeichnis die Datei 49_IPCAM.pm öffnen und folgende Stelle suchen (Zeile 380)


...
  $timestamp =~ s/(:|-)//g;

  $snapshot = GetFileFromURLQuiet($camURI);

  $imageFormat = IPCAM_guessFileFormat(\$snapshot);

  my @imageTypes = qw(JPEG PNG GIF TIFF BMP ICO PPM XPM XBM SVG);
...


Dort die beiden beiden Debug-Ausgaben einfügen:


...
  $timestamp =~ s/(:|-)//g;

  $snapshot = GetFileFromURLQuiet($camURI);
  Log 1, "IPCAM $name URI: $camURI";
  Log 1, "IPCAM $name Snapshot: $snapshot";

  $imageFormat = IPCAM_guessFileFormat(\$snapshot);

  my @imageTypes = qw(JPEG PNG GIF TIFF BMP ICO PPM XPM XBM SVG);
...


Jetzt in FHEM ein "reload 49_IPCAM" eingeben und mit "get camname image" einen neuen snapshot anfordern. Im Log findet Ihr nun die Ausgaben, die wir benötigen. Interessant ist die zweite Zeile, den hier erwartet das Modul eigentlich das Kamerabild. Steht hier ein solcher oder ähnlicher Text, dann findet Ihr weiter unten eine Lösung dazu. Ansonsten die beiden oben eingefügten Zeilen wieder entfernen, da der Bildinhalt im Log nicht schön ist.


2015.07.13 22:00:48.629 1: IPCAM Kamera1 URI: http://192.168.1.1:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=guest&pwd=guest
2015.07.13 22:00:48.637 1: IPCAM Kamera1 Snapshot: <html><body><img src="../snapPic/Snap_20150713-220101.jpg"/></body></html>
2015.07.13 22:00:48.639 1: IPCAM Kamera1 Wrong or not supported image format: unknown


Die Lösung ist nun den Link anzupassen und erneut an die Funktion GetFileFromURLQuiet zu senden. Dazu schneiden wir den relevanten Teil aus dem String heraus, indem wir Startpunkt und die Länge ermitteln.


          1         2
01234567890123456789012345
<html><body><img src="../snapPic/Snap_20150713-220101.jpg"/></body></html>
                                  1         2         3
                         12345678901234567890123456789012



Hier also ab Position 25 mit einer Länge von 32 Zeichen. Nun erweitern wir die 49_IPCAM.pm um folgende Kommandos.


...
  $timestamp =~ s/(:|-)//g;

  $snapshot = GetFileFromURLQuiet($camURI);
  Log 1, "IPCAM $name URI: $camURI";
  Log 1, "IPCAM $name Snapshot: $snapshot";

  $snapshot="http://$camAuth/".substr($snapshot,25,32);
  Log 1, "IPCAM $name SnapshotNeu: $snapshot";

  $snapshot = GetFileFromURLQuiet($snapshot);

  $imageFormat = IPCAM_guessFileFormat(\$snapshot);

  my @imageTypes = qw(JPEG PNG GIF TIFF BMP ICO PPM XPM XBM SVG);
...


Nun wieder reload und get image und dann solltet ihr in der Debug-Ausgabe eine korrekt formatiere URL sehen. Damit sollte das Modul jetzt arbeiten können. Der Nachteil ist, dass nun unterschiedliche Kameras nicht mehr laufen. Daher wäre es prima die Funktion als Option im Modul einzubauen.

Viele Grüße,
Thomas
Titel: Edimax IC-3115W
Beitrag von: coh3r3nt am 28 April 2016, 16:02:46
Hallo zusammen,

bie mir läuft die Edimax IC-3115W mit dem Modul.


define IC3115W IPCAM 192.x.x.x
attr IC3115W basicauth user:geheim
attr IC3115W path snapshot.jpg


Wer eine andere Edimax-Cam hat, kann sich den paramter für path hier raussuchen: https://www.ispyconnect.com/man.aspx?n=Edimax (https://www.ispyconnect.com/man.aspx?n=Edimax) raussuchen.

Ich hätte auch noch einen Wunsch für das Modul. Könnte man als Kommando auch das Bild (get IC3115W image) machen lassen, zB.:

attr IC3115W webCmd image


So könnte man im Frontend das speichern eines Bildes antriggern durch klick auf das webCmd.

greets,
coh3r3nt
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Calle78 am 29 Mai 2016, 19:48:17
docb ich hatte das gleiche Problem. Mit

attr Cam1 pathPanTilt decoder_control.cgi?
ging es auch mit der Instar 3010 und 3011

hier meine ganze Definition:

define Cam1 IPCAM IP:PORT
attr Cam1 basicauth user:pass
attr Cam1 cmdPanLeft command=4
attr Cam1 cmdPanRight command=6
attr Cam1 cmdPos01 command=31
attr Cam1 cmdPos02 command=33
attr Cam1 cmdPos03 command=35
attr Cam1 cmdPos04 command=37
attr Cam1 cmdPos05 command=39
attr Cam1 cmdPos06 command=41
attr Cam1 cmdStep onstep
attr Cam1 cmdTiltDown command=2
attr Cam1 cmdTiltUp command=0
attr Cam1 pathPanTilt decoder_control.cgi?
attr Cam1 delay 0
attr Cam1 group Kamera
attr Cam1 icon it_camera
attr Cam1 path snapshot.cgi
attr Cam1 room Security
attr Cam1 snapshots 1
attr Cam1 storage /opt/fhem/www/snapshots/cam1
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: franky08 am 19 Juni 2016, 19:27:21
Hallo, mich würde interessieren wie ihr euch die snapshot's (hier als jpg) anzeigen lasst? Direkt in der fhem GUI mittels weblink oder wie macht ihr das?

P.S. ein
weblink image /opt/snapshot/ipcam_snapshot.jpg

Internals:
   DEF        image /opt/snapshot/ipcam_snapshot.jpg
   LINK       /opt/snapshot/ipcam_snapshot.jpg
   NAME       Bilder
   NR         2009
   STATE      initialized
   TYPE       weblink
   WLTYPE     image
Attributes:
   DbLogExclude .*
   htmlattr   width="720" height="480"
   room       Flur


funktioniert leider nicht obwohl unter /opt/snapshot die Bilder zu finden sind und Benutzer/Gruppe von /opt/snapshot fhem.dialout ist und Schreib-Lesezugriff besteht

VG
Frank
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marvin78 am 22 Juni 2016, 16:45:08
Dein Pfad stimmt auch? Was genau funktioniert nicht? Gibt es Fehler? Ich würde die snapshots relativ zum fhem Pfad speichern.

Ich mache sowas (um es dynamisch zu halten):

sub last_pics($;$$$)
{
my ($cam,$w,$c) = @_;
my $c=6 if (!defined($c));
my $w=450 if (!defined($w));
my ($s, $i, $j, $o);
$s="<tr><td>";
for ($i=1; $i<=$c; $i++)
{
    $o=$i-1;
    $j  = $i."p";
    $s .="  <script>
    \$(function() {
      \$( '#pic_".$j."_dialog' ).dialog({
          autoOpen: false,
          closeOnEscape: true,
          width: 820,
       });
      \$( '#pic_".$j."_link' ).click(function() {
        \$( '#pic_".$j."_dialog' ).dialog( 'open' );
        return false;
      });
    });
    </script>";
    if ($o % 2==0) {$s .= "</td></tr><tr><td>";}
    elsif ($o!=0) {$s .= "</td><td>";}
    $s .="<a id='pic_".$j."_link' href='#'><img src='/fhem/";
    $s .= qx(ls -1t ./www/snapshots/$cam/* | sed -n $j);
    $s .= "' width='$w' /></a>";
    $s .= "<div id='pic_".$j."_dialog' title='Pic'><img src='/fhem/";
    $s .= qx(ls -1t ./www/snapshots/$cam/* | sed -n $j);
    $s .= "' width='800' /></div>";
}
$s.= "</td></tr>";
$s = "<table>".$s."</table>";
return $s;
}


Das ganze aus dem Weblink (htmlCode) mit dem IPCAM-Devicenamen als Parameter (+ möglicherweise Anzahl der letzten Fortos und Breite) aufrufen und man hat eine kleine Galerie.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: franky08 am 22 Juni 2016, 18:33:41
@marvin78
Habe es über HTTPSRV gelöst, funktioniert top. Zugriff dann über weblink image ...

https://forum.fhem.de/index.php/topic,54819.0.html

Zitataufrufen und man hat eine kleine Galerie.
gefällt mir  :)

VG
Frank
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: franky08 am 27 Juni 2016, 19:30:24
Irgendwie bekomme ich die Foscam FI8918W nicht dazu gespeicherte Positionen anzufahren. Habe mir auf der Foscam Seite mal die cgi Befehle zu Gemüte geführt und damit müsste es eigentlich funktionieren.

Hier mal ein list:
Internals:
   AUTHORITY  192.168.2.64:88
   DEF        192.168.2.64:88
   NAME       ipcam
   NR         2008
   SEQ        0
   STATE      last: 2016-06-27 18:41:46
   TYPE       IPCAM
   Readings:
     2016-06-27 18:41:46   last            ipcam_snapshot.jpg
     2016-06-27 18:41:38   snapshot1       ipcam_snapshot_1.jpg
     2016-06-27 18:41:39   snapshot2       ipcam_snapshot_2.jpg
     2016-06-27 18:41:40   snapshot3       ipcam_snapshot_3.jpg
     2016-06-27 18:41:41   snapshot4       ipcam_snapshot_4.jpg
     2016-06-27 18:41:42   snapshot5       ipcam_snapshot_5.jpg
     2016-06-27 18:41:43   snapshot6       ipcam_snapshot_6.jpg
     2016-06-27 18:41:44   snapshot7       ipcam_snapshot_7.jpg
     2016-06-27 18:41:45   snapshot8       ipcam_snapshot_8.jpg
     2016-06-27 18:41:46   snapshot9       ipcam_snapshot_9.jpg
     2016-06-27 18:41:46   snapshots       9
Attributes:
   DbLogExclude .*
   cmdPos01   command=39&user=xxxxxx&pwd=xxxxxxxx
   cmdPos02   command=41&user=xxxxxx&pwd=xxxxxxxx
   delay      1
   path       cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxxxx&pwd=xxxxxxxx 
   pathPanTilt decoder_control.cgi?
   room       Flur,Kamera
   snapshots  9
   storage    ./www


oder müsste in pathPanTilt der komplette Pfad?

Das funktioniert leider auch nicht:

Internals:
   AUTHORITY  192.168.2.64:88
   DEF        192.168.2.64:88
   NAME       ipcam
   NR         2008
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   Readings:
     2016-06-28 08:29:14   last            ipcam_snapshot.jpg
     2016-06-28 08:29:06   snapshot1       ipcam_snapshot_1.jpg
     2016-06-28 08:29:07   snapshot2       ipcam_snapshot_2.jpg
     2016-06-28 08:29:08   snapshot3       ipcam_snapshot_3.jpg
     2016-06-28 08:29:09   snapshot4       ipcam_snapshot_4.jpg
     2016-06-28 08:29:10   snapshot5       ipcam_snapshot_5.jpg
     2016-06-28 08:29:11   snapshot6       ipcam_snapshot_6.jpg
     2016-06-28 08:29:12   snapshot7       ipcam_snapshot_7.jpg
     2016-06-28 08:29:13   snapshot8       ipcam_snapshot_8.jpg
     2016-06-28 08:29:14   snapshot9       ipcam_snapshot_9.jpg
     2016-06-28 08:29:14   snapshots       9
Attributes:
   DbLogExclude .*
   cmdPos01   command=39
   cmdPos02   command=41
   cmdPos03   command=31
   delay      1
   path       cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxxxx&pwd=xxxxxxx
   pathPanTilt decoder_control.cgi?usr=xxxxxxxx&pwd=xxxxxxxx
   room       Kamera,Wohnzimmer
   snapshots  9
   storage    ./www


Hat jemand eine Tipp?

VG
Frank
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: franky08 am 28 Juni 2016, 15:53:26
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
   
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Maista am 28 Juni 2016, 21:14:32
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: franky08 am 28 Juni 2016, 21:30:12
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: raspklaus am 18 Juli 2016, 12:32:49
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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: heikoh81 am 19 Juli 2016, 19:41:24
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: andre07 am 25 Juli 2016, 20:49:31
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: micky0867 am 27 Juli 2016, 06:52:40
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: andre07 am 01 August 2016, 01:38:46
Habs zwischenzeitlich hinbekommen Ipcam läuft jetzt mit
meiner hootoo
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: jmike am 01 August 2016, 09:04:08
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.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 15 Oktober 2016, 10:44:15
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 15 Oktober 2016, 11:50:58
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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 15 Oktober 2016, 12:37:55
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 15 Oktober 2016, 13:03:28
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

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 15 Oktober 2016, 16:41:21
Hast du evtl eine Starthilfe für mich?
Bin nicht so der Linux Profi.

Mit freundlichen Grüßen
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 am 15 Oktober 2016, 17:17:22
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 15 Oktober 2016, 17:20:14
Danke.
Ich werde mich gleich mal ransetzen und es über die Woche ausprobieren.

Mit freundlichen Grüßen
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jojo11 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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: visionsurfer 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



Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: visionsurfer 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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: cameli2 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 (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.yyy
In 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...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Grafkox 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 (https://213.252.140.23/index.php/topic,54028.msg462414.html#msg462414) 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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Patrik.S 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 (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);
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Andre0909 am 25 Januar 2017, 15:11:21
Zitat von: Jojo11 am 15 Oktober 2016, 17:17:22
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Andre0909 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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Tueftler1983 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?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: weini 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 (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 (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 (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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: weini 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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: wolfram 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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Tueftler1983 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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: wolfram am 13 April 2017, 20:28:02
Zitat von: Tueftler1983 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


Mhh, ja, das würde natürlich gehen, aber gibt es denn keine Möglichkeit, die neueste Datei eines Verzeichnisses zu bestimmen und diese zu verwenden?


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Tueftler1983 am 13 April 2017, 20:47:36
I'm Prinzip ist es ja so wie du es definiert hast die neueste datei. Aber fhem führt den sende Befehl schneller aus als das neue Bild gespeichert ist. Das Problem hatte ich auch und habe deshalb ein wait 2 vor dem senden gesetzt damit ist die Datei auf jeden Fall aktuell
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 14 April 2017, 09:12:31
Kann ich bestätigen. Es dauert einfach, bis das Bild gespeichert wurde.

Du könntest das Versenden durch ein separates Notify machen, das auf die Aktualisierung des Readings last in Deinem IPCam-Modul triggert.
Dann hast Du die Gewissheit, erst zu Versenden, wenn ein neues Bild aufgenommen wurde.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: wolfram am 17 April 2017, 18:38:17
frohe Ostern zusammen,
das mit dem notify auf "last" probiere ich mal. vielen Dank für den Tip

wolf
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: andies am 30 April 2017, 12:48:19
Zitat von: Tompsg am 15 März 2016, 23:50:28
Ich versuche hier nochmal eine Lösung für das Problem "Wrong or not supported image format: unknown" zusammen zu fassen und hoffe, dass es Verzweifelten hilft  :)

Danke, mir hat es geholfen. Ich habe festgestellt, dass bei der Angabe der URL nicht http:// davor stehen darf und der Pfad nicht mit einem Slash beginnen kann (bei mir stand dann im Aufruf http://http://url//snapshot.cgi). Vielleicht könnte man den Entwickler bitten, bei der Fehlermeldung gleich die URL aufzuzeigen, dann sieht man den Fehler sofort? Oder in der commandref...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Franz Tenbrock am 28 Juni 2017, 19:08:13
so langsam wird es was..
leider kann meine Foscam C1 kein MJPG stream, ganze Netz rauf und runter

Ich hab die cam so definiert:

Internals:
   AUTHORITY  192.168.10.32:88
   CHANGED
   DEF        192.168.10.32:88
   NAME       CAM
   NR         32
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   Readings:
     2017-06-28 17:32:48   snapshots       0
Attributes:
   delay      10
   icon       it_camera
   path       cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=pi&pwd=passwort
   room       CAM
   snapshots  2
   storage    /opt/fhem/www/snapshots/cam
   verbose    5


wenn ich nun ein get image mache kommt kurz später das im Log:

IPCAM CAM Can't write /opt/fhem/www/snapshots/cam/CAM_snapshot.jpg: Keine Berechtigung

mit diesem hier bekomme ich ein aktuelles Bild im fhem Fenster 8)


define GartenCam weblink htmlCode <img src="http://192.168.10.32:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=pi&pwd=passwort">
attr GartenCam room Garten


den Ordner /snapshots/cam habe ich als user pi mittels
mkdir snapshots
mkdir cam
und dann Rechtevergabe
sudo chmod 755 snapshots
sudo chmod 755 cam

pi ist sowohl der user von camera als auch vom pi

wenn ich beide Ordner nun auf
777 setze kann ich ein Bild speichern, aber ob das sinnvoll ist ??

wie kann man dann die Bilder anzeigen, bei doorpi reicht ein einfacher Klick auf den Link
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 28 Juni 2017, 19:40:46
Zitat von: Franz Tenbrock am 28 Juni 2017, 19:08:13
den Ordner /snapshots/cam habe ich als user pi mittels
mkdir snapshots
mkdir cam
und dann Rechtevergabe
sudo chmod 755 snapshots
sudo chmod 755 cam

pi ist sowohl der user von camera als auch vom pi
FHEM und damit auch das Modul IPCAM wird üblicherweise vom Benutzer fhem ausgeführt. Der sollte also Besitzer dieser Ordner sein.
Das kannnst Du mit chown nachträglich ändern. Die Zugriffsrechte sollten wie bei den übergeordneten sein (etwa /opt/fhem/www/), denn die gehören auch fhem.
Damit sollte sich das Berechtigungsproblem lösen lassen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Franz Tenbrock am 28 Juni 2017, 20:07:30
so nun hab ich also schon wieder 30 Minuten versucht mit google rauszufinden wie man nun dem Ordner die passenden Rechte gibt.
Ich bin normalerweise als pi am raspi angemeldet, wenn ich nun mit Winscp oder putty die Rechte vergebe ist der Besitzer p und nicht fhem
bei Windows wäre das für mich ein Klacks
Sorry

im Einsteiger Pdf und in der commandref bisher nichts gefunden
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: franky08 am 28 Juni 2017, 20:13:38
Such mal nach Linux chown  ;)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Franz Tenbrock am 28 Juni 2017, 20:26:15
also
chown -R fhem:fhem  /snapshots/cam
?!

die Syntax wieder nicht verstanden..
oder sonst was
mit Winscp als root eingewählt dann ging es, einfahc nachgesheen wie die übergeordneten Ordner eingestellt waren ....
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Skenik am 25 August 2017, 13:11:44
Hallo
Ich hoffe mir kan hier jemand helfen.
Ich habe meine D-imk dcs933l ins FHEM integriert:

define CAM1 weblink iframe http://xxx:XXX@192.168.0.120/video/mjpg
attr CAM1 htmlattr width="180" height="180"
attr CAM1 room Camera

(xxx=benutzername; XXX=passwort)

Kriege aber kein bild angezeigt

das habe ich von der Home seite von Dlink:

Um ein LiveBild oder einen LiveStream von einer Kamera zu erhalten kann man folgende URLs verwenden:
JPEG:
http(s)://benutzername:passwort@ip_der_kamera/image/jpeg.cgi
MJPEG:
http(s)://benutzername:passwort@ip_der_kamera/video/mjpg.cgi
Anmerkung: Ein direkter Aufruf der URL im Browser funktioniert nur unter Firefox und Chrome.

in jeder Browster kriege ich das video angezeigt

was mache ich falsch?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: qlaus am 25 August 2017, 14:18:14
Hallo Skenik,

vielleicht fehlt ja auch nur das ".cgi" am Schluss des Links. Manchmal funktioniert das Bild auch nicht im Frame.

Gruß
qlaus
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Skenik am 25 August 2017, 15:34:44
"cgi" steht am Ende
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Skenik am 25 August 2017, 15:36:52
Gibt es andere Möglichkeiten die Camera ins fhem einzubinden süßer "weblink"?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: franky08 am 10 September 2017, 18:51:28
Hallo, mich beschäftigt iMo die Frage wie ich mehr als nur einen snapshot abholen kann. Die Kamera macht z.B. 5 snapshots, mittels weblink kann ich mir nun ein Foto zur Anzeige abholen. Mir fehlt ein Lösungsansatz um alle 5 snapshots zu holen und als Mosaik darzustellen.

Hat jemand einen Tipp?

VG
Frank
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MiMoAC am 11 September 2017, 11:34:53
Hallo Zusammen.

Ich habe mir eine IP-Kamera von CTronics gekauft.

http://www.ctronicssecuritycameras.com/shop/wifi-720p-ip-camera/150-wide-viewip-cameractronics-wifi-wireless-security-camera-surveillance-dome-camera-vandalproofaudiohd-720pnight-visionmotion-detectemail-alertpcphonetabletcms-remote16g-sd-includ/ 

(Bei Amazon für 80€ https://www.amazon.de/gp/product/B0744JNLLX/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)

Bisher funktioniert alles ganz gut mit der App des Herstellers und mit iSpy.

Ich würde gerne die IP-Kamera in FHEM einbinden, sodass ich wie bei euch ein Bild zugeschickt bekomme.

Das Kamerabild in iSpy erhalte ich über folgenden Link:

IPKamera mit Wizard

Ich habe festgestellt, dass ich ein Bild bekomme, wenn ich statt Ctronics -- HiSilicon RTSP(TCP) DVR als Hersteller auswähle.

rtsp://admin.admin@192.168.xxx.xxx:554/11   (Dieser Link funktioniert auch im VLC-Player)

(Zur Sicherheit verwende ich HIER die Default Passwörter und die gekürzte IP.)

Kann mir jemand weiterhelfen?

Meine Config sieht derzeit so aus:

define IPKAMERA IPCAM 192.168.xxx.xxx:554/11
attr IPKAMERA delay 0
attr IPKAMERA group Kamera
attr IPKAMERA icon it_camera
attr IPKAMERA path rtsp://username:passwort@192.168.xxx.xxx:554/11
attr IPKAMERA room IP Kamera
attr IPKAMERA snapshots 1
attr IPKAMERA storage /opt/fhem/www/snapshots/cam1
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 12 September 2017, 08:15:08
Zitat von: MiMoAC am 11 September 2017, 11:34:53
rtsp://admin.admin@192.168.xxx.xxx:554/11   (Dieser Link funktioniert auch im VLC-Player)
RTSP ist ein Streaming-Protokoll. Darüber überträgt die Kamera Video und Audio.
Für IPCAM benötigst Du aber Snapshots, also Einzelbildaufnahmen.

Du musst als einen Link finden, unter dem Du jeweils ein Einzelbild abrufen kannst.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dk3572 am 19 November 2017, 12:56:57
Hallo,

ich versuche über das Modul ipcam meine Instar 5907HD zu steuern. Leider ohne Erfolg.
Ich habe diesen und viele weitere Beiträge bereits mehrfach gelesen. Auch diese Seite
https://www.fischer-net.de/hausautomation/fhem/62-fhem-modul-ipcam-ueberarbeitet.html
mehrfach gelesen. Mir erschließt sich nicht wie ich diese Befehle https://wiki.instar.de/1080p_Series_CGI_List/
in das Modul eintagen muss.

Vielleicht kann mir bitte jemand behilflich sein oder seine Einstellungen zeigen?

defmod ipcam_Hof IPCAM 192.xxx.xxx.xxx:xxxx
attr ipcam_Hof basicauth {USERNAME}:{PASSWORD}
attr ipcam_Hof cmd01 param.cgi?cmd=setinfrared&-infraredstat=auto
attr ipcam_Hof credentials /opt/fhem/ipcam.conf
attr ipcam_Hof path snapshot.cgi?user={USERNAME}&pwd={PASSWORD}
attr ipcam_Hof pathCmd param.cgi?cmd=getinfrared
attr ipcam_Hof room Alarme
attr ipcam_Hof snapshots 1
attr ipcam_Hof storage /opt/fhem/ipcam


Vielen Dank im Voraus.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Schlimbo am 19 November 2017, 19:35:49
Hallo dk3572,

Ich habe eine INSTAR 8015 Full HD, hier meine Einstellungen:
defmod Cam1 IPCAM 192.xxx.xxx.xxx:80
attr Cam1 basicauth {USERNAME}:{PASSWORD}
attr Cam1 cmd01 cmd=setinfrared&-infraredstat=auto
attr Cam1 cmd03 cmd=setinfrared&-infraredstat=close
attr Cam1 cmd04 cmd=setioattr&-io_enable=1&-io_flag=1
attr Cam1 cmd05 cmd=setioattr&-io_enable=0&-io_flag=0
attr Cam1 cmd06 cmd=setmdalarm&-aname=type&-switch=on
attr Cam1 cmd07 cmd=setmdalarm&-aname=type&-switch=off
attr Cam1 cmd08 cmd=setmdattr&-name=1&-enable=1
attr Cam1 cmd09 cmd=setmdattr&-name=1&-enable=0
attr Cam1 cmdPanLeft -act=left
attr Cam1 cmdPos01 -act=goto&-number=0
attr Cam1 cmdPos02 -act=goto&-number=1
attr Cam1 cmdPos03 -act=goto&-number=2
attr Cam1 cmdPos04 -act=goto&-number=3
attr Cam1 cmdPos05 -act=goto&-number=4
attr Cam1 credentials /opt/fhem/IPcam_credentials.cfg
attr Cam1 delay 2
attr Cam1 path /tmpfs/snap.jpg
attr Cam1 pathCmd param.cgi
attr Cam1 pathPanTilt param.cgi?cmd=preset
attr Cam1 storage ./www/snapshots


Da deine Cam eine 720p Kamera ist solltest du diese Befehle verwenden:
https://wiki.instar.de/720p_Series_CGI_List/ (https://wiki.instar.de/720p_Series_CGI_List/)

Leider ist das mit dem Modul etwas undurchsichtig, wie sich die Befehle aus den Attributen pathPanTilt/pathCmd und path zusammensetzen.
Erst einen Blick in den Sourcecode brachte etwas Licht ins dunkle.

"cmd"-Befehle werden Intern so zusammengefügt:
<pathCmd>?<cmd>
schaut man sich jetzt den INSTART Befehl für die Infrarot LEDs an:
param.cgi?cmd=setinfrared&-infraredstat=auto
sieht man , wie die Attribute gesetzt werden müssen.
Da <pathCmd> und <cmdXX> im Modul mit einen "?"-Zeichen verbunden werden, sehen die Attribute wie folgt aus:
attr <name> pathCmd param.cgi
attr <name> cmd01 cmd=setinfrared&-infraredstat=auto

Die Befehle "set <name> pos" werten Intern so verschaltet:
<pathPanTilt>&<cmdPosXX>
Der INSTAR Befehl um einen Position anzufahren lautet:
param.cgi?cmd=preset&-act=goto&-number=0
Da <pathPanTilt> und <cmdPosXX> im Modul mit einen "&"-Zeichen verbunden werden, müssen die Attribute so gesetzt werden:
attr <name> pathPanTilt param.cgi?cmd=preset
attr <name> cmdPos01 -act=goto&-number=0

Der INSTAR Befehl um nach rechts zu schwenken lautet:
ptzctrl.cgi?-step=&-act=left
hier müssten dann die Attribute wie folgt gesetzt werden:
attr <name> pathPanTilt ptzctrl.cgi?-step=
attr <name> cmdPanLeft -act=left

Da für die "pan","tilt" und "pos" immer der Pfad "pathPanTilt" verwendet wird, muss man sich also entscheiden auf welchen Wert man "pathPanTilt" setzt.
Schön wäre hier ein extra Attribut "pathPos".

Ich steuere meine INSTAR ausschließlich über den raw Befehl, denn dann können die Befehle einfach so benutzt werden, wie sie auf der INSTAR-WIKI Seite stehen und man muss sich keine Gedanken über die Zusammensetzung der Attribute machen.
z.B
set <name> raw param.cgi?cmd=setinfrared&-infraredstat=auto

Hoffe das hilft dir etwas.
Gruß Schlimbo
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dk3572 am 19 November 2017, 20:18:56
Hallo Schlimbo,

vielen Dank für die ausführliche Hilfe!
Das mit den 720p ist mir auch bereits aufgefallen.
Habe alles wie von dir beschrieben umgesetzt, funktioniert aber immer noch nicht.
Bekomme diese Warnung:
ZitatPERL WARNING: Possible unintended interpolation of @IS in string at (eval 151402) line 5

Habe es gelöst. Lag an dem "@" in meinem Passwort. Passwort geändert, funzt!

Vielen Dank noch mal für deine sehr detaillierte Hilfe!

Gruß Dieter
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: berrnd am 03 Januar 2018, 18:19:49
Hallo zusammen,

ich wollte heute eine DCS-5000L von D-Link einbinden, klappt auch alles mit dem Modul, bis auf dass die Nachtsicht-Infrarot-LEDs leider nur per POST und nicht per GET Request gesteuert werden können.

Ich habe dazu die Attribute cmdPostXX, analog cmdXX, und den Set-Befehl cmdPost eingebaut.
Heißt ein set cmdPost 1 führt dann entsprechend das Gleiche als POST-Request aus, wie set cmd 1, nur dass der Pfad aus dem Attribut pathCmdPost kommt und die Werte im Attribute cmdPost01 stehen.

Außerdem war nötig, dass die POST-Requests einen Referer-Header haben, dazu habe ich dann noch das Attribut cmdPostReferer hinzugefügt.

Falls das jemand was nützt, hier sind die Änderungen: https://github.com/berrnd/fhem-mirror/compare/master...berrnd:feature-IPCAM-postrequests (https://github.com/berrnd/fhem-mirror/compare/master...berrnd:feature-IPCAM-postrequests)
(Ich bin in Perl leider immer noch absolut nicht Zuhause, also seid dahingehend gerne nachsichtig...  :D)

Die Definition meiner Kamera sieht dann aktuell so aus
defmod Flur.Kamera IPCAM camera-flur
attr Flur.Kamera userattr streamurl
attr Flur.Kamera basicauth xx:xx
attr Flur.Kamera cmdPanLeft PanSingleMoveDegree=15&TiltSingleMoveDegree=15&PanTiltSingleMove=3
attr Flur.Kamera cmdPanRight PanSingleMoveDegree=15&TiltSingleMoveDegree=15&PanTiltSingleMove=5
attr Flur.Kamera cmdPos01 PanTiltPresetPositionMove=1
attr Flur.Kamera cmdPos02 PanTiltPresetPositionMove=2
attr Flur.Kamera cmdPos03 PanTiltPresetPositionMove=3
attr Flur.Kamera cmdPos04 PanTiltPresetPositionMove=4
attr Flur.Kamera cmdPos05 PanTiltPresetPositionMove=5
attr Flur.Kamera cmdPos06 PanTiltPresetPositionMove=6
attr Flur.Kamera cmdPos07 PanTiltPresetPositionMove=7
attr Flur.Kamera cmdPosHome PanTiltPresetPositionMove=7
attr Flur.Kamera cmdPost01 IRLed=0
attr Flur.Kamera cmdPost02 IRLed=1
attr Flur.Kamera cmdPostReferer http://camera-flur
attr Flur.Kamera cmdTiltDown PanSingleMoveDegree=15&TiltSingleMoveDegree=15&PanTiltSingleMove=7
attr Flur.Kamera cmdTiltUp PanSingleMoveDegree=15&TiltSingleMoveDegree=15&PanTiltSingleMove=1
attr Flur.Kamera group Kameras
attr Flur.Kamera path image/jpeg.cgi
attr Flur.Kamera pathCmdPost setControlDayNight
attr Flur.Kamera pathPanTilt pantiltcontrol.cgi?
attr Flur.Kamera room Flur
attr Flur.Kamera storage ./www/snapshots
attr Flur.Kamera streamurl http://xx:xx@camera-flur/video.cgi


Was ich auch noch ganz nützlich fände, wären Aliasnamen für die gespeicherten Positionen, evtl. bekomme ich das bei Gelegenheit ja auch noch hin...

Grüße,
Bernd
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: msfox am 04 Januar 2018, 15:11:55
Zitat von: Schlimbo am 19 November 2017, 19:35:49
Der INSTAR Befehl um nach rechts zu schwenken lautet:
ptzctrl.cgi?-step=&-act=left
Dann darf ich aber cmdStep nicht setzen oder?
Wenn ich das aber nicht setze, kann ich set cam1 pan left 1 nicht absetzen. Hier kommt der Fehler, dass cmdStep nicht gesetzt ist.


Ich habe eine IN-6014HD.
Die Befehle von der Seite https://www.instar.de/faq_cgi_hd klappen auch.

http://192.168.2.9/cgi-bin/hi3510/ptzctrl.cgi?-step=1&-act=left
definiert ist das Device wie folgt:

defmod cam1 IPCAM 192.168.2.9
attr cam1 alias Kamera 1
attr cam1 basicauth admin:qwertz
attr cam1 cmd01 cmd=setimageattr&-flip=on
attr cam1 cmd02 cmd=setimageattr&-flip=off
attr cam1 cmd03 cmd=setinfrared&-infraredstat=open
attr cam1 cmdPanLeft -act=left
attr cam1 cmdPanRight right
attr cam1 cmdStep -step
attr cam1 cmdTiltDown down
attr cam1 cmdTiltUp up
attr cam1 loglevel 6
attr cam1 path snap.jpg
attr cam1 pathCmd param.cgi?
attr cam1 pathPanTilt cgi-bin/hi3510/ptzctrl.cgi?
attr cam1 room Kameras
attr cam1 storage ./www/snapshots
attr cam1 webCmd pan left:pan right

Wenn ich den Befehl "set cam1 pan left" absetze passiert nix.
passiert nix:

Wenn ich attr cam1 pathPanTilt cgi-bin/hi3510/ptzctrl.cgi?-step=
passiert auch nix.

Wie wäre denn ein Beispiel, damit die Befehl https://www.instar.de/faq_cgi_hd richtig als URL in IPCAM umgesetzt werden.

Mit einem LOG kann ich leider nicht dienen. Trotz loglevel im IPCAM-Modul = 6 und in global = 4 ist das einzige was geloggt wird:

Was geht

GET cam1 image

und

set cam1 cmd01


D.h. irgendwie wird die URL für Pan und Til nicht sauber zusammengebaut.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: msfox am 04 Januar 2018, 17:51:13
So folgendes klappt jetzt:

defmod cam1 IPCAM 192.168.2.9
attr cam1 alias Kamera 1
attr cam1 basicauth admin:qwertz
attr cam1 cmd01 cmd=setimageattr&-flip=on
attr cam1 cmd02 cmd=setimageattr&-flip=off
attr cam1 cmd03 cmd=setinfrared&-infraredstat=open
attr cam1 cmdPanLeft -act=left
attr cam1 cmdPanRight -act=right
attr cam1 cmdTiltDown -act=down
attr cam1 cmdTiltUp -act=up
attr cam1 delay 2
attr cam1 loglevel 6
attr cam1 path snap.jpg
attr cam1 pathCmd param.cgi?
attr cam1 pathPanTilt ptzctrl.cgi?-step=0
attr cam1 room Kameras
attr cam1 storage ./www/snapshots
attr cam1 webCmd pan left:pan right:tilt up:tilt down:raw ptzctrl.cgi%3F-step%3D0%26-act%3Dstop

Schöne wäre, wenn man den webCmd für STOP noch sinnvoller definieren könnte. Leider geht das nur via RAW, da ich für cmd-Befehle schon param.cgi verwende.
Auch klappt es nicht via cmdIcon hier Icons zuzuweisen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: berrnd am 04 Januar 2018, 20:28:52
Zitat von: berrnd am 03 Januar 2018, 18:19:49
Was ich auch noch ganz nützlich fände, wären Aliasnamen für die gespeicherten Positionen, evtl. bekomme ich das bei Gelegenheit ja auch noch hin...

Das habe ich nun gebastelt - falls es wer nützlich findet: https://github.com/berrnd/fhem-mirror/compare/master...berrnd:feature-IPCAM-posaliases (https://github.com/berrnd/fhem-mirror/compare/master...berrnd:feature-IPCAM-posaliases)
(Die Anpassungen erfolgten unabhängig voneinander, als Basis hier habe ich wieder das aktuelle IPCAM Modul genommen.)

Man kann damit nun z. B. einen Alias für Position 1 definieren
attr Flur.Kamera cmdPos01Alias garderobe
und die dann einfach ansteuern
set Flur.Kamera pos garderobe
wobei ganz normal das Kommando aus cmdPos01 verwendet wird.

Der Vollständigkeit halber habe ich das auch für cmdXX ergänzt.

Grüße,
Bernd
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: blueberry63 am 08 Januar 2018, 13:17:45
Hallo,

ich sehe immer mal wieder folgenden Eintrag im LOG:


PERL WARNING: Use of uninitialized value $camret in concatenation (.) or string at ./FHEM/49_IPCAM.pm line 234


Hat jemand eine Idee, wo das herkommen könnte?

Gruß
Blueberry63
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Patrik.S am 08 Januar 2018, 21:20:22
Von deiner IP Kamera konnte kein Bild geholt werden.
Die Ausgabe
ZitatUse of uninitialized value $camret
kommt aus der IPCAM_Set()

Ich habe mir das Modul an den beiden Stellen erweitert, das es überprüft ob das Bild holen auch erfolgreich war.
Wenn die jeweilige Variable durch das jeweilige GetFileFromURLQuiet() Leer geblieben ist, dann gibt's eine etwas besser lesbare Warnung


     my $camret = GetFileFromURLQuiet($camURI, 10, "", 1, 5);
     $camret = "" unless defined $camret;
     if($camret eq '') {
       Log 1, "IPCAM $name IPCAM_Set() got not image in time!";
       ##Log 5, "IPCAM $name camURI was: $camURI"; # ACHTUNG! Diese Zeile nur im Notfall oder wenn neue IPcam in Betrieb genommen wird. URL enthält sensible Daten, wie z.B. auch User & Passwort !!!!
       return "Error IPCAM $name got not image in time!";
     }
     Log 5, "ipcam return:$camret";

   }
   return undef;



   $snapshot = GetFileFromURLQuiet($camURI, 10, "", 1, 5);
   $snapshot = "" unless defined $snapshot;
   if($snapshot eq '') {
     Log 1, "IPCAM $name IPCAM_getSnapshot() got not image in time!";
     ##Log 5, "IPCAM $name camURI was: $camURI"; # ACHTUNG! Diese Zeile nur im Notfall oder wenn neue IPcam in Betrieb genommen wird. URL enthält sensible Daten, wie z.B. auch User & Passwort !!!!
     return "Error IPCAM $name got not image in time!";
   }

   $imageFormat = IPCAM_guessFileFormat(\$snapshot);
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: RpiEinOzean am 04 Februar 2018, 16:37:45
Hallo zusammen,
sitze hier gerade auch an den ersten Versuchen mit meiner HooToo.
@ Patrik.S.
Mir scheint wohl nur der richtige Pfad zu fehlen.
Kannst Du mir den, besser alles dazu, mitteilen?

Gruß an alle
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: inesa394 am 11 Februar 2018, 13:20:07
Hallo

Das Modul abändern wie folgt
In IPCAM Zeile 380 unter
$timestamp =~ s/(:|-)//g;
$snapshot = GetFileFromURLQuiet($camURI);
dies zusätzlich einfügen
$snapshot="http://$camAuth/".substr($snapshot,12,74);
Log 1, "IPCAM $name SnapshotNeu: $snapshot";
$snapshot = GetFileFromURLQuiet($snapshot);


Definiert ist das Modul so
define hootoocam IPCAM 192.168.178.49:1024
attr hootoocam path cgi-bin/hi3510/param.cgi?cmd=snap&
attr hootoocam room Status
attr hootoocam storage ./www/snapshots
attr hootoocam icon it_camera
attr hootoocam event-on-change-reading snapshots

bei mir
Titel: Antw:Edimax IC-3115W
Beitrag von: holzwurm83 am 05 April 2018, 10:17:03
Zitat von: coh3r3nt am 28 April 2016, 16:02:46
Hallo zusammen,

bie mir läuft die Edimax IC-3115W mit dem Modul.


define IC3115W IPCAM 192.x.x.x
attr IC3115W basicauth user:geheim
attr IC3115W path snapshot.jpg



Wer eine andere Edimax-Cam hat, kann sich den paramter für path hier raussuchen: https://www.ispyconnect.com/man.aspx?n=Edimax (https://www.ispyconnect.com/man.aspx?n=Edimax) raussuchen.

Ich hätte auch noch einen Wunsch für das Modul. Könnte man als Kommando auch das Bild (get IC3115W image) machen lassen, zB.:

attr IC3115W webCmd image


So könnte man im Frontend das speichern eines Bildes antriggern durch klick auf das webCmd.

greets,
coh3r3nt

Hallo zusammen,

ich versuche gerade wie oben beschrieben meine Edimax IC-9110w zu implementieren. Allerdings schmiert mir dann immer mein Fhem ab und im Log steht die folgende Meldung.

IPCAM cam_garten Wrong or not supported image format: error while reading source image:

Ich habe aus dem Link oben beide Path Einstellungen probiert. Immer mit dem gleichen Problem.
attr path mjpg/video.mjpg
attr path mjpg/1/video.mjpg

Habe das auch schon so versucht zu definieren:

define CamGarten IPCAM user:passwort@192.x.x.x


Könnt ihr mir hierbei weiter helfen?
Titel: Antw:Edimax IC-3115W
Beitrag von: Brockmann am 06 April 2018, 07:55:06
Zitat von: holzwurm83 am 05 April 2018, 10:17:03
Könnt ihr mir hierbei weiter helfen?
Für IPCAM benötigst Du Snapshots, also Einzelbildaufnahmen (PEG, PNG, GIF, TIFF, BMP, ICO, PPM, XPM, XBM oder SVG).
MJPG ist ein Videoformat, damit kann IPCAM nichts anfangen.

Du müsstest einen Link finden, unter dem Du jeweils ein Einzelbild Deiner Kamera abrufen kannst.
Titel: Antw:Edimax IC-3115W
Beitrag von: holzwurm83 am 06 April 2018, 09:47:20
Zitat von: Brockmann am 06 April 2018, 07:55:06
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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux 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]
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux 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...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 11 April 2018, 08:14:48
Zitat von: misux 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...
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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux 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?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 12 April 2018, 08:28:13
Zitat von: misux am 11 April 2018, 12:15:24
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
}

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux 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
}

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 16 April 2018, 08:43:56
Zitat von: misux am 15 April 2018, 17:07:03
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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: ChrisW 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 ?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: HansChris 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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Wolfgang Hochweller 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.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dbox2user am 02 September 2018, 21:15:36
Hallo!

Ich würde gerne meine IP-Kamera "SV3C PoE IP Kamera 1080P" über das IP-Cam Modul anbinden.
Leider passiert mit dem Befehl "get image" garnichts.
Bei "get snapshots" bekomme ich "Cam1 snapshots => 0" als Rückmeldung

Mein define schaut so aus:

define Cam1 IPCAM 192.168.178.200
attr Cam1 delay 5
attr Cam1 icon it_camera
attr Cam1 loglevel 6
attr Cam1 path web/cgi-bin/hi3510/param.cgi?cmd=snap&-getpic&-chn=2
attr Cam1 room Kamera
attr Cam1 snapshots 3
attr Cam1 storage ./www/snapshots
attr Cam1 timestamp 1


Gebe ich den Befehl http://192.168.178.200/web/cgi-bin/hi3510/param.cgi?cmd=snap&-getpic&-chn=2 direkt im Browser ein, bekomme ich problemlos ein Standbild angezeigt. Ganz ohne Benutzeranmelung oder neueFenster wo man etwas anklicken muss.
Das funktioniert im Browser am Notebook aber auch auf dem Browser des Raspberrys auf dem Fhem läuft.

Muss der Befehl evtl auf die Attribute "path" und "pathCmd" aufgeteilt werden?
Der hohe Log-Level bringt mir auch keine Hilfe.

Hat jemand eine Idee?  ::)

Danke schonmal!

Gruß, Christian

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: NewRasPi am 02 September 2018, 21:27:00
Zitat von: dbox2user am 02 September 2018, 21:15:36
Hallo!

Ich würde gerne meine IP-Kamera "SV3C PoE IP Kamera 1080P" über das IP-Cam Modul anbinden.
Leider passiert mit dem Befehl "get image" garnichts.
Bei "get snapshots" bekomme ich "Cam1 snapshots => 0" als Rückmeldung

Mein define schaut so aus:

define Cam1 IPCAM 192.168.178.200
attr Cam1 delay 5
attr Cam1 icon it_camera
attr Cam1 loglevel 6
attr Cam1 path http://192.168.178.200/web/cgi-bin/hi3510/param.cgi?cmd=snap&-getpic&-chn=2
attr Cam1 room Kamera
attr Cam1 snapshots 3
attr Cam1 storage ./www/snapshots
attr Cam1 timestamp 1


Gebe ich den Befehl http://192.168.178.200/web/cgi-bin/hi3510/param.cgi?cmd=snap&-getpic&-chn=2 direkt im Browser ein, bekomme ich problemlos ein Standbild angezeigt. Ganz ohne Benutzeranmelung oder neueFenster wo man etwas anklicken muss.
Das funktioniert im Browser am Notebook aber auch auf dem Browser des Raspberrys auf dem Fhem läuft.

Muss der Befehl evtl auf die Attribute "path" und "pathCmd" aufgeteilt werden?
Der hohe Log-Level bringt mir auch keine Hilfe.

Hat jemand eine Idee?  ::)

Danke schonmal!

Gruß, Christian

Hallo dbox2user
ich würde bei path mal die IP Adresse und den Anfangs Slash weg lassen
also >> path web/cgi-bin/hi3510/param.cgi?cmd=snap&-getpic&-chn=2

dann sind die Chancen besser.
Schöne Grüße

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dbox2user am 02 September 2018, 21:34:42
Wow, das war ja eine Blitzantwort!  ;)

Sorry, das passiert beim vielen rumprobieren.
Genauso wie du es schreibst hatte ich es probiert und hab es jetzt natürlich wieder eingestellt.
Leider genau das gleiche Verhalten.

Meinem Post ändere ich gleich entsprechend.

Vielleicht noch eine andere Idee?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: NewRasPi am 02 September 2018, 23:44:41
Zitat von: dbox2user am 02 September 2018, 21:34:42
Wow, das war ja eine Blitzantwort!  ;)

Sorry, das passiert beim vielen rumprobieren.
Genauso wie du es schreibst hatte ich es probiert und hab es jetzt natürlich wieder eingestellt.
Leider genau das gleiche Verhalten.

Meinem Post ändere ich gleich entsprechend.

Vielleicht noch eine andere Idee?

Hallo nochmal
und im Browser geht der Kamera Zugriff ohne Eingabe des Benutzer und Passwort???
(oder wurde das einmal eingegeben und steckt schon in einem cookie/ Zwischenspeicher)
Das Attribut basicauth [Benutzer]:[Password] könnte dann eine weitere mögliche Lösung sein.
Viel Glück
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dbox2user am 03 September 2018, 06:28:09
Guten Morgen!

Ja, der Link zum Snapshot und auch zu den Videostreams funktionieren ohne Anmeldedaten. (Ich weiß, das ist bei dieser Cam nicht so schön, da jeder im Netzwerk einfach zugreifen kann)
Die Anmeldedaten braucht man nur für die das Kamera-Web-Interface, um Einstellungen zu ändern.
AUf dem Fhem-Raspberry ging der Link zum Snapshot ohne Probleme im Browser. Auf diesem Raspberry hatte ich jedoch NIE das Web-Interface des Kamera geöffnet. Es funktioniert also definitiv ohne Benutzeranmeldung.

Versuchsweise habe ich jetzt doch mal das "basicauth" Attribut mit {USERNAME}:{PASSWORD} befüttert, aber auch hier leider keine Besserung.

Achja... im Logfile sehe ich nur diese eine Meldung ...auch ohne das "basicauth" Attribut.
2018.09.03 06:19:10 1: IPCAM Cam1 Wrong or not supported image format: unknown

Das Bild aus dem Browser ist definitv im jpg-Format. Das zeigt mir der Browser unter Medieninformation an.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 03 September 2018, 08:37:32
Zitat von: dbox2user am 03 September 2018, 06:28:09
Achja... im Logfile sehe ich nur diese eine Meldung ...auch ohne das "basicauth" Attribut.
2018.09.03 06:19:10 1: IPCAM Cam1 Wrong or not supported image format: unknown
Hat der fhem Schreibrecht im angegebenen Pfad?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dbox2user am 03 September 2018, 08:56:30
Hi!

Nachdem der Pfad ./www/snapshots ein Unterordner vom Fhem ist, gehe ich eigentlich davon aus, dass der User Fhem Schreibrechte haben sollte, oder?
Wie lautet wieder der Befehl für die Kommandozeile um das entsprechend zu testen?

Davon abgesehen sollte doch ein " get image" nur ein Bild abrufen, aber noch nicht speichern, oder?

Gruß,
Christian
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 04 September 2018, 08:16:30
Zitat von: dbox2user am 03 September 2018, 08:56:30
Nachdem der Pfad ./www/snapshots ein Unterordner vom Fhem ist, gehe ich eigentlich davon aus, dass der User Fhem Schreibrechte haben sollte, oder?
Wie lautet wieder der Befehl für die Kommandozeile um das entsprechend zu testen?
Der Ordner gehört erstmal dem Benutzer, der ihn erstellt hat. Wenn Du ihn mit root erstellt hast, gehört er root. Dann müsstest Du den Besitzer ändern bzw. die Schreibrechte anpassen.
ls -l <Ordnerpfad> verrät Dir alles, was Du über den Ordner wissen musst.

Zitat
Davon abgesehen sollte doch ein " get image" nur ein Bild abrufen, aber noch nicht speichern, oder?
Wo soll es das denn hin abrufen?
get image speichert ein oder mehrere Bilder gemäß den im Device definierten Vorgaben.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dbox2user am 04 September 2018, 12:39:45
Ich habe die Berechtigung mal nachgeschaut.  Der Besitzer ist 'Fhem" . Daran liegt es also leider auch nicht. ???

Ausser meinen eingestellten Attribute fehlen mir keine wichtigen Attribute, oder?

Gruss Christian
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 05 September 2018, 09:14:19
Zitat von: dbox2user am 04 September 2018, 12:39:45
Ausser meinen eingestellten Attribute fehlen mir keine wichtigen Attribute, oder?
attr Cam1 storage ./www/snapshots

Ich bin mir nicht sicher, ob das so passt. Je nach Art der Installation hat der fhem-User kein Home-Verzeichnis bzw. es ist nicht da, wo Du es vermutest.
cat /etc/passwd | grep ^fhem: | awk -F: '{print $6}'
verrät Dir das Home-Verzeichnis von fhem.

Oder im Zweifelsfall gibst Du bei storage eben den absoluten Pfad an, also abhängig von Deiner Installation beispielsweise
attr Cam1 storage /opt/fhem/www/snapshots
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dbox2user am 08 September 2018, 16:45:20
erstmal Danke an Brockmann für Deine Mühen!  :)

Leider gibts keine neuen / gute Nachrichten.  :(

Der Befehl cat /etc/passwd | grep ^fhem: | awk -F: '{print $6}'
brachte mir als Antwort /opt/fhem

Trotzdem habe ich jetzt als  storage Verzeichnis direkt /opt/fhem/www/snapshots eingetragen, aber auch damit gibt es keine Änderung.

Mein einziges Reading ist immernoch 2018-09-02 20:32:01   snapshots       0


So langsam bin ich ratlos ... :o
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dbox2user am 19 September 2018, 21:13:13
Hi Leute!

Nachdem es nun funzt möchte ich das natürlich nicht für mich behalten und hoffe das es vielleicht mal einen anderen elfen kann!  ;D

Nun zur Lösung....
Ausschlaggebend zur Lösung war folgender Beitrag: https://forum.fhem.de/index.php?topic=47551.0 (https://forum.fhem.de/index.php?topic=47551.0)

Bei "Path" funktioniert es nun mit web/cgi-bin/hi3510/snap.cgi?&-getstream&-sn anstatt dem bisherigem web/cgi-bin/hi3510/param.cgi?cmd=snap&-getpic&-chn=2

Hier noch mein define falls es jemanden hilft:
define Cam2 IPCAM 192.168.178.220
attr Cam2 delay 5
attr Cam2 icon it_camera
attr Cam2 path web/cgi-bin/hi3510/snap.cgi?&-getstream&-sn
attr Cam2 room Kamera
attr Cam2 snapshots 3
attr Cam2 storage /opt/fhem/www/snapshots
attr Cam2 timestamp 1


Vielen Danke nochmal vorallem an Brockmann für seine Mühen!

Gruß Chrstian
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: laserrichi am 27 Oktober 2018, 12:42:48
Hi, ich habe das selbe Thema, habe eine SV3C  1080P POE  SV-B01POE-1080P-L und wenn ich das einzelbild abrufe mit cgi-bin/hi3510/snap.cgi?&-getstream&-sn  dann ist aber die Bildauflösung nur 640x360  also das Bild vom Substream.

Wie schafft man es da das Hauptbild zu bekommen mit 1920x1080 ?

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: rob am 29 Oktober 2018, 12:38:50
Zitat von: laserrichi am 27 Oktober 2018, 12:42:48
Hi, ich habe das selbe Thema, habe eine SV3C  1080P POE  SV-B01POE-1080P-L und wenn ich das einzelbild abrufe mit cgi-bin/hi3510/snap.cgi?&-getstream&-sn  dann ist aber die Bildauflösung nur 640x360  also das Bild vom Substream.

Wie schafft man es da das Hauptbild zu bekommen mit 1920x1080 ?

Hallo laserrichi.

Ich habe von SV3C die WLAN-Kamera (SV-B01W-960P-HX). Meine Snapshots greife ich so ab:
attr MyCam path web/cgi-bin/hi3510/snap.jpg

Damit bekomme ich die volle Auflösung (.jpg scheint auch ein Script zu sein, neuer Zugriff = neues Snap). Vielleicht klappt das bei Deinem Modell auch so. Immerhin sind die Dokus + URLs quasi gleich.

Viele Grüße
rob
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dbox2user am 30 Oktober 2018, 20:17:45
Zitat von: laserrichi am 27 Oktober 2018, 12:42:48
Hi, ich habe das selbe Thema, habe eine SV3C  1080P POE  SV-B01POE-1080P-L und wenn ich das einzelbild abrufe mit cgi-bin/hi3510/snap.cgi?&-getstream&-sn  dann ist aber die Bildauflösung nur 640x360  also das Bild vom Substream.

Wie schafft man es da das Hauptbild zu bekommen mit 1920x1080 ?

Hi!

Ich habe nochmal nachgeschaut, bei mir wird das Bild in 1920x1080 abgespeichert.
Bist Du sicher, dass dein Hauptstream in der Kamera auch wirklich auf 1920x1080 eingestellt ist?

Grüße,
Christian
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: laserrichi am 31 Oktober 2018, 08:28:04
Hi, 
ja bei der POE und nicht WLAN Kamera geht das leider so nicht. Da unterscheiden diese sich wohl in der Software.

Der Hauptstream ist auf 1920 eingestellt. Dieser läuft als Videostream auch in der richtigen Auflösung auch auf der VU Box.

Habe schon den Hersteller wegen der cgi doku angeschrieben, warte da noch auf Antwort.

Ansonsten wäre es cool wenn das IPCAM Modul aus dem HTML Code den Imagepfad extrahieren könnte ;-) dann könnte man das mit
http://IP-ADRESSE/web/cgi-bin/hi3510/snap.cgi?&-getpic  einfach nehmen
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: rob am 31 Oktober 2018, 17:18:06
Zitat von: laserrichi am 31 Oktober 2018, 08:28:04
Hi, 
ja bei der POE und nicht WLAN Kamera geht das leider so nicht. Da unterscheiden diese sich wohl in der Software.

Hi.

Schade eigentlich. Einen Versuch hätte ich noch, denn die SV3C haben anscheinend jede Menge undokumentierte URLs:
Haupt:
http://<ip>/web/cgi-bin/hi3510/snap.cgi?&-getstream-chn=1
Sub
http://<ip>/web/cgi-bin/hi3510/snap.cgi?&-getstream-chn=2

Das klappt bei meiner ebenfalls und lt. Tante Google wohl öfter bei OMVIF-Cams zu finden. Ein letzter Strohhalm  :D

Viel Erfolg und beste Grüße
rob
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: laserrichi am 31 Oktober 2018, 19:13:01
Hallo rob, ja es gibt viele Varianten wie man da was bekommt. Deine Variante liefert auch nicht das Bild blank.
Gibt aber wirklich viel zu experimentieren, auch klappt nicht überall die Angabe -chn= was für Channel steht. Bei mir ist Channel 0 der Hauptstream, und 1-3 der sub, und 4 wieder der Hauptstream.

das hier:
http://<ip>/cgi-bin/hi3510/param.cgi?cmd=snap&-getpic&-chn=0
liefert mir:
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<img src="../../../tmpfs/snap_tmpfs/20181031/IMG001/IMG_chn0_TIMER_MNG_20181031184044_027.jpg">


</body></html>


und http://<ip>/cgi-bin/hi3510/snap.cgi?&-getpic&-chn=0
liefert
<body>
<img src="../../../tmpfs/snap_tmpfs/20181031/IMG001/IMG_chn0_TIMER_MNG_20181031184401_031.jpg">


</body>
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Paul am 31 Januar 2019, 18:22:15
Sn nachdem ich nach den Anleitungen alles einrichten konnte, nur eine kleine Frage. Ist das Modul noch blocking?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 01 Februar 2019, 12:45:37
Hallo, bin gerade auf der suche nach einer "ersten" Kamera. "Erste" bedeutet, hab noch nie eine Kamera in FHEM integriert. Meine Anforderungen habe ich im "Beginnerforum" formuliert. Von dort hat man mich hierher verwiessen. Zuerst war ich mit IPCAM SSCAM unterwegs. Ich scheue es aber, hierfür eine NAS zu kaufen.
Zuerst mal die Kamer: gerne hätte ich von euch eine Empfehlung für die Verwendung in IPCAM (kopiert aus meinem "Einsteiger-Block)

1. Aussen, wetterfest
2. Keine Kamera für eine Alarmanlage, Bewegungsmelder, möchte Livestreams und LiveBilder von Remote über FHEM auf Anforderungen anschauen.
3. Keine spezielle Nachtanforderungen
4. Netzwerk (LAN) und auch Strom (falls notwendig) ist da.
5. Schwenken und Zoomen ist sehr gern gesehen, aber nicht zwingend.
6. Sollte benutzerfreundlich in FHEM integrierbar sein, ich bin leider kein Programmierer.
7. Raspberry 3 Performance // angebunden an Fritzbox und guter Internetperformance

Ich bin nicht der Programmierer und suche deshalb die Kamera auch nach der Möglichkeit aus, dies einfach in FHEM/IPCAM zu integrieren.
Die Wiki habe ich schon gelesen. Die dort aufgeführten Kameras sind hauptsächlich Indoor und auch leider älter und nicht mehr verfügbar.

Danke, Danke, Danke

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: PSI69 am 01 Februar 2019, 13:58:58
Zitat von: UweUwe am 01 Februar 2019, 12:45:37
gerne hätte ich von euch eine Empfehlung für die Verwendung in IPCAM (kopiert aus meinem "Einsteiger-Block)

Ich habe seit ein paar Jahren 3 * die 5907 von Instar https://www.instar.de/ip-aussenkameras-sicherheitskamera-netzwerkkamera-wlan-kamera-poe-ueberwachungskamera-smarthome-onvif/in-5907hd-serie-video-kamera-ip-kamera-ip-cam-netzwerkkamera-sicherheitskamera-cctv-bewegungserkennung.html (https://www.instar.de/ip-aussenkameras-sicherheitskamera-netzwerkkamera-wlan-kamera-poe-ueberwachungskamera-smarthome-onvif/in-5907hd-serie-video-kamera-ip-kamera-ip-cam-netzwerkkamera-sicherheitskamera-cctv-bewegungserkennung.html) im Außeneinsatz und bin sehr zufrieden. Ich habe die 3 über LAN angschlossen. Bei Bewegung schreiben die Cams Videos per FTP auf's NAS. Bei Bedarf (und beim Klingeln) gibt es Bilder per Telegram.

Wenn ich jetzt kaufen müßte, dann wären eher die neueren Full HD Modell von Instar meine Wahl - die 5907'er machen 'nur' die 720'er Auflösung.

Die Nachtsicht passt - die Infrarot LEDs leuchten gut aus. Einzig einen Tele-Umbausatz vermisse ich, denn eine Kamera ist vom Standort zu weit weg... Die FHEM Einbindung per IPCAM geht einfach.

Peter
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Paul am 01 Februar 2019, 14:16:39
Zitat von: PSI69 am 01 Februar 2019, 13:58:58
Bei Bewegung schreiben die Cams Videos per FTP auf's NAS. Bei Bedarf (und beim Klingeln) gibt es Bilder per Telegram.



Er will doch keinen NAS.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: PSI69 am 01 Februar 2019, 14:36:07
Zitat von: Paul am 01 Februar 2019, 14:16:39
Er will doch keinen NAS.
Das habe ich gelesen, bei mir machen sie es... Die Instar's haben allerings auch eine int. Karte, auf der Bilder/Videos abgelegt werden können. Dann geht's auch ohne NAS. Das hätte ich gleich erwähnen sollen 8)
Peter
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 01 Februar 2019, 17:26:42
Hallo PSI69 und Paul,
das NAS selbst ist nicht mein Problem, ich habe ein NAS (Buffalo Link Station LX-WSXLA5E). Das kann ich auch dazu verwenden. Ich wollte mir nur nicht zusätzlich jetzt ein NAS von Synology kaufen, zusätzlich zu der Kamera, als Einsteiger.
Danke für den Tip zu Instar.
Wenn ich meine Wünsche so mit den Instar Kameras spiegele, so gibt es da die IN-9010 Full HD WiFi schwarz (https://www.instar.de/ip-aussenkameras-sicherheitskamera-netzwerkkamera-wlan-kamera-poe-ueberwachungskamera-smarthome-onvif/in-9010-full-hd-wifi-black.html)
Wenn ich auf Schwenken verzichte, so habe ich noch zur Auswahl: IN-5907HD WLAN schwarz. https://www.instar.de/ip-aussenkameras-sicherheitskamera-netzwerkkamera-wlan-kamera-poe-ueberwachungskamera-smarthome-onvif/in-5907hd-serie-video-kamera-ip-kamera-ip-cam-netzwerkkamera-sicherheitskamera-cctv-bewegungserkennung/in-5907hd-black.html
So wie ich euch verstanden habe, ist die Integration der 5907hd in FHEM ein machbares Thema und ich kann dann
Bilder über Mail oder Bot verschicken, Livebilder anschauen,Videos und Bilder regelmässig auf dem NAS ablegen und über FHEM wieder anschauen. (deckt meine Anforderungen ab)
Die schwenkbare Kamera IN-9010 reizt mich etwas. Ist die Integration in FHEM ähnlich oder identisch? und da sind dann noch die 120€ Mehrpreis.
Merci für die Ratschläge schon mal.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 04 Februar 2019, 09:49:09
Hallo,
ich habe mich heute nochmals bei Instar erkundigt. Die https://www.instar.de/ip-aussenkameras-sicherheitskamera-netzwerkkamera-wlan-kamera-poe-ueberwachungskamera-smarthome-onvif/in-9010-full-hd-wifi-black.html ist verfügbar und auch das Ziel meiner Wahl. Hat jemand von euch schon Erfahrung mit der Anbindung dieser Kamera zu FHEM? Alarmfunktion ist nicht mein Interesse. Livebilder, Livevideo, Schwenken, Outdoor, Anbindung an FHEM für Anwender, nicht Programmierer.


Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: laserrichi am 04 Februar 2019, 12:37:25
Also mit IP Kameras ist das immer so eine Sache. Ich habe schon einige Kameras ausprobiert, und ONFIV bedeutet nicht gleich das alles gleich ist und so funktioniert wie man sich das vorstellt.
Mit dem IPCAM Modul in Fhem hat bei mir eine FOSCAM FI9900P sehr gut funktioniert. Glaube davon gibt es auch eine Dome Kamera mit PTZ Funktion was für dich vermutlich das richtige wäre.

Was ich als sehr wichtig finde, das eine saubere Dokumentation vorhanden ist über die ganzen Befehle. CGI aufrufe für die funktionen usw..  da du ja z.b. mit PTZ in dem IPCAM Modul das auch definieren musst. Da ist FOSCAM absolut vorbildlich und ich denke das ist so das beste was am Markt ist, zu INSTAR kann ich nichts sagen, ist da vieleicht auch so, hatte davon noch keine. Am besten nachsehen ob es für dein ausgesuchtes Model auch die Doku gibt.

Ich hatte eine INKOVIDEO da ich dachte teuer = gut, aber wurde eins besseren belehrt, die Snapshots waren nicht in FullHD und auch nicht wirklich zu gebrauchen, dokumentation= 0. Mit IPCAM Modul geht die auch nicht.
Aber man kann auch beim Chinesen gute Erfahrungen sammeln, ich habe eine SV3C FullHD Kamera mit POE, macht alles was sie soll, chinese ist kooperativ, aber mit dem IPCAM Modul geht es nicht, ich nutze daher ein Shell Script das mir Einzelfotos macht, die ich dann in der Fhem oberfläche mit einbaue, es ist aber genau das was du nicht möchtest "Bastelarbeit"

Um eine gewisse Programierarbeit sei es in IPCAM Modul oder aufwändig mittels Shell Scripte wirst du nicht drumherum kommen.

Von Cloud Lösungen rate ich aber ab. Da kannst du dich gleich Nackt in die Innenstadt stellen ;-)



Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 04 Februar 2019, 17:52:40
Hallo laserrichi,

danke für deine ausführlichen Anmerkungen. Ich habe deine DOME Kamera von Foscam gefunden. Ich denke, du meinst die https://www.bueromarkt-ag.de/ip-kamera_foscam_fi9928p_dome_wlan_outdoor,p-fi9928p.html?,l-google-adw,pd-b2b&gclid=CjwKCAiA4t_iBRApEiwAn-vt-5FKK8Y4dx41QfinETvpMqiUFlf8AUSuVkB3QHkgPlO1dyDlP5yh5hoC4ZUQAvD_BwE. Die Foscam ist 100 € bei Böttcher persigünstiger, als die vergleichbare Instar.
Die meintest du doch. Korrekt?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: laserrichi am 04 Februar 2019, 21:02:46
Jo hab jetzt nicht weiter danach gesucht, gibts auch noch flache Dome Kameras. Aber grundsätzlich gibts dafür die CGI Doku:

https://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf (https://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf)

Wie du die Bewegung in Fhem mit IPCAM dann einbindest weis ich nicht, aber lt. doku geht das eben durch das einbinden mit den Befehlen, die man ja in der CGI Doku findet.

Kannst ja bei INSTAR auch mal anfragen ob es sowas gibt.

Einwas stört mich aber auch noch an der Foscam. Für die Browser Betrachtung hat man ein Plugin, das wird dir in ein paar Jahren zum verhängnis, wenn die Browser das dann nicht mehr unterstützen usw.

Aber so lange es Updates gibt ist alles gut :-)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 04 Februar 2019, 21:54:41
Hallo laserrichi, hab heute noch eine Anfrage an INSTAR geschickt. Mal sehen, was die schreiben.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: laserrichi am 04 Februar 2019, 22:19:05
fast hätte ich das wichtigste vergessen, es reicht natürlich nicht die Doku, sondern was liefert die Kamera zurück.


Die FOSCAM liefert beim Aufruf  des snapshots mittels http://<IP-ADRESS>:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture&usr=admin&pwd=deinpasswort  direkt das Bild als jpeg  was IPCAM dann direkt an einem Speicherort ablegen kann.

Meine SV3C Kamera liefert einen html code zurück mit Pfadangabe wo es in der Kamera liegt: http://192.168.1.14/cgi-bin/hi3510/snap.cgi?
und liefert dir das: var path="/tmpfs/snap_tmpfs/20190204/IMG001/IMG_chn0_TIMER_MNG_20190204221147_031.jpg"

Was bedeutet das IPCAM kein Bild findet und es auch nicht speichern kann, ich habe daher alles mit einem Shell script gemacht.
Glaub das hab ich hier irgendwo schon mal geschrieben


Wenn die INSTAR direkt ein Bild liefert dann geht das mit dem Modul
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 05 Februar 2019, 10:28:50
Hallo, danke, werd mich gleich nochmals an Instar wenden.
Bezüglich der CGI Listen hat sich Instar gemeldet.
Da gibt es folgenden Link: https://wiki.instar.de/Erweitert/CGI_Befehle/[/code]
CGI Befehle Instar  https://wiki.instar.de/Erweitert/CGI_Befehle/
Ich kann es nicht beurteilen, ob dies gut ist und genügend.
Instar sagt, dass die IN-8015FullHD kompatibel mit der IN-9010FullHD ist. Aber wer betreibt erfolgreich eine IN-8015FullHD in FHEM? Ich melde mich nochmals nach Rückfrage bezüglich des snapshots.
Danke erstmals  8).



Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: laserrichi am 05 Februar 2019, 22:30:16
grade nachgeschaut: http://IP-Address:Port/tmpfs/snap.jpg?usr=admin&pwd=instar
da hast in der Doku deinen Snapshot. Wenn da jetzt das jpg nackt gesendet wird ist das super.

Pan & Tilt
http://IP-Address:Port/ptzctrl.cgi?-step=&-act=up
Move Up
http://IP-Address:Port/ptzctrl.cgi?-step=&-act=right
Move Right
http://IP-Address:Port/ptzctrl.cgi?-step=&-act=down
Move Down
http://IP-Address:Port/ptzctrl.cgi?-step=&-act=left
Move Left
http://IP-Address:Port/ptzctrl.cgi?-step=&-act=stop
Stop
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jamo am 05 Februar 2019, 23:31:30
ZitatAber wer betreibt erfolgreich eine IN-8015FullHD in FHEM?
Siehe Antwort #153 in diesem Thread.
Ich übrigens auch, habs von da kopiert.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 08 Februar 2019, 22:24:53
Hallo, hab die INSTAR 9010 gekauft, installiert und über die Apps von Instar am Laufen (ist aber noch da  :)  ).
Gemäss eurer tollen Vorarbeit habe ich jetzt mal IPCAM definiert, attr versehen und versucht den Inhalt zu verstehen. Braucht sicherlich noch etwas Zeit. Einige Beispiele durchspielen möchte ich.
Jetzt wollte ich ein erstes Bild abholen und hab mir folgenden Befehl überlegt:  set K.Sim raw tmpfs/snap.jpg?usr=admin&pwd=xxxx. Scheint auch 1:1 durchgekommen zu sein: 2019-02-08 22:09:06 IPCAM K.Sim raw tmpfs/snap.jpg?usr=admin&pwd=xxxx.
Wenn ich es richtig verstanden habe, so sollte ich jetzt ein File mit Namen snap.jpg im Directory /tmpfs haben.
Fehlermeldung habe ich keine bekommen.
Durchsuche ich der RPI nach "snap" mit Filezilla, so finde ich kein entsprechendes File und auch den Pfad tmpfs/ finde ich nicht. Müsste ich zuerst im directory /FHEM ein directory mit /tmpfs erzeugen. Und wie kann ich mir das Bild dann in FHEM anschauen?

attr hab ich noch in Richtung storage:attr K.Sim path /tmpfs/snap.jpg
attr K.Sim storage ./www/snapshots


Mein erstes Ziel ist es morgens und abends ein Bild zu machen und über Bot zu verschicken.




Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Paul am 09 Februar 2019, 11:08:33
Zitat von: UweUwe am 08 Februar 2019, 22:24:53
Wenn ich es richtig verstanden habe, so sollte ich jetzt ein File mit Namen snap.jpg im Directory /tmpfs haben

Nö,/Topfs ist das Verzeichnis deiner Cam.

Das Bild sollte unter /www/Snapshot sein.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 09 Februar 2019, 11:19:54
Hallo, danke für die Antwort,
hab gerade mal nachgeschaut. Unterr /home/pi/www finde ich weder /Snapshot noch ein Bild.
Kann es sein, dass ich das directory erst einrichten muss?
Was bedeutet Topfs ist das Verzeichnis deiner Cam.
Mit dem Befehl 2019-02-08 22:09:06 IPCAM K.Sim raw tmpfs/snap.jpg?usr=admin&pwd=xxxx. und den Attributen attr K.Sim path /tmpfs/snap.jpg
attr K.Sim storage ./www/snapshots
erwarte ich doch ein unterschiedliches Verhalten..

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: NewRasPi am 09 Februar 2019, 14:10:22
Zitat von: UweUwe am 09 Februar 2019, 11:19:54
Hallo, danke für die Antwort,
hab gerade mal nachgeschaut. Unterr /home/pi/www finde ich weder /Snapshot noch ein Bild.

Hallo UweUwe

alles was nicht "umgebogen" wird landet wenn es aus FHEM heraus gestartet wird wohl erst mal im Verzeichnis (absoluter Pfad)
/opt/fhem/www/snapshots

oder - für die die sich auskennen heißt das im Zusammenhang mit FHEM
./www/snapshots/... weil man ja schon in diesem Verzeichnis steht!

Viel Spass
NewRasPi
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 09 Februar 2019, 14:26:26
Hallo NewRasPi,

ich das Verzeichnis /opt/fhem/www/snapshots eingerichtet. Es war noch nicht da. Hab ihm alle Rechte gegeben.
Dann nochmals den Befehl
set K.Sim raw tmpfs/snap.jpg?usr=admin&pwd=xxxxx abgesetzt.
Ichs  sehe im Eventmonitor, dass der Befehl richtig abgesetzt wird. Aber in dem directory auf dem Pi tut sich nicht.
Zum Verständnis. Bis auch fdie Kamera bisher erst mit der INSTAR APP gegangen. Kamera ist FHEM mässig jungfräulich. User und Passwort sind aber ok.
Danke für die Unterstützung, hast du noch einen Tip..

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: NewRasPi am 09 Februar 2019, 14:56:29
Zitat von: UweUwe am 09 Februar 2019, 14:26:26
Hallo NewRasPi,

ich das Verzeichnis /opt/fhem/www/snapshots eingerichtet. Es war noch nicht da. Hab ihm alle Rechte gegeben.

Hallo UweUwe
ich (bin auch immer noch Anfänger) hätte ja behauptet, bei einer Standart Installation ist dieses Verzeichnis vorhanden!!!
Als Besitzer: fhem und als Gruppe: dialout könnte noch wichtig sein.
Überprüfen kannst Du das mit: ls -l /opt/fhem/www
sieht dann bei mir so aus:
drwxrwxrwx 2 fhem dialout   4096 Okt  1  2015 snapshots

Ein list von Deinem IPCam Device bringt vielleicht einen weiteren Ansatz zur Fehlersuche.
Schöne Grüße
NewRasPi
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 09 Februar 2019, 15:06:40
Also, von vorne:
pi@raspberrypi:~/www $  ls -l /opt/fhem/www
total 36
drwxrwxrwx 2 fhem dialout  4096 Nov 27 11:45 codemirror
drwxrwxrwx 3 fhem dialout  4096 Nov 27 11:45 frontend
drwxrwxrwx 2 fhem dialout 12288 Jan 26 09:56 gplot
drwxr-xr-x 3 fhem dialout  4096 Dec 16 17:46 hausautomatisierung-com
drwxrwxrwx 7 fhem dialout  4096 Jan 19 07:10 images
drwxrwxrwx 2 fhem dialout  4096 Nov 27 11:45 jscolor
drwxrwxrwx 3 fhem dialout  4096 Jan 23 08:33 pgm2
da gibt es kein "snapshots".

durch ein Wechsel in das doch vorhandene "snapshots"  gibt es dann: pi@raspberrypi:~/www/snapshots $ ls -la
total 8
drwxrwxrwx  2 pi   pi      4096 Feb  9 14:18 .
drwxrwxrwx 11 fhem dialout 4096 Feb  9 14:18 ..
die Rechte sind identisch mit deinen. Ein list auf die Kamera ergibt Internals:
   AUTHORITY  192.168.10.72:80
   CFGFN     
   DEF        192.168.10.72:80
   FUUID      5c5de04c-f33f-64ff-646a-f67245de4cc1cd43
   NAME       K.Sim
   NR         2956
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
Attributes:
   DbLogExclude .*
   basicauth  admin:xxxx
   cmd01      cmd=setinfrared&-infraredstat=auto
   cmd03      cmd=setinfrared&-infraredstat=close
   cmd04      cmd=setioattr&-io_enable=1&-io_flag=1
   cmd05      cmd=setioattr&-io_enable=0&-io_flag=0
   cmd06      cmd=setmdalarm&-aname=type&-switch=on
   cmd07      cmd=setmdalarm&-aname=type&-switch=off
   cmd08      cmd=setmdattr&-name=1&-enable=1
   cmdPanLeft -act=left
   cmdPos01   -act=goto&-number=0
   cmdPos02   -act=goto&-number=1
   cmdPos03   -act=goto&-number=2
   cmdPos04   -act=goto&-number=3
   cmdPos05   -act=goto&-number=4
   credentials /opt/fhem/IPcam_credentials.cfg
   delay      2
   icon       it_camera
   path       /tmpfs/snap.jpg
   pathCmd    param.cgi
   pathPanTilt param.cgi?cmd=preset
   room       DRAUSSEN
   snapshots  1
   storage    ./www/snapshot


Danke für deine Unterstützung. Merci
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: NewRasPi am 09 Februar 2019, 15:18:34
Zitat von: UweUwe am 09 Februar 2019, 15:06:40
Also, von vorne:
pi@raspberrypi:~/www $  ls -l /opt/fhem/www
total 36
drwxrwxrwx 2 fhem dialout  4096 Nov 27 11:45 codemirror
drwxrwxrwx 3 fhem dialout  4096 Nov 27 11:45 frontend
drwxrwxrwx 2 fhem dialout 12288 Jan 26 09:56 gplot
drwxr-xr-x 3 fhem dialout  4096 Dec 16 17:46 hausautomatisierung-com
drwxrwxrwx 7 fhem dialout  4096 Jan 19 07:10 images
drwxrwxrwx 2 fhem dialout  4096 Nov 27 11:45 jscolor
drwxrwxrwx 3 fhem dialout  4096 Jan 23 08:33 pgm2
da gibt es kein "snapshots".

durch ein Wechsel in das doch vorhandene "snapshots"  gibt es dann: pi@raspberrypi:~/www/snapshots $ ls -la
total 8
drwxrwxrwx  2 pi   pi      4096 Feb  9 14:18 .
drwxrwxrwx 11 fhem dialout 4096 Feb  9 14:18 ..
die Rechte sind identisch mit deinen. Ein list auf die Kamera ergibt Internals:
   AUTHORITY  192.168.10.72:80
   CFGFN     
   DEF        192.168.10.72:80
   FUUID      5c5de04c-f33f-64ff-646a-f67245de4cc1cd43
   NAME       K.Sim
   NR         2956
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
Attributes:
   DbLogExclude .*
   basicauth  admin:xxxx
   cmd01      cmd=setinfrared&-infraredstat=auto
   cmd03      cmd=setinfrared&-infraredstat=close
   cmd04      cmd=setioattr&-io_enable=1&-io_flag=1
   cmd05      cmd=setioattr&-io_enable=0&-io_flag=0
   cmd06      cmd=setmdalarm&-aname=type&-switch=on
   cmd07      cmd=setmdalarm&-aname=type&-switch=off
   cmd08      cmd=setmdattr&-name=1&-enable=1
   cmdPanLeft -act=left
   cmdPos01   -act=goto&-number=0
   cmdPos02   -act=goto&-number=1
   cmdPos03   -act=goto&-number=2
   cmdPos04   -act=goto&-number=3
   cmdPos05   -act=goto&-number=4
   credentials /opt/fhem/IPcam_credentials.cfg
   delay      2
   icon       it_camera
   path       /tmpfs/snap.jpg
   pathCmd    param.cgi
   pathPanTilt param.cgi?cmd=preset
   room       DRAUSSEN
   snapshots  1
   storage    ./www/snapshot


Danke für deine Unterstützung. Merci

Hallo UweUwe

zuerst mal ist Dir ein Tippfehler beim angeben des Pfad passiert! da fehlt das "s" am Ende von storage /www/snapshots

Warum Du im Verzeichnis das Directory snapshots nicht findest kann ich Dir nicht erklären.
Da musst Du von Hand Änderungen gemacht haben. Vielleicht kann da ein Profi mehr dazu sagen.
Ich würde es jetzt neu anlegen und die Rechte noch mal neu vergeben.
Mit dem Programm MC kann man das super einfach anlegen und auch die Rechte und Besitzer anpassen, wenn man nicht
schon im Linux so weit fortgeschritten ist.
sudo apt-get install mc -y
Mit "sudo mc" hat man dann eine grafische Oberfläche. Mir fällt es damit einfacher, den Überblick zu behalten.
Schöne Grüße 
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 09 Februar 2019, 16:02:04
Hi, danke für die Unterstützung.
Der Tip-Fehler, war ein Past und Copy des "List". Internals:
   AUTHORITY  192.168.10.72:80
   CFGFN     
   DEF        192.168.10.72:80
   FUUID      5c5de04c-f33f-64ff-646a-f67245de4cc1cd43
   NAME       K.Sim
   NR         2956
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
Attributes:
   DbLogExclude .*
   basicauth  admin:xxxx
   cmd01      cmd=setinfrared&-infraredstat=auto
   cmd03      cmd=setinfrared&-infraredstat=close
   cmd04      cmd=setioattr&-io_enable=1&-io_flag=1
   cmd05      cmd=setioattr&-io_enable=0&-io_flag=0
   cmd06      cmd=setmdalarm&-aname=type&-switch=on
   cmd07      cmd=setmdalarm&-aname=type&-switch=off
   cmd08      cmd=setmdattr&-name=1&-enable=1
   cmdPanLeft -act=left
   cmdPos01   -act=goto&-number=0
   cmdPos02   -act=goto&-number=1
   cmdPos03   -act=goto&-number=2
   cmdPos04   -act=goto&-number=3
   cmdPos05   -act=goto&-number=4
   credentials /opt/fhem/IPcam_credentials.cfg
   delay      2
   icon       it_camera
   path       /tmpfs/snap.jpg
   pathCmd    param.cgi
   pathPanTilt param.cgi?cmd=preset
   room       DRAUSSEN
   snapshots  1
   storage    ./www/snapshots
War  :'( leider korrekt eingetragen.
Das Verzeichnis snapshots war angelegt, ich hatte ein pi@raspberrypi:~/www/snapshots $ ls -la
total 8
drwxrwxrwx  2 pi   pi      4096 Feb  9 14:18 .
drwxrwxrwx 11 fhem dialout 4096 Feb  9 14:18 ..
mitgeschickt.  Auch aus /www sieht man die directories pi@raspberrypi:~/www $ dir -la
total 52
drwxrwxrwx 11 fhem dialout  4096 Feb  9 14:18 .
drwxr-xr-x 22 pi   pi       4096 Dec 31 16:35 ..
drwxrwxrwx  2 fhem dialout  4096 Nov 27 11:45 codemirror
drwxrwxrwx  3 fhem dialout  4096 Nov 27 11:45 frontend
drwxrwxrwx  2 fhem dialout 12288 Dec 22 21:41 gplot
drwxr-xr-x  3 fhem dialout  4096 Dec 16 17:46 hausautomatisierung-com
drwxrwxrwx  7 fhem dialout  4096 Dec 16 17:46 images
drwxrwxrwx  2 fhem dialout  4096 Nov 27 11:45 jscolor
drwxrwxrwx  3 fhem dialout  4096 Dec 17 13:23 pgm2
drwxrwxrwx  2 pi   pi       4096 Feb  8 21:56 Snapshot
drwxrwxrwx  2 pi   pi       4096 Feb  9 14:18 snapshots
MC hab ich gleich mal angelegt. Merci.




Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: NewRasPi am 09 Februar 2019, 16:20:31
Zitat von: UweUwe am 09 Februar 2019, 16:02:04
Hi, danke für die Unterstützung.
....


....

drwxrwxrwx  2 pi   pi       4096 Feb  8 21:56 Snapshot
drwxrwxrwx  2 pi   pi       4096 Feb  9 14:18 snapshots
MC hab ich gleich mal angelegt. Merci.

Hallo UweUwe

hier wird ein FHEM Befehl nie was rein speichern!
Bei Linux wird die Rechte Verwaltung sehr genau genommen. Dein Verzeichnis /www/snapshots gehört dem Benutzer: pi und der Gruppe: pi
Grüße
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 09 Februar 2019, 17:52:13
Hallo, vielen Dank für deine Antworten :  8) 8) 8)

ich hab jetzt alles umgestellt. Gemäss des attributes:
attr K.Sim storage ./www/snapshots erwarte ich in ./www/snapshots das snap.jpg.
Als Befehl benutze ich set K.Sim raw tmpfs/snap.jpg?usr=admin&pwd=xxxx. Es kommt bisher noch nichts in snapshots an:
snapshot gehört zwischenzeitlich fhem und hat alle Rechte:fhem@raspberrypi:~/www$ dir -ls
total 40
4 drwxrwxrwx 2 fhem dialout  4096 Nov 27 11:45 codemirror
4 drwxrwxrwx 3 fhem dialout  4096 Nov 27 11:45 frontend
12 drwxrwxrwx 2 fhem dialout 12288 Jan 26 09:56 gplot
4 drwxr-xr-x 3 fhem dialout  4096 Dec 16 17:46 hausautomatisierung-com
4 drwxrwxrwx 7 fhem dialout  4096 Jan 19 07:10 images
4 drwxrwxrwx 2 fhem dialout  4096 Nov 27 11:45 jscolor
4 drwxrwxrwx 3 fhem dialout  4096 Jan 23 08:33 pgm2
4 drwxrwxrwx 2 fhem dialout  4096 Feb  9 17:28 snapshots
. Was mich noch wundert ist dieses attr:attr K.Sim path /tmpfs/snap.jpg
Ist dies der Pfad in der Kamera?
Hast du noch ne Idee? Vielen Dank
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 09 Februar 2019, 18:23:14
Hi an alle:
Eine Ergänzung möchte ich noch machen. Ich hab den Direktbefehl für den snapshot für die Kamera ausgetestet mit dem Befehl:
http://192.168.10.72:80/tmpfs/snap.jpg?usr=admin&pwd=xxxx mit positivem Ergebnis. Der Snapshot ist ausgelöst worden und die Datei /tmpfs/snap.jpg wird auf dem Explorer angezeigt. Damit vermute ich, dass das Bild mit dem Befehl noch nicht auf den Raspberry transferiert worden ist. Für mich stellt sich die Frage , wie bekomme ich die Datei auf den Raspberry und von dort über den Bot raus als Telegramm.
Über Tips freue ich mich sehr. ..
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 09 Februar 2019, 18:44:43
Hallo,
das in dem letzten Blog beschriebene war das Problem. Der Befehl http://192.168.10.72:80/tmpfs/snap.jpg?usr=admin&pwd=xxxx macht auf der Kamera das Bild und legt das Bild dort ab. Mit get K.Sim image holt man die Bilder ab auf den Raspberry. Danke für die Unterstützung.
Merci.. Pst.. Da gibt es sicherlich noch weitere Fragen...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 09 Februar 2019, 22:02:23
Hallo, ich würde mich über eine Beratung sehr freuen:
Ich möchte mir nach Eingabe eines Keywortes  jeweils ein aktuelles Bild von 2 Kameras (identische Kameras, mit IPCAM angebunden) mit teleBot  zuschicken lassen. Klingt einfacher.
1. Snapshot machen
2. Bild über die vpn von der Kamera auf den Raspberry
3. Bild verschicken.
Die Schwierigkeit liegt im Netzwerk: die Kameras sind in 2 unterschiedlichen Netzwerken, die über VPN verbunden sind.(192.168.10.xxx und 192.168.20.xxx) In beiden Netzen gibt es jeweils ein FHEM System.
fhem2fhem ist nicht installiert.
Was spricht dagegen, beide Kameras in dem lokalen FHEM-System zu definieren, in dem der Telebot zur Übertragung bereitsteht.
Das lokale Bild machen, copy in Raspberry, wegschicken, ok.  Und dann das Image von der "entfernten Kamera" über die vpn auf den lokalen Raspberry übertragen, mit get Kamera image und anschliessend wegschicken.
Kann IPCAM über VPN Kameras verwalten?
Kann man mit 2 unterschiedlichen FHEM Systemes jeweils mit IPCAM auf eine Kamera zugreifen? Eigentlich würde ich die 2. Kamera auch gern in das entfernte FHEM System integrieren.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: andies am 10 Februar 2019, 09:03:57
wem zuschicken? Dir? Dem anderen RPi? Ich weiß nicht, ob zwei Bots miteinander ,,reden" können. Und was ist mit shell kommandos (ich weiß aber nicht, wie man mit shell einen tunnel aufbaut)?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 10 Februar 2019, 09:35:03
Hallo, danke für die Antwort,

sorry, meine Angaben sind nicht genau genug:

FHEM A  System: Telebot A, Kamera A (IP 192.168.10.99), Raspberry A Fritzbox A (192.168.10.xx)
FHEM B  System: Kamera B (IP 192.168.20.99), Fritzbox B (192.168.20.xx)

Fritzbox A ist mit Fritzbox B per VPN verbunden.

Ziel: Kamera 1 ist an Raspberry 1 konfiguriert (kein Thema)
        Kamera 2 ist an Raspberry 1 konfiguriert (??, anderes Netz, funktioniert IPCAM über VPN)

        Snapshot Kamera 1 machen (kein Thema)
        Snapshot Kamera 2 machen (VPN?)

        "get Bild image" von Kamera 1 (kein Thema)
        "get Bild image" von Kamera 2 (über VPN ?)  von Kamera B im fremden Netz auf Raspberry A

         Versenden von 2 Bildern mit dem Telebot A auf Raspberry A (kein Thema an mich)

Sollte jetzt etwas genauer sein. Danke nochmals der Nachfrage.






Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: NewRasPi am 10 Februar 2019, 13:20:07
Zitat von: UweUwe am 10 Februar 2019, 09:35:03
Hallo, danke für die Antwort,

sorry, meine Angaben sind nicht genau genug:

FHEM A  System: Telebot A, Kamera A (IP 192.168.10.99), Raspberry A Fritzbox A (192.168.10.xx)
FHEM B  System: Kamera B (IP 192.168.20.99), Fritzbox B (192.168.20.xx)

Fritzbox A ist mit Fritzbox B per VPN verbunden.

Ziel: Kamera 1 ist an Raspberry 1 konfiguriert (kein Thema)
        Kamera 2 ist an Raspberry 1 konfiguriert (??, anderes Netz, funktioniert IPCAM über VPN)

        Snapshot Kamera 1 machen (kein Thema)
        Snapshot Kamera 2 machen (VPN?)

        "get Bild image" von Kamera 1 (kein Thema)
        "get Bild image" von Kamera 2 (über VPN ?)  von Kamera B im fremden Netz auf Raspberry A

         Versenden von 2 Bildern mit dem Telebot A auf Raspberry A (kein Thema an mich)

Sollte jetzt etwas genauer sein. Danke nochmals der Nachfrage.

Hallo UweUwe
mein erster Gedanke wäre eigentlich beim Raspberry 2 den Pfad im Storage auf den ersten Raspberry zu legen.  //192.168.10.99/opt/fhem/www/snapshots/
Aber in diesem Thread steht, das das leider nicht geht.
https://forum.fhem.de/index.php?topic=37318.0
Hier ist aber beschrieben wie man es mit einem Script lösen kann.

Super wäre natürlich, wenn sich die Modulentwickler mal der Sache annehmen könnten und vielleicht die Begrenzung auf den eigenen Raspi Pfad aufbohren könnten.
Ein FTP Verzeichnis als möglicher Speicherort wäre bestimmt auch eine willkommene Erweiterung.
Für Anfänger ist das mit zusätzlichen Scripten ganz schön schwierig.

Viel Erfolg
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 10 Februar 2019, 15:24:05
Hallo NewRaspPi,
sorry, hatte gerade erfolglos versucht die Kamera 1 draussen hardwaremässig zu installieren. Leider fehlt ein Teil bei der Deckenhalterung.
Danke mit dem Tip https://forum.fhem.de/index.php?topic=37318.0. Aktuell bin ich noch auf einem anderen Pferd.
Wenn ich die Kamera 2 mit IPCAM auf dem Raspberry 1 installiert bekomme (über die VPN), so sollte es völlig transparent sein. Was spricht gegen einen Befehl defmod K.HN IPCAM 192.168.20.99:80   ##  aus einem Netzwerk 192.168.10.xxx mit VPN zu 192.168.20.xxx.  Die Kamera 2 kennt ja den Raspberry 2 nicht, alle Befehle kommen erstmal vom Raspberry 1. Ob ich dann zusätzlich noch eine Installation der Kamera 2 auf dem Raspberry 2 machen kann, das wäre noch ne Frage.
Dies alles ist aber abhängig, wie der Entwickler von IPCAM hier die Realisierung bei VPN gemacht hat. Er ist zuverlässig  8) 8) und wird sich bei uns melden.
Danke nochmals. Schönen Sonntag erstmal , man schreibt sich  8) 8)

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 20 Februar 2019, 12:55:37
Hallo,
hab zwischenzeitlich 2 Kameras installiert und bekomme auch Bilder von beiden Kameras mit dem BOT zugeschickt. In ein notify hab ich folgende Befehle für die lokale Kamera (K.HN) eingebaut.

fhem("set K.HN raw tmpfs/snap.jpg?usr=admin&pwd=password");
fhem("get K.HN image");
fhem("set teleBot sendImage @#xxxxx ./www/snapshots/K.HN_snapshot.jpg ");

                  
Ich bekomme nicht das aktuelle Bild, sondern das vorherige Bild.  Auch mit 2 x sleep a 10 sec dazwischen.
Sobald ich den letzten Befehl einfach aufdopple, bekomme ich das aktuelle und das vorherige Bild.
fhem("set K.HN raw tmpfs/snap.jpg?usr=admin&pwd=password");
fhem("get K.HN image");
fhem("set teleBot sendImage @#xxxxx ./www/snapshots/K.HN_snapshot.jpg ");
fhem("set teleBot sendImage @#xxxxx ./www/snapshots/K.HN_snapshot.jpg ");


Kann ja nicht die Lösung sein? Hat jemand ne Idee?

Die Anmeldung einer Kamera über eine VPN (ich habe lokal sehr weit entferne Netze per LAN-VPN zwischen zwei Fritzboxen über das öffentliche Netz verbunden).
P.S. Das Problem oben taucht aber mit der lokalen Kamera und der entfernten Kamera gleich auf, unabhängig vom sleep.
Sobald ich mir mit einem notify von beiden Kameras ein Bild schicken lasse und folgenden Ablauf wähle:
Zitat-- Entferntes Bild machen
-- Entferntes Bild transferieren auf RPI
-- Lokales Bild machen
-- Lokales Bild transferieren auf RPI
-- Lokales Bild verschicken
-- Entferntes Bild verschicken.
Bekomme ich das vorherige Bild der lokalen und das aktuelle Bild der entfernten Kamera.


Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Paul am 20 Februar 2019, 19:36:16
Probier es mal so:

-- Entferntes Bild machen
-- Entferntes Bild transferieren auf RPI
-- Lokales Bild machen
-- Lokales Bild transferieren auf RPI
-- Entferntes Bild verschicken
-- Lokales Bild verschicken


Es gab irgendwo hier schon das Problem, dass das senden schneller als das Schreiben der Datei war.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Schlimbo am 20 Februar 2019, 20:04:24
Zitat von: UweUwe am 20 Februar 2019, 12:55:37
Ich bekomme nicht das aktuelle Bild, sondern das vorherige Bild. 
Hatte das Problem auch, meine Lösung:
Ich löse ein snapshot bei der Kamera durch "get Cam image" aus.
Das Versenden des Bildes aber löse ich erst aus wenn sich das Reading "snapshots" am IPCAM device ändert:
defmod sendSnapshot notify Cam.snapshots.* set myTelegramBot sendImage www/snapshots/Cam_snapshot.jpg
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 20 Februar 2019, 20:35:52
Vielen Dank für die Antwort,
darf ich noch etwas nachfragen:

du sagst also die Lösung ist, wenn ich meinen aktuellen Befehl:

fhem("set teleBot sendImage @#xxxxx ./www/snapshots/K.HN_snapshot.jpg ");
gegen defmod sendSnapshot notify K.HN.snapshots.* set teleBot sendImage www/snapshots/K.HN_snapshot.jpg ändere.
Da wär ich nie draufgekommen. Da fällt mir auf, dass ich dann ein notify innnerhalb eines notify habe. Funktioniert das?

Folgende Situation hat sich heute nachmittag noch bei mir bestätigt, vielleicht hast du dafür auch ne Erklärung:
Ich habe ja 2 identische Kameras an einem FHEM System auf einem RPI angeschlossen.
1 x Kamera in lokalem Netzwerk des RPI  (lokale Kamera)
1x Kamera über VPN an das RPI Netzwerk angeschlossen (entfernte Kamera)

Folgende Aktionen führe ich nacheinander durch (mit den üblichen Befehlen)
1. Mache Bild mit "entfernter Kamera"
2. Hole Bild von entfernter Kamera auf RPI
3. Mache Bild mit "lokaler Kamera"
4. Hole Bild von lokaler Kamera auf RPI
5. Verschicke Bild der lokalen Kamera von RPI
6. Verschicke Bild der entfernter Kamera von RPI


Ergebnis: aktuelles Bild der "entfernten Kamera" und altes Bild der "lokalen Kamera".



Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 20 Februar 2019, 21:00:33
Hallo Schlimbo,
tolle Lösung, hab es gerade in mein grosses notify für die beiden Kameras eingebaut. Bekomme jetzt die aktuellen Bilder von jeder Kamera.  Ein kleineres Thema ist da noch.
Eine der beiden Kameras schickt 2 Bilder direkt nacheinander, nachdem ich das notify eingebaut hatte. Komisch.  Mal sehen, woran dies liegt.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 20 Februar 2019, 21:45:58
Hab mal getestet, das grosse Thema Aktualität ist weg. Es sind die aktuellen Bilder.
Das notify bewirkt bei mir noch einen Nebeneffekt, den ich mir nicht erklären kann:

ZitatÜber eine Anfage vom Bot schicke ich, gesteuert durch ein notify entweder das Bild der Kamera A, Kamera B oder Kamera A und B.
Das Ergebnis ist, dass ich Anfrage  A: Nur  Kamera A  Ergebnis: 2 Bilder (identischer Zeitstempel, heisst nichts)
                                         Anfrage B: Nur Kamera B   Ergebnis : 2 Bilder (identsicher Zeitstempel, heisst nichts)
                                         Anfrage C gleichzeitige Anfrage A und B: Ergebis 3 Bilder: 2 Bilder der Kamera, die im DEF vorne steht und ein Bild der 2. Kamera.
im Detail nochmals
Anfrage A defmod sendSnapshot notify K.HN.snapshots.* set teleBot sendImage www/snapshots/K.HN_snapshot.jpg  2 Bilder

Anfage B defmod sendSnapshot notify K.XX.snapshots.* set teleBot sendImage www/snapshots/K.XX_snapshot.jpg   2 Bilder

Anfage C defmod sendSnapshot notify K.HN.snapshots.* set teleBot sendImage www/snapshots/K.HN_snapshot.jpg  2 Bilder
         defmod sendSnapshot notify K.XX.snapshots.* set teleBot sendImage www/snapshots/K.XX_snapshot.jpg   1 Bild
Hab schon vermutet, ob es an der identischen Namensgebung "sendSnapshot" liegt? hab schon geändert, keine Änderung im Ergebnis. Irgendwie bekommt der Event K.XX.snapshots.* und oder K.HN.snapshots.*  noch einen trigger.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Schlimbo am 20 Februar 2019, 23:24:01
Zitat von: UweUwe am 20 Februar 2019, 20:35:52
du sagst also die Lösung ist, wenn ich meinen aktuellen Befehl:

fhem("set teleBot sendImage @#xxxxx ./www/snapshots/K.HN_snapshot.jpg ");
gegen defmod sendSnapshot notify K.HN.snapshots.* set teleBot sendImage www/snapshots/K.HN_snapshot.jpg ändere.
Da wär ich nie draufgekommen. Da fällt mir auf, dass ich dann ein notify innnerhalb eines notify habe. Funktioniert das
Nein, das "defmod sendSnapshot notify" war von mir nicht so gedacht, dass es den alten Befehl ersetzt und jedes Mal ausgeführt wird, mein Code sollte einmalig in die FHEM Kommandozeile eingegeben werden, danach triggert es immer auf einen neuen snapshot und sendet diesen.

Deine Anforderung für ein aktuelles Bild heißt dann nur noch:
fhem("get K.HN image")
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: UweUwe am 21 Februar 2019, 11:09:08
Hallo, ja das Ergebnis ist prächtig, nur ein Bild und das Aktuelle.
Für alle, die auch vor dem Thema stehen, anbei noch die Zusammenfassung:

Ausgangssituation:
Ziel ein Snapshot auf Anforderung entweder von einer oder von beiden Kameras per teleBot abholen.

2 Kameras sind an ein FHEM System angeschlossen. 2x Instar IN-9010FULLHD
Physikalisch sitzt eine Kamera in dem lokalen Netz des Raspberry und eine Kamera ist über eine VPN (Fritzbox zu Fritzbox) angeschlossen.
Mit den üblichen Befehlen:
fhem("set K.xx raw tmpfs/snap.jpg?usr=admin&pwd=password");
fhem("get K.xx image");
fhem("set teleBot sendImage @#xxxxx ./www/snapshots/K.xx_snapshot.jpg ");
bekommt man nicht das aktuell von der Kamera aufgenomme Bild, sondern das zuvor aufgenomme Bild.
Von "Schlimbo"  8) kam der Hinweis, dass man einmalig in der Kommandozeile den folgenden Befehl absetzt. Kommt dann ein neues Bild an, und nur dann, dann schickt der teleBot dieses Bild weiter: defmod sendSnapshot notify K.xx.snapshots.* set teleBot sendImage www/snapshots/K.xx_snapshot.jpg
damit reduziert sich das Holen und Verschicken eines Bildes auf folgende Befehlsfolge:
fhem("set K.K1 raw tmpfs/snap.jpg?usr=user&pwd=password");
fhem("get K.K1 image");
Das Verschicken des Bildes geschieht durch den oben beschriebenen defmod Befehl implizit.  Hat man nun, wie in meinem Fall, 2 Kameras, so benötigt man 2 notifies :defmod sendSnapshotK1 notify K.K1.snapshots.* set teleBot sendImage www/snapshots/K.K1_snapshot.jpg
defmod sendSnapshotK2 notify K.K2.snapshots.* set teleBot sendImage www/snapshots/K.K2_snapshot.jpg
jeweils 1 x in der Kommandozeile abgesetzt.

Das Abholen von Bildern von beiden Kameras geschieht jetzt über:
fhem("set K.K1 raw tmpfs/snap.jpg?usr=user&pwd=passw");
fhem("get K.K1 image");

fhem("set K.K1 raw tmpfs/snap.jpg?usr=user&pwd=passw");
fhem("get K.K2 image");



Ohne den Hinweis von Schlimpo hätte dies nicht klappt..  8) 8) 8) Merci
                  




Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dk3572 am 23 Februar 2019, 14:01:22
Hallo,

kann mir bitte jemand erklären, wie der set Befehl in fhem aussehen muss, damit ich meine Instar IN-5905HD von Sommer- auf Winterzeit umstellen kann?

Das funktioniert schon mal nicht:
set ipcam_Garten raw param.cgi?cmd=setservertime&-dstmode=on

Hiermit kann ich den Status auf An setzen, aber die Zeit wird nicht aktualisiert:
cmd=setntpattr&-ntpenable=1&-ntpserver=0.de.pool.ntp.org&-ntpinterval=1&cmd=setservertime&-timezone=Europe/Amsterdam&cmd=set_instar_admin&-index=50&-value=on

Danke und VG
Dieter

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: dk3572 am 26 Februar 2019, 18:47:09
Zitat von: dk3572 am 23 Februar 2019, 14:01:22
Hallo,

kann mir bitte jemand erklären, wie der set Befehl in fhem aussehen muss, damit ich meine Instar IN-5905HD von Sommer- auf Winterzeit umstellen kann?

Das funktioniert schon mal nicht:
set ipcam_Garten raw param.cgi?cmd=setservertime&-dstmode=on

Hiermit kann ich den Status auf An setzen, aber die Zeit wird nicht aktualisiert:
cmd=setntpattr&-ntpenable=1&-ntpserver=0.de.pool.ntp.org&-ntpinterval=1&cmd=setservertime&-timezone=Europe/Amsterdam&cmd=set_instar_admin&-index=50&-value=on

Danke und VG
Dieter

Keiner eine Idee?  ???
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Schlimbo am 27 Februar 2019, 08:24:17
Bei mir hat es auf jeden Fall Mal so funktioniert, wie du geschrieben hast :
set ipcam_Garten raw param.cgi?cmd=setservertime&-dstmode=on

Habe es aber gerade noch mal bei meiner IN-8015 Full HD getestet und musste feststellen dass es jetzt auch nicht mehr funktioniert.
Der Schalter "Sommerzeit berücksichtigen" ändert sich zwar in der Weboberfläche, aber die Uhrzeit bleibt gleich.
Ist wohl ein Thema für den Support
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Tungsten am 29 April 2019, 08:45:38
Moin Zusammen,

ich habe ein Problem mit dem IPCAM Modul.

Ich habe eine Instar Webcam eingebunden, diese funktioniert auch gut.
Ich hole täglich mit einem DOIF ein Bild und verschicke es per Telegram.

Nun passiert es seit ein paar Wochen immer wieder, dass get image nicht funktioniert.

Im Log steht dann:
2019.04.29 08:29:35 1: IPCAM WebcamInstar Wrong or not supported image format: error while reading source image:

Nach einem Restart geht es wieder für eine gewisse Zeit. Woran kann das liegen. Das image format ändert sich ja durch einen FHEM restart nicht,
somit muss der Fehler irgendwo in FHEM liegen. Hat jemand eine Idee?

Danke Euch
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 30 April 2019, 08:12:48
Zitat von: Tungsten am 29 April 2019, 08:45:38
2019.04.29 08:29:35 1: IPCAM WebcamInstar Wrong or not supported image format: error while reading source image:

Nach einem Restart geht es wieder für eine gewisse Zeit. Woran kann das liegen. Das image format ändert sich ja durch einen FHEM restart nicht,
somit muss der Fehler irgendwo in FHEM liegen. Hat jemand eine Idee?
Das Modul braucht etwas Zeit, um das Bild zu holen und als Datei zu speichern. Wenn die Bilddatei noch nicht fertig ist, kann es zu dem beschriebenen Fehler kommen.
Deshalb am Besten zwischen Bild machen und Bild versenden einige Sekunden Pause einlegen.

Alternativ trennst Du Bild erstellen und Bild versenden. Dann kannst Du auf das vom Modul beim Erstellen erzeugte Event triggern und bist sicher, dass die Bilddatei dann auch schon fertig gespeichert wurde.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Tungsten am 30 April 2019, 09:02:44
Moin, Danke für die Antwort. Das ist aber bekannt und ich warte auch schon ein paar Sek.
Der Fehler tritt aber bereits beim get image auf und nicht erst beim versenden.

Habe es gerade noch einmal manuell versucht. Wieder der Fehler.
2019.04.30 08:56:24 1: IPCAM WebcamInstar Wrong or not supported image format: error while reading source image:

Letztes Bild ist von gestern Morgen, nach dem letzten FHEM Restart und ebenfalls manuellem get image.

Hier ein List der Kamera:

Internals:
   AUTHORITY  192.168.178.92:90
   DEF        192.168.178.92:90
   FUUID      5c472d23-f33f-2776-865e-cd0feb4985082cc1
   NAME       WebcamInstar
   NR         250
   SEQ        0
   STATE      last: 2019-04-29 08:38:35
   TYPE       IPCAM
   READINGS:
     2019-04-29 08:38:36   last            WebcamInstar_snapshot.jpg
     2019-04-29 08:38:35   snapshot1       WebcamInstar_snapshot_1.jpg
     2019-04-29 08:38:36   snapshots       0
Attributes:
   DbLogExclude .*
   icon       it_camera
   path       tmpfs/snap.jpg?usr=xxx&pwd=yyy
   room       8_Webcams
   snapshots  1
   storage    ./www/snapshots

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 06 Mai 2019, 08:05:53
Zitat von: Tungsten am 30 April 2019, 09:02:44
Der Fehler tritt aber bereits beim get image auf und nicht erst beim versenden.
Traditionell ist es ein Zugriffsproblem. An den Rechten kann es aber kaum liegen, wenn es nur zeitweise nicht klappt.
Speicherplatz ist auch kein Problem, nehme ich mal an?
Gibt es eventuell sporadische Netzwerkprobleme?

Ansonsten... :-[
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Tungsten am 06 Mai 2019, 10:35:53
ZitatGibt es eventuell sporadische Netzwerkprobleme?

Habe ich auch schon gedacht, aber der Stream der Kamera ist eigentlich immer sofort verfügbar.
Habe ansonsten auch nichts geändert in den letzten Wochen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 07 Mai 2019, 08:14:25
Hast Du mal probiert, in der 49_IPCAM.pm ein Delay einzufügen, wie hier beschrieben:
https://forum.fhem.de/index.php/topic,10772.msg558326/topicseen.html#msg558326

Wäre zwar nicht Update-fest, aber wenn es funktioniert, weiß man zumindest, woran es liegt...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Tungsten am 07 Mai 2019, 08:19:20
ZitatHast Du mal probiert, in der 49_IPCAM.pm ein Delay einzufügen, wie hier beschrieben:
https://forum.fhem.de/index.php/topic,10772.msg558326/topicseen.html#msg558326

der Link tut es leider nicht...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 08 Mai 2019, 07:59:39
Zitat von: Tungsten am 07 Mai 2019, 08:19:20
der Link tut es leider nicht...
Bei mir tut er es.

Ist in diesem Thread Seite 9, Beitrag #127 von "Patrik S."

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: ujaudio am 25 Mai 2019, 08:55:01
Ich versuche nochmals meine IPCAM  in FHEM zu integrieren. Mit weblink funktioniert es:
image http://192.168.178.44/snapshot.cgi?user=ich&pwd=123$456

Mit IPCAM bekomme ich wenn ich ein "get image" mache den Fehler
IPCAM interactive_webcam2 Wrong or not supported image format: error while reading source image:

Meine Definition ist wie folgt:
Internals:
   AUTHORITY  http://192.168.178.44
   DEF        http://192.168.178.44
   NAME       interactive_webcam2
   NR         1622
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   READINGS:
     2019-02-01 17:34:42   snapshots       0
Attributes:
   basicauth  ich:123$456
   delay      3
   path       snapshot.cgi
   room       ACHTUNG
   snapshots  3
   storage    /media/usb0/log
   verbose    5


Ich füge eine Bilddatei der Kamera unverändert im Anhang bei.

Die letzte Hoffnung ist, dass die path-Angabe noch irgendwie anzupassen ist, denn für manche Kameras stehen im Wiki auch "eigenartige" Einträge.

Meine Kamera ist die LogiLink WC0043.

Allerletzte Möglichkeit: Kamera auf den Elektroschrott und eine neue kaufen - welche Outdoor-Kamera funktioniert zuverlässig ?

Einen lieben Gruß
Jürgen
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Brockmann am 27 Mai 2019, 08:15:30
Zitat von: ujaudio am 25 Mai 2019, 08:55:01
Ich versuche nochmals meine IPCAM  in FHEM zu integrieren. Mit weblink funktioniert es:
Was hast Du denn schon probiert? Die Fehlermeldung kommt alleine hier im Thread zigmal vor, oft auch mit Lösungen.
Häufig sind es Probleme mit den Zugriffsrechten. Hat FHEM in dem festgelegten Pfad die nötigen Schreibrechte?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: ujaudio am 27 Mai 2019, 09:27:27
Zitat von: Brockmann am 27 Mai 2019, 08:15:30
Was hast Du denn schon probiert? Die Fehlermeldung kommt alleine hier im Thread zigmal vor, oft auch mit Lösungen.
Ich habe ganz viele Lösungsmöglichkeiten mal ausprobiert!

Zitat von: Brockmann am 27 Mai 2019, 08:15:30Häufig sind es Probleme mit den Zugriffsrechten. Hat FHEM in dem festgelegten Pfad die nötigen Schreibrechte?
Ok, ich weiß zwar nicht, was FHEM da schreiben soll, aber das wäre noch ein Ansatz, den ich noch nicht probiert habe.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: frober am 27 Mai 2019, 10:04:01
Hier

storage    /media/usb0/log

sollte Fhem schreiben dürfen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: ujaudio am 27 Mai 2019, 11:35:29
Ganz sicher, da schreibt FHEM schon ganz viel hinein! :)!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: cpramhofer am 27 Mai 2019, 16:23:54
Zitat von: ujaudio am 25 Mai 2019, 08:55:01
Ich versuche nochmals meine IPCAM  in FHEM zu integrieren. Mit weblink funktioniert es:
image http://192.168.178.44/snapshot.cgi?user=ich&pwd=123$456

Mit IPCAM bekomme ich wenn ich ein "get image" mache den Fehler
IPCAM interactive_webcam2 Wrong or not supported image format: error while reading source image:

Meine Definition ist wie folgt:
Internals:
   AUTHORITY  http://192.168.178.44
   DEF        http://192.168.178.44
   NAME       interactive_webcam2
   NR         1622
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   READINGS:
     2019-02-01 17:34:42   snapshots       0
Attributes:
   basicauth  ich:123$456
   delay      3
   path       snapshot.cgi
   room       ACHTUNG
   snapshots  3
   storage    /media/usb0/log
   verbose    5


Ich füge eine Bilddatei der Kamera unverändert im Anhang bei.

Die letzte Hoffnung ist, dass die path-Angabe noch irgendwie anzupassen ist, denn für manche Kameras stehen im Wiki auch "eigenartige" Einträge.

Meine Kamera ist die LogiLink WC0043.

Allerletzte Möglichkeit: Kamera auf den Elektroschrott und eine neue kaufen - welche Outdoor-Kamera funktioniert zuverlässig ?

Einen lieben Gruß
Jürgen

Hallo Jürgen,
hast du mal versucht das Passwort zu ändern und kein Sonderzeichen (schon gar kein $) zu verwenden?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: frober am 27 Mai 2019, 21:19:06
Probiere mal basicauth weg zu lassen und als path
snapshot.cgi?user=ich&pwd=123$456

So funktioniert es bei mir.

Nachtrag:
In der commandref ist es sogar so erklärt.
basicauth funktioniert nur bei
user:passwd@pfad
ansonsten ist der string als pfad anzugeben
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: laserrichi am 27 Mai 2019, 22:00:14
mal ne blöde frage, weil ich das bei mir ja auch hatte. Bist du dir sicher das wirklich ein .jpg zurückgeliefert wird ?
Oder wird hier eine html zurückgeliefert in der dann der absolute pfad in der Kamera dann steht.
Im Browser selbst bekommst du das nicht mit, es wird ja das richtige Bild angezeigt.

Checken kannst du das z.b. im Browser wenn du dann mit rechter Maustaste mal den seitenquelltext ansiehst.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: frober am 28 Mai 2019, 07:56:20
Bei mir werden die Bilder als jpg im storage-pfad abgelegt.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: ujaudio am 28 Mai 2019, 08:37:14
Zitat von: laserrichi am 27 Mai 2019, 22:00:14
mal ne blöde frage, weil ich das bei mir ja auch hatte. Bist du dir sicher das wirklich ein .jpg zurückgeliefert wird ?
Oder wird hier eine html zurückgeliefert in der dann der absolute pfad in der Kamera dann steht.
Im Browser selbst bekommst du das nicht mit, es wird ja das richtige Bild angezeigt.

Checken kannst du das z.b. im Browser wenn du dann mit rechter Maustaste mal den seitenquelltext ansiehst.
Ja, das Bild ist ein jpg.

Zitat von: frober am 27 Mai 2019, 21:19:06
Probiere mal basicauth weg zu lassen und als path
snapshot.cgi?user=ich&pwd=123$456

So funktioniert es bei mir.

Nachtrag:
In der commandref ist es sogar so erklärt.
basicauth funktioniert nur bei
user:passwd@pfad
ansonsten ist der string als pfad anzugeben
Funktioniert beides nicht.

Zitat von: cpramhofer am 27 Mai 2019, 16:23:54
Hallo Jürgen,
hast du mal versucht das Passwort zu ändern und kein Sonderzeichen (schon gar kein $) zu verwenden?
Das war's!!!!!

Ich habe zwar nicht das hier angegebene Passwort, aber es enthält Sonderzeichen - diese entfernt - alles ist gut.

DANKE!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Merlin1 am 11 Juni 2019, 16:22:13
Gibt es eigentlich inzwischen die Möglichkeit das letzte Video herunterzuladen und dann z.B. per Telegram schicken zu lassen?

Also nicht nur Snapshots, sondern das letzte Video?

Wäre ja toll.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: lammy am 02 August 2019, 11:57:19
Hi Jungs,

ich arbeite gerade das IPCAM Modul ein und betreibe damit eine Instar9008. Zunächst möchte ich erstmal sagen das ich das Modul sehr geil finde! Vielen Dank das ihr euch die Mühe gemacht habt um es zu schreiben.
Für eine Erweiterung speziell für die InstarXXX würde ich es geil finden wenn es eine Möglichkeit gibt den direkten CGI Output von z.B. den Alarm Attributen eingeben zu können ohne diesen Aufwendig um zu wandeln. Ich könnte mir auch vorstellen die aktuellen Daten einfach in ein CMDxx zu übernehmen.

Beispiel für Alarm Attribute
http://IP/param.cgi?cmd=getmdattr
var m1_enable="1"; var m1_x="375"; var m1_y="210"; var m1_w="255"; var m1_h="141"; var m1_sensitivity="70"; var m1_threshold="0"; var m2_enable="1"; var m2_x="375"; var m2_y="207"; var m2_w="253"; var m2_h="144"; var m2_sensitivity="75"; var m2_threshold="0"; var m3_enable="1"; var m3_x="375"; var m3_y="207"; var m3_w="253"; var m3_h="141"; var m3_sensitivity="65"; var m3_threshold="0"; var m4_enable="1"; var m4_x="372"; var m4_y="205"; var m4_w="258"; var m4_h="144"; var m4_sensitivity="65"; var m4_threshold="0";

VG Danny
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Lippie am 07 August 2019, 06:47:27
Hi,

anbei mein noch lokal angepasstes IPCAM-Modul für Instar-HD-CAMs.

alle Infos dazu unter: https://forum.fhem.de/index.php?topic=100493 (https://forum.fhem.de/index.php?topic=100493)

viele Grüße
Sebastian
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: StephanFHEM am 28 September 2019, 16:23:11
ich hab über einen zweiten Raspberry eine Kamera laufen mit "Motion". Motion bietet einen Livestream an und ein Kommando für ein Snapshot der dann gemacht und lokal gespeichert wird. Leider wird dieser nicht als Bild-Antwort im Browser zurückgegeben.
Die Frage: Wie kann ich diesen Snapshot jetzt in mein FHEM bringen? Wie gesagt, beides läuft nicht auf dem gleichen Raspberry und ich kann nur das machen der Snapshots auslösen aber sie liegen nicht auf dem Raspberry wo sie hingehören...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: andies am 29 September 2019, 18:38:07
Du musst das Bild lokal auf dem motion-RPi speichern und dann auf den FHEM-RPi kopieren, und zwar in das Verzeichnis /opt/FHEM/...  Dort kannst du es dann aufrufen. Ich mache das so mit pikrellcam, ist so ähnlich wie Motion.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: StephanFHEM am 29 September 2019, 20:08:34
Und wie kopiere ich das am geschicktesten und automatisch rüber? Würde mir auch reichen wenn der FHEM-Pi das Bild bei Bedarf ,,holt" und zB per Telegram versendet.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: andies am 29 September 2019, 20:46:54
mit einem cronjob (crontab -e). Ich sehe gerade, dass das bei mir nicht nötig ist. Pikrellcam speichert die Bilder in einem Pfad, auf den ich zugreifen kann. Die Fotos kann ich mir dann entweder direkt in FHEM anschauen oder, wenn ich weg bin, lasse ich sie mir mit telegram zuschicken.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Steffen@Home am 07 November 2019, 08:52:16
Hallo Zusammen,

ich wollte fragen ob schon jemand die Steinel L 600 Cam https://www.steinel.de/de/private-anwender/leuchten-strahler/aussenleuchten/l-600-cam-052997.html (https://www.steinel.de/de/private-anwender/leuchten-strahler/aussenleuchten/l-600-cam-052997.html)
mit FHEM verbunden hat?

Danke und Gruß
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: elektrikpe2 am 09 Dezember 2019, 18:51:16
Hallo,

einmal zurück in die Steinzeit:
Foscam VNT6656G6A40 (FI8919W clone) kann man die Bewegungserkennung mit "set_alarm.cgi?user=xxxxx&pwd=xxxxxx&motion_armed=0" deaktivieren und mit "set_alarm.cgi?user=xxxx&pwd=xxxxxxx&motion_armed=1&motion_sensitivity=4" aktivieren". Ich habe es nur mit set raw ... hinbekommen. Es geht aber auch mit einem GetfFileFromURL.

Foscam FI9831W: deaktivieren "cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=0&usr=xxxxxx&pwd=xxxxxxx" und mit "cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=1&usr=xxxxx&pwd=xxxxxx" aktivieren. set raw und GetFileFromURL wie vor

Ich habe alle übrigen Parameter weggelassen. Sie wurden nicht angetastet.

Nachtrag: Das mit den übrigen Parametern war nicht richtig. Bei der FI9831W muss man doch alle Parameter neu setzen, wenn man Bewegungsmelder wieder aktiviert (wurde auch bereits so irgendwo beschrieben. Die Daten dazu bekommt man einfach durch ein "<ip>:<port>/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=xxxx&pwd=xxxxx" im Browser genannt und man kann dann mit "<ip>:<port>/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=1
&linkage=2&snapInterval=1&sensitivity=2& schedule0=281474976710655&schedule1=281474976710655&schedule2=281474976710655&schedule3=281474976710655&schedule4=281474976710655&schedule5=281474976710655&schedule6=281474976710655&area0=0&area1=0&area2=0&area3=1023&area4=1023&area5=1023&area6=1023&area7=1023&area8=1023&area9=1023&usr=xxxxx&pwd=xxxxx" wieder alles setzen.


LG Peter
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MartinD am 18 Dezember 2019, 19:46:29
Hallo Sebastian,

die heutige Version 49_IPCAM.pm  funktioniert auch bei mir mit 9008, 9020 und 8003.
Ich kann aber die 4 Bereiche nicht von einander  unterscheiden - bei reading   AlarmAreaBez kommt immer nur
das letzte Wert von  AlarmAreaDescription.
Weiß Du ein Rat?

Gruß
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Lippie am 18 Dezember 2019, 20:55:33
Zitat von: MartinD am 18 Dezember 2019, 19:46:29
Ich kann aber die 4 Bereiche nicht von einander  unterscheiden - bei reading   AlarmAreaBez kommt immer nur
das letzte Wert von  AlarmAreaDescription.
Weiß Du ein Rat?

Hallo Martin,

hab das gleich Problem. Heute Morgen habe ich den Aufruf in FHEM eingegeben. Dort gehts, von extern geht es leider nicht :(
FHEMWEB leitet das &action=x nicht wie das alarm weiter.
Ich schau mal, was man machen kann.

VG
Sebastian
Titel: Antw:Modul IPCAM überarbeitet
Beitrag 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 (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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MartinD am 19 Dezember 2019, 19:48:28
Hallo Sebastian,
super, jetzt geht es auch mit 9008 (die 8003 und 9020 teste ich morgen)
Nebeneffekt ist, dass die Cam kurz danach den Wert "0" sendet.
Dieser überschreibt bei mir die readings (0, none, none)

Ich habe schon mit dem "alten" IPCAM einen "dauerhaften" Alarm (mit einem dummy) realisiert.
Diese Lösung ist bei mir immer noch im Einsatz - ich quittiere die Alarme händisch.
Ein Versuch den Alarmbereich in den dummy zu schreiben scheitert dann aber.

Danke für Deine Weiterentwicklung von IPCAMl.

Gruß
Martin 

Update:
Asche auf mein Haupt - ich habe tatsächlich notify übersehen.
Alles im lot


Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Lippie am 20 Dezember 2019, 08:06:09
Danke fürs Testen, Martin.
Leider werde ich aus deinem nicht mehr vorhandenen Problem nicht ganz schlau.
Sendet die CAM noch immer eine 0 oder war das dein notify?
VG
Sebastian
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MartinD am 20 Dezember 2019, 09:04:57
Hallo Sebastian,

es war setreading in notify.

Weitere Test ergaben:
-> 8003 funktioniert so wie sie soll.
-> 9020 -> noch nicht so ganz -> &aktion-Werte werden noch nicht übergeben.
Ich teste weiter.

Gruß
Martin
Update 14:20

auch die 9020 -> funktioniert so wie sie soll
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: WhyTea am 09 Januar 2020, 10:49:53
Hallo und ein frohes neues Jahr!

Ich möchte meine Hausautomation auch um eine Kameraüberwachung erweitern.

Ich stelle mir folgendes Umsetzung vor:

Die Kamera sollte per WLAN verbunden sein um Umbaumaßnahmen zu vermeiden.
Die Ausrichtung brauch aus der Ferne nicht veränderbar zu sein.

Als Erstes möchte ich gerne das die Kamera bei Bewegung Bilder oder ein kurzes Video im Netzwerk abspeichert (per FTP, SMB oder NFS). Eine Cloudanbindung möchte ich nicht!

Als Zweites möchte ich gerne das der Stream direkt im Browser (Fully Browser) anzeigbar ist sodass ich wenn jemand klingelt das Kamerabild auf dem TabletUI aufpoppen lassen kann.

Ich hoffe auf eine Produktempfehlung.

Danke und Gruß
Daniel
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 15 Januar 2020, 10:21:52
Zitat von: WhyTea am 09 Januar 2020, 10:49:53
Als Erstes möchte ich gerne das die Kamera bei Bewegung Bilder oder ein kurzes Video im Netzwerk abspeichert (per FTP, SMB oder NFS). Eine Cloudanbindung möchte ich nicht!
Das hat an sich nichts mit Fhem zu tun und kann mit so ziemlich jeder Überwachungskamera und den nötigen Zubehör bewerkstelligt werden.
In diesem Fall würde ich zu einem NAS (Synology/QNAP) greifen und diese die Arbeit machen lassen. Das ist auf dauer die Stabilste und beste Methode. Ich persönlich würde auf Wlan verzichten. Eine POE Cam ist frei von WLan Problemen und benötigt auch keinen Stromanschluss, lediglich ein POE Switch ist von Nöten. Gute POE Cams z.B. wären Hikvision oder Dahua, gibt aber auch gute günstigere bei Aliexpress...

ZitatAls Zweites möchte ich gerne das der Stream direkt im Browser (Fully Browser) anzeigbar ist sodass ich wenn jemand klingelt das Kamerabild auf dem TabletUI aufpoppen lassen kann.

Da kommen wir zum eigentlichen Problem!

Es ist nicht einfach/fast unmöglich einen RTSP Stream der Camera auf den Tabletscreen zu zaubern. Das Problem ist das die meisten Cams nur noch einen RTSP haben und KEINEN MJPEG der von den Browsern (Chrome/Fully...) auf den Tablets unterstützt wird.
Die Tablets unterstützen demnach keinen RTSP Stream in den verfügbaren Browsern.

Ich habe eine Methode gerade am laufen die ganz gut funktioniert:
Ein Android Mediaplayer am Netzwerk angeschlossen, TinyCam Pro installiert und dort den Webserver aktiviert. Somit Streamt mir TinyCam einen MJPEG Stream von meinen eingebundenen Cams insNetzwerk.
Diesen MJPEG Stream kann man dann problemlos in FTUI einbinden und damit allen Unfug betreiben was Fhem/FTUI bietet.

Dann gibt es neulich eine neue mir noch unbekannte Variante die aber für mich sehr kompliziert klingt weil ich davon zu wenig Ahnung habe...
https://forum.fhem.de/index.php/topic,48735.msg1004275.html#msg1004275 (https://forum.fhem.de/index.php/topic,48735.msg1004275.html#msg1004275)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Ulm32b am 20 Februar 2020, 19:46:03
Zitat
Es ist nicht einfach/fast unmöglich einen RTSP Stream der Camera auf den Tabletscreen zu zaubern. Das Problem ist das die meisten Cams nur noch einen RTSP haben und KEINEN MJPEG der von den Browsern (Chrome/Fully...) auf den Tablets unterstützt wird.
Ich bringe den Live-Stream verschiedener Instar-Kameras ohne Umwege problemlos in FTUI auf Fully zum Laufen:
<div data-type="image" data-url="http://192.168.aaa.bb:80/videostream.cgi?user=xxxx&pwd=yyyy"></div>
Diese Grundvariante habe ich dann noch etwas verfeinert, indem die url aus einem Reading bezogen und damit der Stream ausgeschaltet wird, wenn das Bild gar nicht eingeblendet ist. Das spart spürbar Bandbreite. Ich empfehle auch Kabel statt WLAN.
Mit der Speicherung von Bildern/Videos habe ich mich noch nicht beschäftigt, aber da scheint es ja bewährte Lösungen zu geben (die allerdings wohl auch am Budget zehren).

P.S. Ich bin nicht mehr und nicht weniger als (durchaus zufriedener, zahlender) Kunde von Instar. Das Leben ist zu kurz, um sich mit in interessantem Deutsch geschriebenen, wenn überhaupt vorhandenen Dokumentationen gewisser Kameras zu beschäftigen. Aufwendige Work-arounds für nicht vorhandene Features sind nicht so mein Hobby.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Stefan M. am 24 April 2020, 22:21:08
Hallo Zusammen
ich habe das Kamera Modul ESP32Cam und möchte es mit dem IPCAM Modul verwenden.

Als Firmware habe ich
https://www.fambach.net/esp32-cam-modul/
Arduino ESP32 CamWebServer der Funktioniert auch.
Jetzt möchte ich aber den Stream oder ein Capture Bild in FHEM haben.

Wie kann ich mit diesem CamModul ein Bild speichern. Das Attribut path gibt es bei der CAM nicht wirklich.

Hat jemand eine Idee, ich stehe etwas auf dem Schlauch bzw. auf der Leitung.

Das Funktioniert nicht. Es wird kein Bild gespeichert. : get ESP32Cam image

define ESP32Cam IPCAM http://192.168.0.48:81/stream
attr ESP32Cam delay 5
attr ESP32Cam icon it_camera
attr ESP32Cam path ?
attr ESP32Cam room Kamera
attr ESP32Cam snapshots 2
attr ESP32Cam storage /opt/fhem/www/snapshots/esp32cam
attr ESP32Cam timestamp 1
attr ESP32Cam verbose 3



Das zeigt zumindest das Bild in einem iframe an

define LiveCam1 weblink iframe http://192.168.0.48/capture
setuuid LiveCam1 5c5583f4-f33f-db58-afbd-85841f375f97502e
attr LiveCam1 htmlattr width="320" height="240" frameborder="0" marginheight="0"
attr LiveCam1 room Kamera


So wird der Stream im iframe angezeigt

define LiveCam1 weblink iframe http://192.168.0.48:81/stream
setuuid LiveCam1 5c5583f4-f33f-db58-afbd-85841f375f97502e
attr LiveCam1 htmlattr width="320" height="240" frameborder="0" marginheight="0"
attr LiveCam1 room Kamera
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 25 April 2020, 07:53:31
attr ESP32Cam path /capture

oder

attr ESP32Cam path /stream
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Stefan M. am 25 April 2020, 22:11:45
Hallo zusammen
das habe ich jetzt auch versucht aber ohne erfolg



define ESP32Cam IPCAM http://192.168.0.48
setuuid ESP32Cam 5c5583f4-f33f-db58-2db8-9a854c0db14d5615
attr ESP32Cam delay 5
attr ESP32Cam icon it_camera
attr ESP32Cam path /capture
attr ESP32Cam room Kamera
attr ESP32Cam snapshots 2
attr ESP32Cam storage /opt/fhem/www/snapshots/esp32cam
attr ESP32Cam timestamp 1
attr ESP32Cam verbose 5



Im Logfile kommt nun
Zitat
IPCAM ESP32Cam Wrong or not supported image format: error while reading source image:

Nach Codeänderung


  $snapshot = GetFileFromURLQuiet($camURI, 10, "", 1, 5);
  if ($snapshot eq "" ) {
    Log 3, "IPCAM Snapshot of $name is emtpy!";
  }


Zitat
2020.04.25 22:27:41 3: IPCAM Snapshot of ESP32Cam is emtpy!
2020.04.25 22:27:41 1: IPCAM ESP32Cam Wrong or not supported image format: error while reading source image:


LG
Stefan

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 26 April 2020, 08:56:16
laut Doku deiner Cam musst du im den Port 81 ansprechen.

Das bedeutet
Zitatdefine ESP32Cam IPCAM http://192.168.0.48:81

und dann
Zitatattr ESP32Cam path /capture

Mit freundlichen Grüßen
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Stefan M. am 26 April 2020, 09:59:49
Hi
das habe ich schon versucht, hat aber auch nicht funktioniert

Wenn ich es richtig verstehe, läuft nur der Stream über Port 81.

Diese Configuration für den iframe funktioniert ja.


define LiveCam1 weblink iframe http://192.168.0.48/capture
define LiveCam2 weblink iframe http://192.168.0.48:81/stream


LG
Stefan
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Stefan M. am 26 April 2020, 10:43:19
Hallo zusammen
Durch Erweiterung der Logausgabe im IPCAM Modul habe ich den richtigen Pfad herausgefunden und jetzt funktioniert es.

Danke schön.



define ESP32Cam IPCAM 192.168.0.48
attr ESP32Cam delay 5
attr ESP32Cam icon it_camera
attr ESP32Cam path capture
attr ESP32Cam room Kamera
attr ESP32Cam snapshots 5
attr ESP32Cam storage /opt/fhem/www/snapshots/esp32cam
attr ESP32Cam timestamp 1
attr ESP32Cam verbose 5


Zitat
2020.04.26 10:34:49 3: IPCAM Path : http://192.168.0.48/capture

LG
Stefan
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: holzwurm83 am 28 April 2020, 23:19:29
Hallo zusammen,

ich habe mein Kamera im Garten eingerichtet, was soweit auch funktioniert. Allerdings werden die Bilder immer als SVGs gespeichert und diese kann ich nicht öffnen, zumindest diese nicht. Ich weiß nicht wie ich z.B. auf jpg komme.

defmod cam_garten IPCAM 192.168.136.53
attr cam_garten alias cam_garten
attr cam_garten path mjpg/video.mjpg?user=bla&pwd=bla
attr cam_garten room Garten
attr cam_garten snapshots 1
attr cam_garten storage ./www/snapshot


Internals:
   AUTHORITY  192.168.136.53
   DEF        192.168.136.53
   FUUID      5cbf7455-f33f-283d-36b2-cf19a7809f4423db
   FVERSION   49_IPCAM.pm:0.185050/2019-02-05
   NAME       cam_garten
   NR         885
   SEQ        0
   STATE      last: 2020-04-28 22:59:13
   TYPE       IPCAM
   READINGS:
     2020-04-28 22:59:13   last            cam_garten_snapshot.svg
     2020-04-28 22:59:13   snapshot1       cam_garten_snapshot_1.svg
     2020-04-28 22:59:13   snapshots       1
Attributes:
   alias      cam_garten
   path       mjpg/video.mjpg?user=asdad&pwd=adasad
   room       Garten
   snapshots  1
   storage    ./www/snapshot

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 29 April 2020, 18:10:38
Ein wenig mehr Infos um welche Cam es sich handelt wären hilfreich.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: holzwurm83 am 29 April 2020, 20:19:38
Zitat von: Shadow3561 am 29 April 2020, 18:10:38
Ein wenig mehr Infos um welche Cam es sich handelt wären hilfreich.

Hi,

das ist die Edimax IC-9110W.

Danke für die Hilfe.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 30 April 2020, 05:53:09
Hast du es mal mit

snapshot.jpg?account=[USERNAME]&password=[PASSWORD

Probiert?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: holzwurm83 am 30 April 2020, 12:15:02
Zitat von: Shadow3561 am 30 April 2020, 05:53:09
Hast du es mal mit

snapshot.jpg?account=[USERNAME]&password=[PASSWORD

Probiert?

Ja, habe das gerade einmal ausprobiert. Es kommen leider weiter SVGs.

ZitatInternals:
   AUTHORITY  192.168.136.53
   DEF        192.168.136.53
   FUUID      5cbf7455-f33f-283d-36b2-cf19a7809f4423db
   FVERSION   49_IPCAM.pm:0.185050/2019-02-05
   NAME       cam_garten
   NR         885
   SEQ        0
   STATE      last: 2020-04-30 12:12:51
   TYPE       IPCAM
   READINGS:
     2020-04-30 12:12:51   last            cam_garten_snapshot.svg
     2020-04-30 12:12:51   snapshot1       cam_garten_snapshot_1.svg
     2020-04-30 12:12:51   snapshots       1
Attributes:
   alias      cam_garten
   path       snapshot.jpg?account=asdasd&pwd=adsad
   room       Garten
   snapshots  1
   storage    ./www/snapshot
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 30 April 2020, 14:48:11
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: holzwurm83 am 30 April 2020, 18:59:14
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.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Shadow3561 am 30 April 2020, 20:03:29
Wenn du nicht nach Passwort oder Benutzer gefragt wirst dann würde ich es mal so probieren

attr cam_garten path snapshot.jpg
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: holzwurm83 am 03 Mai 2020, 13:10:44
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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: onkel-tobi am 30 Juni 2020, 08:42:35
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 (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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Spook112 am 10 September 2020, 10:18:08
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?


Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 10 September 2020, 10:28:34
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Spook112 am 11 September 2020, 10:06:08
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.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: mrfloppy am 29 Oktober 2020, 09:35:07
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 29 Oktober 2020, 09:49:24
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: weini am 29 Oktober 2020, 09:49:52
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)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: mrfloppy am 29 Oktober 2020, 09:50:38
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

 
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: marwal am 04 Dezember 2020, 15:29:33
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Heatseeker am 17 Dezember 2020, 12:00:25
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Heatseeker am 17 Dezember 2020, 12:23:17
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
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Heatseeker am 22 Dezember 2020, 15:34:56
So,

ich nochmal. Ich möchte nun die Bewegungserkennung der Kamera per Kommando aus und einschalten können. Ich habe schon rausgefunden, dass dies mit dem Befehl:

http://BENUTZERNAME:PASSWORT@IP-der-LE201/cgi-bin/configManager.cgi?action=setConfig&MotionDetect[0].Enable=false

funktioniert.

Habe auch schon versucht es per
attr xxx cmd01 cmd=cgi-bin/configManager.cgi?action=setConfig&MotionDetect[0].Enable=true
attr xxx cmd02 cmd=cgi-bin/configManager.cgi?action=setConfig&MotionDetect[0].Enable=false


als Befehl nutzbar zu machen, klappt aber nicht.
Hat da jemand eine Idee?

Grüße
Heatseeker
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 24 Februar 2021, 12:07:06
Hallo Zusammen,

da ich auch ein paar Ideen für dieses Modul habe, hab ich mich als Maintainer angeboten und werde versuchen, das Modul etwas in Schuss zu bringen (siehe hier: https://forum.fhem.de/index.php/topic,119071.msg1135185.html).

Im Anhang ist mal eine Version, wo das Logging auf Log3 umgestellt wurde (dh das Attribut 'verbose' lässt nun den Log-Level vom Modul selber ändern, man muss nicht mehr über das globale Attribut gehen).
Außerdem hab ich eine neue Log-Message hinzugefügt, die den endgültigen snapshot-pfad ausgibt (wurde hier im Forum zum Debugging von "wrong or not supported image format" empfohlen).

Rein intern hab ich etwas Hygiene betrieben und ein Perl-Package eingeführt.

Meine Bitte an euch: kann jemand, der eine PTZ-Kamera hat, das Modul im Anhang mal durchtesten?
Speziell mit den Perl-Packages kanns sein, dass ein Methodenaufruf FHEM zum Absturz bringt, wenn das Package nicht passt. Tritt aber erst beim Aufruf der Methode auf.

Meine Tests waren erfolgreich, aber eben nicht erschöfpend.

Falls ich hier das OK kriege, würd ich diese Version mal einchecken und dann Schritt für Schritt an weiteren Features arbeiten, wie schon hier im Forum oder im Wiki dokumentiert sind. Und natürlich auch meine eigenen Wünsche ;-)

Danke für eure Mithilfe



schöne Grüße
Martin



Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: ph1959de am 24 Februar 2021, 12:50:02
Hallo Martin,

schön, dass das Modul wieder einen aktiven Owner hat.

Mir sind im Forum über die Jahre immer wieder Berichte über inoffizielle Änderungen / Fixes / "workarounds" von einzelnen Benutzern aufgefallen. Hast Du die (zumindest teilweise) schon auf dem Schirm oder soll ich mal durchforsten was ich dazu noch so finde?

Peter
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 24 Februar 2021, 13:55:10
Hallo Peter

Zitat von: ph1959de am 24 Februar 2021, 12:50:02
Mir sind im Forum über die Jahre immer wieder Berichte über inoffizielle Änderungen / Fixes / "workarounds" von einzelnen Benutzern aufgefallen. Hast Du die (zumindest teilweise) schon auf dem Schirm oder soll ich mal durchforsten was ich dazu noch so finde?
Wie vorhin geschrieben, kenne ich die Wünsche von der Wiki-Page und ein- zwei Sachen vom Durchlesen dieses Threads.
Dieser Thread ist dann aber auch schon der Tellerrand, an dem mein Horizont endet.

Wenn du dir die Zeit nehmen kannst, weitere Informationen zu sammeln, wär ich dafür sehr dankbar.
Zeitliche Versprechen für die Implementierung kann ich natürlich nicht machen; sollten aber ein paar Bugs dabei sein, dann nehm ich mir schon gern früher als später den einen oder anderen Abend Zeit, um den aus der Welt zu schaffen.

Dank dir

schöne Grüße
Martin

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 24 Februar 2021, 23:14:36
Zitat von: Heatseeker am 22 Dezember 2020, 15:34:56
So,

ich nochmal. Ich möchte nun die Bewegungserkennung der Kamera per Kommando aus und einschalten können. Ich habe schon rausgefunden, dass dies mit dem Befehl:

http://BENUTZERNAME:PASSWORT@IP-der-LE201/cgi-bin/configManager.cgi?action=setConfig&MotionDetect[0].Enable=false

funktioniert.

Habe auch schon versucht es per
attr xxx cmd01 cmd=cgi-bin/configManager.cgi?action=setConfig&MotionDetect[0].Enable=true
attr xxx cmd02 cmd=cgi-bin/configManager.cgi?action=setConfig&MotionDetect[0].Enable=false


als Befehl nutzbar zu machen, klappt aber nicht.
Hat da jemand eine Idee?

Grüße
Heatseeker

Hallo Heatseeker,

ich hab das "neue" Modul File im meinem Post von heute mittag nochmal erweitert.
Probier das mal aus.

Wenn du verbose auf 4 stellst, solltest du beim Ausführen eines set einen Log Eintrag kriegen, der den ganzen Request ausgibt. Zum Beispiel so:

2021.02.24 23:03:39 4: IPCAM (ipcam_reolink) - set cmd requesting http://x.x.x.x/cgi-bin/api.cgi?user=abc&password=def&cmd=GetOsd


Das cmd in der Log-Zeile verweist auf den ausgeführten Befehl (könnte also auch 'pan', 'tilt', etc sein).

Vielleicht hilft dir das schon mal.
Wenn nicht, könnte ich mir noch vorstellen, dass http://benutzername:passwort@... in der URL irgendwie ein Problem macht.
Und dann könnte es noch sein, dass der Request als POST geschickt werden muss, das ist derzeit meines Wissens nach mit diesem Modul auch (noch) nicht möglich.



schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 26 Februar 2021, 22:52:26
Hallo

ich hab jetzt die überarbeitete Version des Moduls eingecheckt.
Ergänzt wurden Templates zur Kamerakonfiguration und das Logging wurde auf Log3 umgestellt.
(und eine handvoll modernisierungsarbeiten am Code - hinter den Kulissen)

Funktionierende Einstellungen für Kameras gern hier dokumentieren, damit ich sie ins SVN aufnehmen kann.

Als nächstes auf meiner Liste wäre

Fehlerberichte und Verbesserungsvorschläge sind herzlich willkommen

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Sany am 09 März 2021, 12:08:33
Hallo delMAr,

vielen Dank dafür, dass IPCam nun Updates erfährt. Bisher funktioniert es, ich nutze es nur, um von einer CAM Bilder abzufragen (snapshot).
Die neue Möglichkeit imageWithCallback habe ich gleich mal ausprobiert, die scheint aber ein wenig zu schnell zu sein. Der Snapshot wird zwar geschrieben, aber vorher schon der noch vorhandene gesendet, also quasi die Aufnahme vom Ereignis davor. IPCam wartet da nicht lange genug auf das Ende des Schreibvorgangs.

Beim "alten" Modul hatte ich immer mal Fehler im Log in Zusammenhang mit schreiben der snapshots, das ist mit dem Update bisher ausgeblieben. :)

Viele Grüße

Sany
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 09 März 2021, 12:13:47
Zitat von: Sany am 09 März 2021, 12:08:33
Der Snapshot wird zwar geschrieben, aber vorher schon der noch vorhandene gesendet, also quasi die Aufnahme vom Ereignis davor. IPCam wartet da nicht lange genug auf das Ende des Schreibvorgangs.
Danke fürs Feedback.

Tatsächlich "wartet" IPCAM schon lang genug. Denn der FileHandle wird geschlossen, dann wird erst das Reading aktualisiert, und dann wird erst das callback command ausgeführt.
Ich kann deine Beobachtung aber bestätigen.
Es scheint, als ob der Schreibvorgang des Files zu lange dauert.
Ich werd schauen, was ich hier machen kann, ohne eine harte Wartezeit von zB 1 Sekunde einbauen zu müssen

Danke!
schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 09 März 2021, 17:57:51
Hallo,

der Fix ist eingecheckt, war tatsächlich mein Fehler, nicht der Fehler der Schreiboperation (aber auch nicht das, was du vermutet hattest. Ich sollte einfach in Zukunft die Doku sorgfältiger lesen)

Zitat von: Sany am 09 März 2021, 12:08:33
Beim "alten" Modul hatte ich immer mal Fehler im Log in Zusammenhang mit schreiben der snapshots, das ist mit dem Update bisher ausgeblieben. :)
Hm, außer, dass die Requests zur Kamera jetzt non-blocking sind, hab ich diesbezüglich eigentlich nichts in direktem Zusammenhang geändert.

Aber lieber eine unerwartete Verbesserung, als etwas kaputtreparieren

Danke nochmal fürs Feedback

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Sany am 10 März 2021, 09:34:52
Hallo Martin,

update eingespielt, nun klappt der "imageWithCallback" genau wie vorgesehen. Vielen Dank dafür.


ZitatBeim "alten" Modul hatte ich immer mal Fehler im Log in Zusammenhang mit schreiben der snapshots, das ist mit dem Update bisher ausgeblieben.
das war der Fehler, der immer wieder kam, wenn IPCam getriggert wurde. Da hat wohl auch etwas mit dem Schreiben des Bildes nicht geklappt. Ich habs aber nicht weiter untersucht, und jetzt ist es eh weg.
2021.02.22 13:11:52.574 1: PERL WARNING: Use of uninitialized value in read at ./FHEM/49_IPCAM.pm line 465.
2021.02.22 13:11:52.575 1: stacktrace:
2021.02.22 13:11:52.576 1:     main::__ANON__                      called by ./FHEM/49_IPCAM.pm (465)
2021.02.22 13:11:52.576 1:     main::IPCAM_guessFileFormat         called by ./FHEM/49_IPCAM.pm (386)
2021.02.22 13:11:52.577 1:     main::IPCAM_getSnapshot             called by fhem.pl (3362)
2021.02.22 13:11:52.577 1:     main::HandleTimeout                 called by fhem.pl (689)
2021.02.22 13:11:52.578 1: IPCAM Camxxxxx Wrong or not supported image format: error while reading source image:


Zitatwar tatsächlich mein Fehler, nicht der Fehler der Schreiboperation (aber auch nicht das, was du vermutet hattest. Ich sollte einfach in Zukunft die Doku sorgfältiger lesen)
würde keiner Fehler machen gäbs keine updates und das Forum könnte man auch stillegen  ;) ;)

Viele Grüße

Sany
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: diepe am 04 April 2021, 10:15:39
Hallo zusammen,
Seit Jahren nutze ich dieses Modul. Wenn es bei uns an der Haustür Klingel wird vom ipcam Modul ein Foto gemacht. Danach wird es per Telegram versendet. Seit dem Update sind die Fotos grau und man kann nichts mehr erkennen. Warum lässt man das Modul nicht einfach so wie es war und programmiert ein neues damit der User wählen kann welches er benutzt

Gruß
Dieter
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Jamo am 04 April 2021, 10:39:06
Einfach vom backup das alte Modul wieder einspielen, das sollte für Dich passen. Und in global mit attr exclude_from_update das ipcam Modul vom update ausnehmen.

Alternativ konstruktiv mit dem Modulautor zusammenarbeiten, um den Fehler zu beseitigen. Der macht das ja hier unendgeldlich in seiner Freizeit, um ein für alle funktionierended Modul bereitzustellen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 04 April 2021, 11:08:27
Hallo Dieter,

Zitat von: diepe am 04 April 2021, 10:15:39
Seit dem Update sind die Fotos grau und man kann nichts mehr erkennen.
Die maßgeblichen Änderungen beginnen mit 27. Februar. Hast du seit diesem Tag mehrere Updates gemacht?

Zitat von: diepe am 04 April 2021, 10:15:39
Warum lässt man das Modul nicht einfach so wie es war und programmiert ein neues damit der User wählen kann welches er benutzt
Die Absicht war natürlich, dass das Modul kompatibel zum bisherigen Verhalten bleibt. Tut mir leid, dass das bei dir zu Problemen führt. Von einem Vor-Poster wurde auch hier festgehalten, dass das Modul nun besser funktioniert.

Zitat von: Jamo am 04 April 2021, 10:39:06
Einfach vom backup das alte Modul wieder einspielen, das sollte für Dich passen. Und in global mit attr exclude_from_update das ipcam Modul vom update ausnehmen.
Danke für deine Erläuterung, Jamo. Das hätt ich nicht so rasch zur Hand gehabt.

Zitat von: Jamo am 04 April 2021, 10:39:06
Alternativ konstruktiv mit dem Modulautor zusammenarbeiten, um den Fehler zu beseitigen.
Richtig.
Dieter, falls du verifizieren könntest, dass es mit dem Stand vor dem 27. Februar einwandfrei funktioniert, kümmere ich mich gern darum, dass das bei dir funktionierende Verhalten wahlweise auch künftig weiterverwendet werden kann.
Die entsprechende Version findest du hier: https://svn.fhem.de/trac/export/18505/trunk/fhem/FHEM/49_IPCAM.pm

Noch besser wäre, wenn wir den Grund finden würden, warum nur noch graue Fotos gemacht werden.
Liefert die URL aus IPCAM direkt im Browser auch nur ein graues Bild?
Hast du Kamera-Strom an/aus versucht?
Du kannst hier auch gern die Definition und Attribute posten, und welches Kameramodell du hast.
Vielleicht gibt es auch von anderen Usern in der Community Feedback dazu.


schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: SimonFoag am 07 April 2021, 14:59:41
Hallo zusammen,
Ich habe heute das Update des Modules eingespielt und das imageWithCallback getestet.
Ich bekomme dann immer einen timed out.

2021.04.07 14:33:33 3: IPCAM (Luowice) - imageWithCallback camUri: http://xxx:xxx@192.168.178.74:80/web/tmpfs/snap.jpg?user=Xxx&pwd=Xxx
2021.04.07 14:33:37 0: IPCAM (Luowice) - error while getting snapshot http://xxx:xxx@192.168.178.74:80/web/tmpfs/snap.jpg?user=Xxx&pwd=Xxx - read from http://192.168.178.74:80 timed out


Wenn ich die Url direkt in den Browser eingebe kommt sofort der aktuelle Snapshot.

Wenn ich über get Image den Snapshot hole bringt er mir kein Fehler.

Was kann ich tun? Kann man den TimeOut hochsetzen evtl mit einem Attribut?

Danke für eure Hilfe.
Grüße
Simon
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 07 April 2021, 15:23:27
Zitat von: SimonFoag am 07 April 2021, 14:59:41
Wenn ich über get Image den Snapshot hole bringt er mir kein Fehler.
Das ist seltsam, da sowohl image als auch imageWithCallback tatsächlich das Gleiche auf die selbe Art ausführen.
Einzig das Ausführen des Callbacks ist der Unterschied.

Kannst du mal bitte die raw definition hier posten, und auch, wie du das imageWithCallback aufrufst?
Sorry, ich fische hier noch etwas im Trüben...

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: SimonFoag am 07 April 2021, 16:16:53
Hallo,
Danke für die schnelle Antwort.
Ich muss mich berichtigen, der time out kommt auch über get Image. Hat aber zwischendurch funktioniert.
Auch muss ich sagen das die Kamera über WLAN angeschlossen ist und ich mir bewusst bin das dies nicht perfekt ist. Aber bis zum Update hab ich nur gelegentlich mal kein aktuellen Snapshot bekommen, da war aber der Fehler laut Loggfile bei einem unknown fileformat?!?!
Hier die Raw Definition des imageWithCallback das ich zum Testen manuell aufrufe....
defmod n_KameraLuowice notify KameraLuowice get Luowice imageWithCallback set MSGTelegram sendImage @@SimonTelegramFHEM /opt/fhem/www/snapshots/Luowice_snapshot.jpg
attr n_KameraLuowice room Kamera

setstate n_KameraLuowice 2021-04-07 14:31:40
setstate n_KameraLuowice 2021-04-07 12:44:45 state active


Ich kann mir vorstellen das der timeout generell zu niedrig ist wegen WLAN. Kann diese im Modul erhöht werden?

Grüße
Simon
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 07 April 2021, 16:20:58
Ok, ich werd bezüglich timeout recherchieren. Werde aber bis morgen nicht die Zeit finden.

Kannst du der Vollständigkeit halber noch das Modell der Kamera posten?

Danke!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: SimonFoag am 07 April 2021, 16:47:39
Hallo,
Das ist nur eine billige China Cam.
Luowice IP Kamera WiFi HD 3MP
Unterstützt aber den CGI Standard sowie onif und Rstp.

Vielen Dank schonmal.

Grüße
Simon
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 07 April 2021, 17:47:23
Hallo,

nachdem hier ja bereits über Timeout "philosphiert" wird: habe ein ähnliches "Problem"...

Wäre ein Attribut mit Angabe eines Timeout möglich?

Kamera (Foscam) ebenfalls über WLAN.
Habe schon begonnen einige Aufrufe per HTTPMOD umzusetzen, da ich dort einen Timeout angeben kann.
Alles nicht schön aber...

Wollte mich eh melden, da ich eine Doku bzgl. der möglichen cgi-Befehle bei Foscam gefunden habe (schon länger, hatte aber bislang keine Zeit)...
...und eben so einiges ausprobiere.

Wenn gewünscht, dann kann ich die Kommandos hier posten oder aber "zusenden".
Auch das cgi-Dokument.
Allerdings sind einige Kommandos (inzwischen) anders als in der Doku.
Hatten aber bei meiner Kamera schon mal funktioniert aber wohl seit einem FW-Update dann anders...

Ich hatte auch schon mal angefangen (so vor 1-2 Jahren) meine Foscam einzubinden und ging auch...
...dann jetzt nachdem hier weiter entwickelt wird :) gehe ich es noch mal an.

Einiges musste ich "ändern" (nicht nur wegen Kamera-FW-Update) wegen dem "Umbau" hier...
...aber: ich bin froh, dass es hier weiter geht!! :)

EDIT: hatte schon einige Kameras "hier". Mich aber für die Foscam entschieden, weil: OHNE Cloud, Pan+Tilt+Zoom :) und man kann per cgi die Bewegungserkennung ein-/ausschalten bzw. quasi die ganze Kamera konfigurieren (wenn man das wollte)... Habe zu keiner anderen Kamera ähnlich "gut" Doku gefunden. Auch wenn mittlerweile wohl einige Kommandos anders lauten (seit FW-Update vermute ich).

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 08 April 2021, 08:47:40
Hallo,

ich hab jetzt ein Update ins SVN gegeben, wo incrementalTimeout gesetzt wird.

Laut FHEM-doku macht das folgendes:

Zitat
Sofern gesetzt (Wert: 1), wird der Timeout nach jedem Empfang von Teil-Daten wieder zurückgesetzt. So können größere Datenmengen von langsamen Sendern empfangen werden, ohne den Parameter timeout zu erhöhen und dadurch tatsächliche Verbindungsprobleme erst spät zu erkennen.

Dh von eurer Seite ist hier erstmal nix zu tun, außer morgen das Update holen (oder schon heute direkt aus dem SVN) und mal prüfen, ob damit das Problem gelöst wird.

Ich würde mich nämlich schon sehr wundern, wenn im LAN/WLAN der Verbindungsaufbau länger als 4 Sekunden dauern würde (das ist das default Timeout).
Falls aber incrementalTimeout auch nicht funktioniert, geb ich natürlich gern ein Attribut für längeres Timeout dazu.
Ich denke aber, dass das eine Schraube ist, an der man schnell mal dreht, weil man sonst keine andere Idee hat.
Deshalb würd ich das gern vermeiden.

Und wenn das immer noch nicht funktioniert, geb ich auch gern noch ein Attribut hinzu, womit man Blocking-GET erzwingen kann, was dann schlussendlich das ursprüngliche Verhalten ist.
Blocking-GET soll im Hinblick auf die gesamt-performance von FHEM halt vermieden werden.
Aber klar: wenns nicht anders geht, dann muss es halt sein.

Schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 08 April 2021, 11:55:52
Hallo Martin,

danke für die superschnelle Reaktion!

Hmmm, bin nicht sicher, ob der eingebaute Timeout hilft.
Weil die Antworten (also bei nicht Bild) sind ja eher klein: kurzes json mit Fehler oder ok ;)

Also ich hab die "Probleme" auch mit kleinen "Steuerkommandos": pan, tilt, ...

Ich merke das auch, wenn ich direkt die url in den Browser tippe...
Allerdings war wohl meine Kamera auch etwas "kaputtkonfiguriert" von dem ganzen Rumprobieren ;)

Mal sehen, ob ich morgen zum Testen komme...
Ich packe die Kamera nur alle "daumenlang" mal an, ist eigentlich mehr "Spielerei"...

Was ich gerne hätte wäre ein "schrittweises" Fahren, Zooen etc.
Dazu müsste ich allerdings mitkriegen, wenn der letzte Befehl "ok" bearbeitet wurde und dann nach einer gewissen Zeit eben ein Stopp-Kommando schicken.
Auch nicht sehr zuverläsiig, ich weiß, weil es ja auch beim Stopp zu Verzögerungen kommen kann etc.
Aktuell habe ich mir diverse webCmd "gebastelt", wo ich eben "Knöpfe" für rechts/links/stopp etc. habe.
D.h. ich drücke, warte und drücke eben stopp...

Ich habe auch versucht herauszufinden, wie denn die "Oberfläche" der Kamera (ist leider ein Browser-Plugin) das macht.
Habe sogar mit wireshark mitgeschnitten.
Werde da aber leider nicht sonderlich schlau draus... :-\

Ich weiß auch nicht, wie HTTPMOD das mit dem Timeout macht.
Aber mWn ist HTTPMOD nicht blockierend!
Da habe ich aktuell einen Timeout von 5s eingestellt und es tut.

Wobei nach einem Reset und "Neuanfang" mit der Kamera geht es auch mit dem IPCAM-Modul (siehe meine webCmd)...
Nachdem ich aber dann fast einen Tag mit dem "Umstellen" ("altes" Modul auf "neues" Modul: bissi was hatte sich ja geändert ;)  ), dem Zurücksetzen, FW-Update, Recherche bzgl. geänderter Kommandos (ein-/ausschalten der Bewegungserkennung) und dem Mitschneiden "verdödelt" hatte, habe ich die Kamera erst mal wieder weggepackt. Wollte mich eigentlich erst melden, wenn ich mir das Ding mal wieder vornehme(n will). Hab nur jetzt schon mal geschrieben, weil es eben um Timeout ging ;)

Noch mal die Frage bzgl. der Kommandos der Foscam: besteht Interesse?

Noch mal vielen Dank, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 08 April 2021, 12:17:27
Zitat von: MadMax-FHEM am 08 April 2021, 11:55:52
Noch mal die Frage bzgl. der Kommandos der Foscam: besteht Interesse?
Ich antworte hier jetzt aus Zeitgründen nur mal darauf:
ja, sehr gern, daran besteht interesse :-)

Du kannst sie hier anhängen oder ins Wiki stellen. Ich werd sie dann gern ins Template mit Aufnehmen.

Danke!

schöne grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: SimonFoag am 08 April 2021, 12:22:44
Hallo,
vielen Dankfür die schnelle Hilfe.
Ich werde es morgen testen und bescheid geben.
Die CGI Befehle hab ich auch ;)
Grüße
Simon
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 08 April 2021, 12:25:12
Zitat von: delMar am 08 April 2021, 12:17:27
Ich antworte hier jetzt aus Zeitgründen nur mal darauf:
ja, sehr gern, daran besteht interesse :-)

Du kannst sie hier anhängen oder ins Wiki stellen. Ich werd sie dann gern ins Template mit Aufnehmen.

Danke!

schöne grüße
Martin

Hallo Martin,

sehr schön!

Mit der "Zeitgründen-Antwort" kann ich gut leben...
...ist bei mir (aktuell) auch so... ;)

Einige Kommandos habe ich schon.
Einiges will ich noch testen, da ich nur Kommandos liefern will, die ich auch tatsächlich ausprobiert habe...

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 08 April 2021, 13:17:37
So.
Das auch bei Kommandos ein Timeout kommt, hat mir nun doch keine Ruhe gelassen.
Um Zeit zu sparen hab ich nun auch direkt das neue Attribut httpTimeout eingeführt.
Ist ebenfalls ab morgen im Update.

Wie gesagt: per default sind das 4 Sekunden.

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 08 April 2021, 13:27:23
Hallo Martin,

super, danke.

Hmm, dann "muss" ich ja fast morgen die Kamera (noch mal wieder) aus-/anpacken... ;)

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: SimonFoag am 09 April 2021, 08:23:12
Hallo,
Vielen Dank nochmal für die schnelle Hilfe.
Jedoch ist der timeout bei mir egal ob get image oder get imageWithCallback nun fast ständig da, auch wenn ich httpTimeout auf z.b. 10 sec hochsetze.
Selbes wenn ich das Attribut wieder lösche.
Das heißt, nun bekomm ich gar kein Bild mehr.
Ich werd noch ein bisschen rum probieren und mich ggf. Dann nochmal melden.

Grüße
Simon
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 09 April 2021, 08:56:27
Zitat von: SimonFoag am 09 April 2021, 08:23:12
Ich werd noch ein bisschen rum probieren und mich ggf. Dann nochmal melden.
Falls du die Muße hast:
Du kannst auch wahlweise die Zeilen 286,287 und 492,493 mit # auskommentieren.
Dann ist wieder das verhalten von gestern, ohne gesetzte timeouts.
Und sehen, obs dann zumindest wieder so schlecht wie gestern (immer noch besser) geht.

Danke!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 09 April 2021, 17:39:56
Hallo Martin,

du wolltest es ja so haben ;)

Also ich habe mal getestet (und gleich auch noch meine "spezielle" Stromversorgung getestet :)  ).

Es hat sich ja entweder beim Modul oder bei der Kamera (verm. beides) was geändert.

Ich habe also mal ein neues Device angelegt und dann eben das attrTemplate Foscam drüber geworfen.
Leider weiß ich nicht mehr so genau was da mit kam (werde wohl mal ein weitere anwerfen ;)  )...

Eben gemacht.
Es kommt Abfrage User/PW und dann folgende Meldung (in einem Popup):
Zitat
Unknown command PAR:POS1;Name, try help.
Also mehr als den define und das attrTemplate habe ich (aktuell) nicht gemacht.

Hier das list gleich nach dem Erstellen und Ausführen von attrTemplate:


Internals:
   AUTHORITY  192.168.10.184:88
   CFGFN     
   DEF        192.168.10.184:88
   FUUID      60706d15-f33f-19f1-8f74-c178da2d86523672
   NAME       Foscam2
   NR         313
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
Attributes:
   cmd01      cmd=ptzStopRun&usr=admin&pwd=madmax123
   cmdPanLeft cmd=ptzMoveLeft&usr=admin&pwd=madmax123
   cmdPanRight cmd=ptzMoveRight&usr=admin&pwd=madmax123
   cmdPos01   cmd=ptzGotoPresetPoint&name=POS1&usr=admin&pwd=admin
   cmdTiltDown cmd=ptzMoveDown&usr=admin&pwd=madmax123
   cmdTiltUp  cmd=ptzMoveUp&usr=admin&pwd=madmax123
   model      Foscam
   path       cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123&cmd=snapPicture2
   pathCmd    cgi-bin/CGIProxy.fcgi
   pathPanTilt cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123


Es stehen user/pw sowohl im pan/tilt Kommando als auch in pathPanTilt.
Daher wird nun user/pw doppelt im Befehl mitgegeben.
Kein Problem es tut aber schön ist es nicht.

Wenn ich user/pw bei den pan/tilt Kommandos lösche (siehe auch list meines aktuellen, schon etwas "geschraubten" Devices), dann wird es nur einmal gesendet und die pan/tilt Kommandos sind auch "übersichtlicher" :)

Nun dachte ich, dass ich das doch auch bei pathCmd user/pw angeben kann und damit dann auch nur "einfache Kommandos" bei cmd1, cmd2, usw. eingeben brauche.
Das geht leider nicht, weil dann zweimal das "Fragezeichen" kommt, statt dem "Und" für weitere Parameter.

Hier mal was ich meine:

Mein cmd1 meiner "gebastelten" Kamera (2tes list):
Zitat
http://192.168.10.184:88/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123?cmd=ptzStopRun

Hier ein pan/tilt Kommando:
Zitat
http://192.168.10.184:88/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123&cmd=ptzMoveRight

Wäre schön, wenn hier das Verhalten gleich wäre, dann könnte man alle Kommandos "einfach" gestalten...

Hier nun das list wo ich bereits etwas "rumgespielt" habe (hier mal so wie ich es gerne hätte bzgl. Kommandos und pathCmd):


Internals:
   AUTHORITY  192.168.10.184:88
   DEF        192.168.10.184:88
   FUUID      6065f48f-f33f-19f1-27fa-18de1b46b245e587
   FVERSION   49_IPCAM.pm:0.241860/2021-04-08
   NAME       Foscam
   NR         234
   SEQ        0
   STATE      last: 2021-04-09 17:31:04
   TYPE       IPCAM
   READINGS:
     2021-04-09 17:31:04   last            Foscam_snapshot.jpg
     2021-04-09 17:31:04   snapshot1       Foscam_snapshot_1.jpg
     2021-04-09 17:31:04   snapshots       1
Attributes:
   cmd01      cmd=ptzStopRun
   cmd02      cmd=zoomIn
   cmd03      cmd=zoomOut
   cmd04      cmd=zoomStop
   cmdPanLeft cmd=ptzMoveLeft
   cmdPanRight cmd=ptzMoveRight
   cmdPos01   cmd=ptzGotoPresetPoint&name=POS1
   cmdTiltDown cmd=ptzMoveDown
   cmdTiltUp  cmd=ptzMoveUp
   comment    RTSP:
rtsp://admin:madmax123@192.168.10.184:88/videoSub
   httpTimeout 5
   model      Foscam
   path       cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123&cmd=snapPicture2
   pathCmd    cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123
   pathPanTilt cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123
   room       Camera
   storage    ./www/snapshots
   webCmd     cmd+1:pan+left:pan+right:cmd+4:cmd+2:cmd+3
   webCmdLabel stopp :links :rechts :zoom-stop :zoom-in :zoom-out :


Was ich noch suche ist tiltStop.
EDIT: das ist (hätte ich mir ja denken können) auch einfach nur "StopRun" ;)  :)

Was ich bereits habe sind aktivieren/deaktivieren der Bewegungserkennung (war mir wichtig, daher auch die Foscam, weil es da geht).
Das ging "früher" schon mal einfacher, also mit nur isEnable=0/1.
Ist auch so bei HomeAssistant noch drin, funktioniert aber so nicht mehr (seit einem FW Update).

Habe es aber wieder zum Laufen gebracht, das poste ich aber extra...

Timeout habe ich mal auf 5s gesetzt, wie bei meinem HTTPMOD.
Aber nachdem ich die Kamera zurück gesetzt habe und neu eingebunden habe (inkl. eines weiteren FW-Update ;)  ) würde es wohl auch ohne Timeout gehen.
Sorry aber trotzdem danke für's Einbauen!!! :)
Wer weiß ;)

Also es wäre toll, wenn sich pathCmd und pathPanTilt bzgl. user/pwd gleich verhalten würden (am besten nat. wie bei pathPanTilt :)  ).
Wenn es keine Umstände macht, dann wären auch "direkte Kommandos" (wie bei pan/tilt) für Zoom toll :)
Und vielleicht auch die passenden "Stopp-Kommandos" :)

Ansonsten: läuft SUPER!!!! :)

Bzgl. weiterer Kommandos melde ich mich noch...

Achja: Kamera-Typ FI9926P (also ob das ein "I" oder ein "l" ist bin ich nicht sicher ;)  )...

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 10 April 2021, 09:10:31
Zitat von: MadMax-FHEM am 09 April 2021, 17:39:56
du wolltest es ja so haben ;)
Du doch auch ;-)

Zitat von: MadMax-FHEM am 09 April 2021, 17:39:56
Es kommt Abfrage User/PW und dann folgende Meldung (in einem Popup):Also mehr als den define und das attrTemplate habe ich (aktuell) nicht gemacht.
Danke, du hast einen Bug entdeckt. Im Template ist ein Tippfehler. Fix wird heute noch eingecheckt.
das PAR muss klein geschrieben werden (falls du es bei dir gleich mal lokal beheben willst)

Zitat von: MadMax-FHEM am 09 April 2021, 17:39:56
Es stehen user/pw sowohl im pan/tilt Kommando als auch in pathPanTilt.
Daher wird nun user/pw doppelt im Befehl mitgegeben.
Ja, hier werd ich mal versuchen, dieses Verhalten besser zu dokumentieren.
Manche Attribute definieren ganze Pfade, manche nur Teile davon.

Zitat von: MadMax-FHEM am 09 April 2021, 17:39:56
Nun dachte ich, dass ich das doch auch bei pathCmd user/pw angeben kann und damit dann auch nur "einfache Kommandos" bei cmd1, cmd2, usw. eingeben brauche.
Das geht leider nicht, weil dann zweimal das "Fragezeichen" kommt, statt dem "Und" für weitere Parameter.
Ist notiert.

Zitat von: MadMax-FHEM am 09 April 2021, 17:39:56
funktioniert aber so nicht mehr (seit einem FW Update).
Ich denke, hier müssen unterschiedliche Templates pro Firmware gemacht werden.


Danke für dein ausführliches Feedback.
Ich werde sehen, dass ich das im Lauf der nächsten Abende Stück für Stück umsetzen kann.
Einheitliches Verhalten würde definitiv gut tun :-)

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 10 April 2021, 12:04:04
Hallo Martin,

Zitat von: delMar am 10 April 2021, 09:10:31
Du doch auch ;-)

Ja, irgendwie wohl schon ;)



Zitat von: delMar am 10 April 2021, 09:10:31
Danke, du hast einen Bug entdeckt. Im Template ist ein Tippfehler. Fix wird heute noch eingecheckt.
das PAR muss klein geschrieben werden (falls du es bei dir gleich mal lokal beheben willst)
Ja, hier werd ich mal versuchen, dieses Verhalten besser zu dokumentieren.

Juhuuuu! ;)
Gerne!

Äh, dumme Frage: was macht das??
Konnte auch in der Doku nichts finden...
...vielleicht bin ich auch "zu doof" ;)

Habe mich noch nicht wirklich viel mit dem Modul auseinandergesetzt...
Die Kamera-Geschichte läuft schon lange:

zuerst eine brauchbare Kamera finden: pan/tilt/zoom, OHNE Cloud, "Bewegungserkennung" IN der Kamera, ein-/ausschalten der Erkennung (per cgi), rtsp-Stream und keine 200EUR+
(Hatte eine China-Kamera, leider ging da der Hack nicht mehr :-\ Dann eine Reolink, da ging das Ein-/Ausschalten der Erkennung nicht und dann eben diese Foscam :)  / eine Unifi-Kamera war ein totaler Fehlkauf: kein pan/tilt/zoom [gut das wusste ich ;) ] und ich dachte noch ich könnte außen eine Kamera anbauen, naja kann man in Deutschland ja fast vergessen, wenn man nicht ein Haus mit Grundstück etc. hat ;)  )

Hier ein paar Links zu cgi-Befehls-Dokus für Foscam (werde ich noch ins Wiki stellen bzw. glaube ich sind die da schon? Hatte ja vor einiger Zeit mal was ergänzt, zumindest für Reolink [solange ich die zum Testen hier hatte]):
https://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf
https://www.themadhermit.net/wp-content/uploads/2013/03/FI9821W-CGI-Commands.pdf
https://www.manualslib.com/manual/1466496/Foscam-Cgi.html

Aber wie geschrieben: nicht alle dort aufgeführten Befehle funktionieren (entweder weil es neuere FW gibt oder weil eben "mein Typ" das [so] nicht kennt/kann)...

Dann hatte ich mich für die Foscam entschieden :)
Ein wenig rumprobiert. U.a. auch mit Zoneminder etc.
Mich aber dann für das IPCAM-Modul entschieden. :)
(keep it simpel / warum noch einen "Server" laufen lassen / die Foscam kann ja "Alarmvideos" auch per ftp ablegen, mal sehen)
Ein wenig rumprobiert und gesehen, dass es prinzipiell tut. Fertig :)

Dann überlegt: wohin mit der Kamera ;)
(gut hätte ich vielleicht vorher tun sollen ;)  / Aber es ist/war [und bleibt verm. auch] nur "Spielerei")

Und jetzt denke ich habe ich ein Plätzchen gefunden etc. und daher: weiter geht's, wie du merkst 8)

Zitat von: delMar am 10 April 2021, 09:10:31
Manche Attribute definieren ganze Pfade, manche nur Teile davon.
Ist notiert.
Ich denke, hier müssen unterschiedliche Templates pro Firmware gemacht werden.

Eigentlich nicht.
Also gut, ich weiß nicht wie sich andere FWs oder andere Foscam-Typen "verhalten".
Ich meinte, dass bestimmte Befehle ANDERS LAUTEN.
Und das schreibt man ja dann in das Attribut, also jeder selber?!
Zumindest für "nicht Standard Befehle" (wie pan/tilt/zoom usw. / wobei es da ja schon drauf ankommt, ob die Kamera das überhaupt kann ;)  )...
Und ob versch. attrTemplates selbst für unterschiedliche Kamera-Typen des selben Herstellers Sinn machen: ich denk nicht mal das!?
Ein Hinweis, dass nicht alle Funktionen von allen Typen (des Herstellers) gehen und man ja dann die Attribute löschen kann (wenn man will / bzw.: sie funktionieren halt nicht / oder eben anpassen "muss") sollte doch reichen!?

Also ich hatte ja mal einen simplen Befehl zum Aktivieren/Deaktivieren der Erkennung, wie auch hier genutzt: https://www.home-assistant.io/cookbook/foscam_away_mode_PTZ/

https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=0&usr=admin&pwd=password

Aber zum einen hat sich das angesprochene "cgi-Objekt" geändert: aus "setMotionDetectConfig" wurde "setMotionDetectConfig1" und auch der Aufruf ist anders, aufwändiger, da nicht nur (mehr) isEnabled mitgegeben werden muss/kann, sondern (leider) die ganze Config.

D.h. meine "damals" notierten Befehle gingen "plötzlich" nicht mehr. Ob das nun durch einen FW-Update kam (an den ich mich irgendwie gar nicht erinnere ;)  ) oder ich nur dachte: oh, toll das geht und gar nicht getestet hatte: keine Ahnung ;)
(vielleicht war ich bei der Analyse "damals" nicht gründlich genug und nur froh, dass ich eine Kamera gefunden habe für die es cgi-Beschreibungsdokumente gibt und auch ein Befehl dafür existiert / wobei ich mich zu erinnern glaube, dass ich das doch getestet habe, egal ;)  )

Daher muss ich das auch separat machen, bzw. ist es verm. besser im Wiki aufgehoben.
Dazu brauche ich aber Zeit und muss es auch erst mal (ausgiebig) austesten...


Zitat von: delMar am 10 April 2021, 09:10:31
Danke für dein ausführliches Feedback.
Ich werde sehen, dass ich das im Lauf der nächsten Abende Stück für Stück umsetzen kann.
Einheitliches Verhalten würde definitiv gut tun :-)

GERNE!!

Ich habe die Kamera (daher) aktuell auch nur "teilweggepackt" ;)

Ich habe ja noch das Attribut "credentials" entdeckt, werde ich auch mal "testen"...

Und dann gibt es ja noch "query". Mal sehen wie sich das verhält.
Also ob das dann "auf alle Kommandos" GLEICH wirkt (wie geschrieben), dann könnte ich ja auch das nehmen und user/pwd aus den pathCmd usw. rausnehmen...

Mal sehen.
Aber am WE habe ich leider keine Zeit dafür...
...bzw. warte ich eh erst mal auf die nächste Version :)

Danke, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: SimonFoag am 11 April 2021, 09:12:45
Hallo,
Nachdem ich jetzt mein FHEM auf mein NAS umgezogen habe und nun auch Performance Probleme (fast) ausschließen kann, hab ich nochmal ein bisschen getestet.
Mit ImageWithCallback bringt er mir immer den timedout Fehler. Egal mit welcher Zeit im Attribut.
Der image Befehl hingegen funktioniert bis jetzt gut.
Ich denke das beim Callback vielleicht die Zeit zu kurz ist bis er den nächsten Befehl auslöst?
Hm, eig nicht, weil er ja gar kein Bild von der Kamera bekommt...?!

Soviel zu meinem Test.

Vielen Dank und Grüße
Simon
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 11 April 2021, 09:41:38
Danke, dass du dir die Zeit nimmst, Simon.

Kannst du bitte bei Gelegenheit mal verbose auf 4 stellen und den Log output wo so ein timeout vorkommt hier posten?

Danke
Schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 11 April 2021, 10:40:00
So: nochmal kurz zum Timeout Problem bei imageWithCallback.

Ich hab jetzt festgestellt, dass bei get image der eigentliche Request im Rahmen eines internal Timers gemacht wird (weil man ja auch snapshot sequenzen definieren kann). Auch wenn nur ein einzelnes Bild gemacht wird, wird der Request mit einem Internal Timer gemacht, aber eben mit delay 0.

Ich hab jetzt ein Update eingecheckt, wo auch imageWithCallback innerhalb eines internal timers mit 0 delay ausgeführt wird.
get image und get imageWithCallback funktionieren nach wie vor bei mir, dh schlechter sollte dadurch mal nix werden.

Im Idealfall funktioniert nun aber imageWithCallback ohne timeout.
Bitte um Feedback, das Update ist ab morgen früh verfügbar.

Ich habe in anderen Modulen schon ein- oder zweimal gesehen, dass diverse Befehle über timer ohne delay aufgerufen wurden.
Könnte es vielleicht sein, dass dieses timeout gehäuft dort auftritt, wo die FHEM Instanz vielleicht etwas gestresst ist?
Also nicht gestresst bezüglich reiner CPU-usage, sondern gestresst durch viele parallele Timer, dh viele Befehle in einer Queue, oder dergleichen?

Falls das auch nix hilft, wäre der nächste Schritt dann trotzdem, wahlweise per Attribut wieder blockierende Requests zu erlauben.

Hope that helps

Danke für eure Mitarbeit
schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: SimonFoag am 12 April 2021, 06:59:28
Hi,
Vielen Dank das du dir so viel Mühe machst.
Ich habe nun mit Verbose 4 nochmal getestet. Und was soll ich sagen, es gab keinen Timedout mit get mageWithCallback. Das Update hab ich aber noch nicht gemacht.
Ich weiß nun wirklich nicht mehr an was es liegt, aller Wahrscheinlichkeit nach an der Kamera und WLAN Verbindung... ich kann's mir nicht anderst erklären.
Aber warum funktionierte gestern get image, und get imageWithCallback auf Teufel komm raus nicht????
Irgendwie passt das nicht zusammen.
Wie gesagt, FHEM hat keine Performance Probleme da es auf einem Leistungsstarken NAS läuft.
Ich spiel nachher das Backup ein und teste mal weiter.

Danke und Grüße
Simon
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 12 April 2021, 07:46:07
Hi Simon,

ich kann mir gut vorstellen, dass es an den Befindlichkeiten der Kamera liegt, obs funktioniert oder nicht.
Wenns aber einen Weg gibt, diese Befindlichkeiten auszugleichen, würd ich den gern finden.
Und ich hab faktisch ja einen Unterschied zwischen beiden Befehlen gefunden, somit war das schon guter Input von dir.
Jetzt hoff ich nur noch, dass du auch davon profitierst ;)

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 12 April 2021, 09:44:15
Ich hatte ja auch mal die "Reaktions-Probleme"...
Kamera auch WLAN (jaja ;)  )...

Aber nach einem Reset und neu (aber da war wohl bei mir so einiges "Verstellt" wegen "wildem" cgi-Kommandos "ausprobieren") geht es aktuell gut.
(hatte mich ja "entschuldigt" ;) dass jetzt Timeouts eingebaut wurden und ich die [aktuell] gar nicht [mehr] brauche)

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 12 April 2021, 10:41:07
Also, das Forum is ja dazu da, um Probleme zu diskutieren.
Wenn für manche die Lösung darin besteht, Firmware Upgrades und Resets zu machen, dann ist das hier genau der richtige Platz, um dieses Wissen zu dokumentieren ;)

Davon abgesehen denke ich, dass incrementalTimeout und InternalTimer mit 0 delay die Zuverlässigkeit des Moduls auf alle Fälle erhöhen. :)

Und das httpTimeout Attribut kann trotzdem sinnvoll sein. Speziell, wenn man sich zB images übers Internet von einer Weathercam holt.
Somit ist das soweit eine absolute Win/Win Situation :)

Schade bloß, dass wir von den grauen Bildern nix mehr gehört haben  :(

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 16 April 2021, 12:29:44
Hallo!

In diesem Beitrag https://forum.fhem.de/index.php/topic,93480.0.html (https://forum.fhem.de/index.php/topic,93480.0.html) wird beschrieben, dass anstatt eines jpg ein svg File geschrieben wird. Ich kämpf schon länger mit diesem Problem, konnte aber keine Lösung finden. Daher möchte ich hier über meine Erfahrungen berichten und hoffe, dass jemand helfen kann das Problem zu lösen.

An vier verschiedenen Standorten betreibe ich je eine eigenständige FHEM Installation auf RASPI3 mit jeweils 3 bis 5 CAMs (Hikvision und chinesische XMEYE) und je einem NVR (Hikvision und Dahua). IPCAM funktioniert grundsätzlich von allen CAMs und auch über die NVRs (Danke für das Modul!). Nur bei den Hikvision DS-2CD2055FWD-I wird (durch ein notify) grundsätzlich auch ein jpg File angelegt, nur ab und zu (ca. jedes dritte bis fünfte Mal) wird ein svg File geschrieben. Wenn man zum Test im Modul in kurzen Abstand 2x get image drückt, kann man beobachten, dass erst ein svg File und kurz darauf ein jpg File angelegt wird. Ab und zu bleibt es beim svg und es gibt kein neues jpg. Häufiger tritt das Problem in der FHEM Installation auf, wo FHEM die CPU mit 15% bis 20% belastet. Bei 5%-10% CPU Auslastung eher selten. Habe auch 3 verschiedene Hikvision Firmware Versionen getestet. Immer das gleiche Verhalten. Mir scheint, dass es ein Timing Problem bei der Erkennung des Bildformates in Zusammenhang mit einigen CAMs gibt.

Wäre echt schön wenn das gelöst werden könnte.

LG, Michael   

defmod CAM_TERRASSE IPCAM 10.152.52.101
attr CAM_TERRASSE userattr cams cams_map structexclude
attr CAM_TERRASSE basicauth admin:xxx
attr CAM_TERRASSE delay 0
attr CAM_TERRASSE group IPCAM
attr CAM_TERRASSE icon it_camera
attr CAM_TERRASSE model Hikvision
attr CAM_TERRASSE path ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG
attr CAM_TERRASSE snapshots 1
attr CAM_TERRASSE storage /opt/fhem/www/snapshots


2021.04.16 12:04:08 4: IPCAM (CAM_TERRASSE) - set: name:CAM_TERRASSE cmd:? list:cmd pan pos raw tilt
2021.04.16 12:04:08 4: IPCAM (CAM_TERRASSE) - set: name:CAM_TERRASSE cmd:? list:cmd pan pos raw tilt
2021.04.16 12:04:12 5: IPCAM (CAM_TERRASSE) - remove old reading: snapshot1
2021.04.16 12:04:12 3: IPCAM (CAM_TERRASSE) - getSnapshot URI: http://admin:xxx@10.152.52.101/ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG
2021.04.16 12:04:12 3: IPCAM (CAM_TERRASSE) - ExecuteSnapshotRequest camUrl: http://admin:xxx@10.152.52.101/ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG
2021.04.16 12:04:13 3: IPCAM (CAM_TERRASSE) - Snapshot Image Format: JPEG
2021.04.16 12:04:13 4: IPCAM (CAM_TERRASSE) - snapshot /opt/fhem/www/snapshots/CAM_TERRASSE_snapshot.jpg written.
2021.04.16 12:04:13 4: IPCAM (CAM_TERRASSE) - snapshot /opt/fhem/www/snapshots/CAM_TERRASSE_snapshot_1.jpg written.
2021.04.16 12:04:13 4: IPCAM (CAM_TERRASSE) - image: CAM_TERRASSE_snapshot_1.jpg
2021.04.16 12:04:13 4: IPCAM (CAM_TERRASSE) - set: name:CAM_TERRASSE cmd:? list:cmd pan pos raw tilt
2021.04.16 12:04:13 4: IPCAM (CAM_TERRASSE) - set: name:CAM_TERRASSE cmd:? list:cmd pan pos raw tilt
2021.04.16 12:04:14 5: IPCAM (CAM_TERRASSE) - remove old reading: snapshot1
2021.04.16 12:04:14 3: IPCAM (CAM_TERRASSE) - getSnapshot URI: http://admin:xxx@10.152.52.101/ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG
2021.04.16 12:04:14 3: IPCAM (CAM_TERRASSE) - ExecuteSnapshotRequest camUrl: http://admin:xxx@10.152.52.101/ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG
2021.04.16 12:04:15 5: IPCAM (CAM_TERRASSE) - remove old reading: snapshot1
2021.04.16 12:04:15 3: IPCAM (CAM_TERRASSE) - getSnapshot URI: http://admin:xxx@10.152.52.101/ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG
2021.04.16 12:04:15 3: IPCAM (CAM_TERRASSE) - ExecuteSnapshotRequest camUrl: http://admin:xxx@10.152.52.101/ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG
2021.04.16 12:04:15 3: IPCAM (CAM_TERRASSE) - Snapshot Image Format: SVG
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - snapshot /opt/fhem/www/snapshots/CAM_TERRASSE_snapshot.svg written.
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - snapshot /opt/fhem/www/snapshots/CAM_TERRASSE_snapshot_1.svg written.
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - image: CAM_TERRASSE_snapshot_1.svg
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - set: name:CAM_TERRASSE cmd:? list:cmd pan pos raw tilt
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - set: name:CAM_TERRASSE cmd:? list:cmd pan pos raw tilt
2021.04.16 12:04:15 3: IPCAM (CAM_TERRASSE) - Snapshot Image Format: JPEG
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - snapshot /opt/fhem/www/snapshots/CAM_TERRASSE_snapshot.jpg written.
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - snapshot /opt/fhem/www/snapshots/CAM_TERRASSE_snapshot_1.jpg written.
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - image: CAM_TERRASSE_snapshot_1.jpg
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - set: name:CAM_TERRASSE cmd:? list:cmd pan pos raw tilt
2021.04.16 12:04:15 4: IPCAM (CAM_TERRASSE) - set: name:CAM_TERRASSE cmd:? list:cmd pan pos raw tilt
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 16 April 2021, 12:46:28
Hallo Michael,

die Formaterkennung basiert auf der Analyse der ersten 64 bytes (oder so) des empfangenen Files.

Hier die Reihenfolge:

  return "JPEG" if /^\xFF\xD8/;
  return "PNG"  if /^\x89PNG\x0d\x0a\x1a\x0a/;
  return "GIF"  if /^GIF8[79]a/;
  return "TIFF" if /^MM\x00\x2a/;
  return "TIFF" if /^II\x2a\x00/;
  return "BMP"  if /^BM/;
  return "ICO"  if /^\000\000\001\000/;
  return "PPM"  if /^P[1-6]/;
  return "XPM"  if /(^\/\* XPM \*\/)|(static\s+char\s+\*\w+\[\]\s*=\s*{\s*"\d+)/;
  return "XBM"  if /^(?:\/\*.*\*\/\n)?#define\s/;
  return "SVG"  if /^(<\?xml|[\012\015\t ]*<svg\b)/;
  return "unknown";


Du siehst also, als erstes wird durchaus nach JPG und PNG gecheckt, SVG is wirklich das letzte, auf das geprüft wird.
Und: es ist nur dann SVG, wenn das File mit etwas XML-artigem beginnt. Ansonsten würde "unknown" geliefert werden.

Hast du in das SVG schon mal mit einem Editor reingeschaut?
Kanns sein, dass das eben kein Bild ist, das geliefert wird, sondern eine Fehlermeldung, in Form eines SVG? (vielleicht wegen zu hoher Last auf Seiten der Kamera?)

Wie auch immer: wenn das Modul das Problem ist, dann löse ich das natürlich gern.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 16 April 2021, 12:58:23
Hallo Martin,

danke das war ein guter Tip. Das steht im File:

<?xml version="1.0" encoding="UTF-8"?>
<ResponseStatus version="1.0" xmlns="http://www.hikvision.com/ver10/XMLSchema">
<requestURL>/Streaming/channels/1/picture</requestURL>
<statusCode>2</statusCode>
<statusString>Device Busy</statusString>
</ResponseStatus>


Cam gibt in dem Moment wohl kein Bild her weil "Device Busy" 

Habe zwar auch schon auf der CAM Seite versucht mit verschiedenen Einstellungen H264, H265, Bildgröße und Qualität, hat aber nix gebracht. Könnte IPCAM vielleicht kurz warten bis ein jpg kommt? Oder noch einen Request senden?

LG, Michael
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 16 April 2021, 13:18:46
Danke für das File.
Tatsächlich ist das nur ein XML, garkein SVG.
Hier wird im Modul einfach angenommen, dass XML Files automatisch SVG Files sein müssen.
Edit: das kommt (nach etwas recherche) daher, dass es auch SVG Dokumente gibt, worin mehrere svg-Tags vorkommen können. Und diese Dokumente sind dann als XML deklariert.

Fraglich bleibt aber, wie oft denn eine Kamera ein XML oder ein SVG schicken würde, welches relevanten Inhalt hat.
Ob's nicht einfach besser wäre, XML und SVG als "unknown" zu bezeichnen?

Warten bis ein JPG kommt, kann ich nicht.
Weil das Bild immer als Antwort auf einen get image Request kommt.
Wenn die Kamera sagt, die Antwort ist abgeschlossen, dann kommt auch nix mehr, auf das man noch warten könnte.

Noch einen Request senden könnte man schon, vielleicht gibts aber auch noch einen anderen Weg.

Auf welcher Basis werden denn die Bilder aufgenommen?
Zeitlich gesteuert, oder durch einen auslösendes Ereignis? (du hast ein notify erwähnt)

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 16 April 2021, 14:57:17
Martin, danke für die prompte Antwort.

Was ich beobachtet habe geht es rund 5-10x gut, dann kommt einmal ein svg (busy) File. Bei einem "Doppelklick" kommt immer erst ein svg File und meistens danach das Bild.

Sonst mach ich das so, wie es wahrscheinlich häufig gebraucht wird. Klingeltaster macht über ein notify ein Bild welches dann per E-Mail verschickt wird. Zusätzlich gibt es ein Popup im FTUI. Ähnlich mache ich das bei einem Alarm. Wenn nun gar kein neues Bild gespeichert wird sondern nur ein svg bzw xml File, wird das vorhandene (alte) Bild verschickt. Das irritiert natürlich.

In diesem Fall wäre es elegant, wenn das Modul erkennt das die CAM "busy" war (eventuell xml lesen und dann löschen) und etwas später noch einen Request sendet bis ein neues Bild da ist. Es ist mir schon klar, dass man aufpassen muss dass keine endlos Schleife entsteht. Offensichtlich gibt es mehrere CAMs die sich so verhalten wie die Hikvision, vielleicht sind es auch deren OEM Produkte. Bekomme die nächsten Tage noch eine Dahua Cam, werde testen wie sich die verhält. Beim Dahua NVR ist es so, dass manchmal gar kein Bild kommt und sonst auch nix, da ist dann ein xml File mit Info noch hilfreicher....

Auf der CAM Seite habe ich nichts gefunden was sie "responsiver" macht. Würde sonst halt die Hardware tauschen, ist aber auch nicht optimal da die CAMs ja eigentlich sehr gut sind. Und für andere User wäre das Problem damit nicht gelöst ist. Vielleicht fällt dir noch was dazu ein?

Jedenfalls danke für deine Arbeit!

LG, Michael

PS: Hier habe ich eine Doku gefunden welche die xml Ausgabe beschreibt u.A. auch die ResponseStatus Page
https://ipvm-uploads.s3.amazonaws.com/uploads/5f72/4020/324284210-HIKCGI-Integration-Guide.pdf (https://ipvm-uploads.s3.amazonaws.com/uploads/5f72/4020/324284210-HIKCGI-Integration-Guide.pdf)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 16 April 2021, 21:35:20
Danke für die Erläuterungen.

Mein Vorschlag: ich gebe zwei Attribute dazu.

1. retryOnUnknownFormatAfter Wenn das Datei Format unknown ist, wird nach den hier angegebenen Sekunden ein re-try gemacht.
2. handleXmlSvgAsUnknown Wenn als Format SVG oder XML identifiziert wird (was mMn nach keine gültigen Images einer Webcam sind), werden diese nicht als SVG, sondern als 'unknown' gemeldet. Was dann in deinem Fall den Mechanismus aus (1) aktivieren würde.

Deal?

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 17 April 2021, 11:58:51
Klingt sehr gut! Vielleicht sollte man zur Sicherheit noch die Anzahl der retrys begrenzen (Attribut?), denn es könnte im ungünstigsten Fall die CAM auch nach einem retry wieder ein "unknown" liefern. Dann hätten wir eine Schleife...

LG, Michael
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 18 April 2021, 15:10:49
Zitat von: tremichl am 17 April 2021, 11:58:51
Klingt sehr gut! Vielleicht sollte man zur Sicherheit noch die Anzahl der retrys begrenzen (Attribut?), denn es könnte im ungünstigsten Fall die CAM auch nach einem retry wieder ein "unknown" liefern. Dann hätten wir eine Schleife...

LG, Michael
Also ich hätte generell nur einen retry gemacht.
Denkst du, es macht Sinn, eine freie Anzahl zu definieren?

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 18 April 2021, 16:10:02
Es ist ja leider nicht vorhersehbar wann die CAM "busy" ist. Außer bei 2 Requests in kurzer Zeit natürlich. Ich schätze daher, dass EIN retry die Chance verdoppelt um ein Bild zu erhalten. Wir können es gerne so versuchen. Die sichere Methode wäre meiner Meinung nach, solange retries zu schicken bis ein Bild da ist. Wirklich elegant ist das nicht, aber in dieser Konstellation fällt mir nichts bessere ein....

Was denkst du?

LG, Michael
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 18 April 2021, 16:16:54
Zitat von: tremichl am 18 April 2021, 16:10:02
Es ist ja leider nicht vorhersehbar wann die CAM "busy" ist. Außer bei 2 Requests in kurzer Zeit natürlich. Ich schätze daher, dass EIN retry die Chance verdoppelt um ein Bild zu erhalten. Wir können es gerne so versuchen. Die sichere Methode wäre meiner Meinung nach, solange retries zu schicken bis ein Bild da ist. Wirklich elegant ist das nicht, aber in dieser Konstellation fällt mir nichts bessere ein....

Was denkst du?

LG, Michael
Solang requests zu schicken, bis ein Bild da ist, kann man natürlich machen.
Ob nach 17 requests mit 2 sekunden Intervall (konstruiertes Beispiel) die Person immer noch an der Tür steht, ist allerdings fraglich.

Versuchen wir's mal mit einem einzigen Request.
Wenn du feststellst, dass das immer noch nicht zufriedenstellend läuft, geb ich die Anzahl von Wiederholungen noch als Attribut mit rein.
Mit mehreren Wiederholungen muss ich nämlich einen Counter mitlaufen lassen, was ich mir so erspare.

schöne Grüße
Martin


Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 18 April 2021, 16:41:45
Da hast du natürlich recht, schauen wir einmal ob ein retry das Problem löst bzw. wesentlich verbessert.

Danke!

LG, Michael

PS: Habe gerade von deinem "Door-Man" gelesen. Kann man ja jetzt alles schon mit IPCAM und einigen notify bzw. doif realisieren. Aber alles in einem Modul zu haben wäre natürlich sehr elegant, zumal ein Bild vom "Türklingler/in" mittlerweile ja zu einer Standard-Anforderung wird
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 18 April 2021, 18:13:36
Update ist drin. Doku direkt im Modul.

den retryCount gibts jetzt trotzdem, weil den Counter brauchte ich sowieso, sonst wär endlos oft wiederholt worden. Nun gibts das also gleich als Attribut.

Die beiden ersten Attribute sind wohl selbstredend.

Das dritte (handleAnyXmlAsSvg) basiert auf folgender Erkenntnis:
die bisherige Regex zum Check von SVG war nicht ganz richtig, weil jedes XML-Dokument als SVG identifiziert wurde.
Ich habe sie nun so abgewandelt, dass entweder SVG-Files, oder SVG-Dokumente (welche trotzdem einen XML header haben) als SVG erkannt werden.
Ein XML-Header alleine, ohne SVG-Tag hinten dran, wird nun nicht mehr als SVG identifiziert (was vorher der Fall war).

Bei mir, Michael, sollte nun also die Response deiner Kamera immer unknown Format liefern, wenn das XML kommt (weils bei dir ja tatsächlich kein SVG ist). Und dann greift retryCount und retryDelay.
Lass uns hier bitte wissen, bei wievielen Retries du dich dann eingependelt hast.

Für alle, die das vorherige XML-Verhalten trotzdem benötigen (wofür auch immer), gibt es nun eben das Attribut handleAnyXmlAsSvg, welches bei jedem XML den Dateityp SVG liefert (wie bisher also. Es wird wirklich die alte Regex verwendet).


Und danke noch zum Feedback für Doorman. Das motiviert auf jeden Fall schon mal zum Weitermachen.
Genau, grundsätzlich kann man das auch mit Notify, etc lösen. Aber die Aufgeräumtheit war auch für mich ein Argument.
Und ich plane ja auch noch ein Widget fürs Tablet-UI, und dafür benötigt man dann ein konkretes Device, woher soll man sonst eine Liste von Ereignissen etc herkriegen.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 18 April 2021, 19:19:54
Super, danke!

Nach einem FHEM-Update ist noch das File vom 12.04.2021 drin....muss ich sonst noch was machen?

LG, Michael
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 18 April 2021, 20:27:53
Im Update kommt das File erst ab morgen ca 8 Uhr früh mit.

Im Wiki wäre aber hier https://wiki.fhem.de/wiki/Update ganz unten beschrieben, wie du dir einzelne Dateien direkt sofort holen kannst.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 18 April 2021, 23:16:45
Vielen Dank für die Nachhilfe!
Kurzer Test, sieht sehr gut aus.
retrycount 3
retrydelay 1

Werde noch ausführlicher testen und berichten.

Nochmals danke für die Arbeit!

LG, Michael
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 19 April 2021, 16:55:41
Hallo Martin,

die Erweiterung funktioniert wie erwartet und ist sehr hilfreich. Habe unterschiedliche Parameter versucht. Delay von 0.1 bis 10 Sekunden, Retry von 1 bis 20. Mit Delay 1 und 10 Retries kommt man öfter zum Erfolg als ohne Retries. Leider ist es so, dass auch in diesem Fall (10 Sekunden lang Retries) noch immer Bilder "verloren" gehen. Im log kann man schön sehen, dass das Format immer "unknown" ist, bis eben die Zeit abgelaufen ist. Das heißt, dass sie CAM gelegentlich Sekunden lang (teilweise bis zu 20 Sekunden) keine Snapshots liefert. Dank deiner Hilfe habe ich das Problem eingrenzen können. Offensichtlich haben andere User auch schon ähnliche Erfahrungen gemacht und keine Lösung gefunden:
https://github.com/home-assistant/core/issues/45259 (https://github.com/home-assistant/core/issues/45259)
https://www.reddit.com/r/homesecurity/comments/iitbc0/hikvision_camera_returns_device_busy_most_of_the/ (https://www.reddit.com/r/homesecurity/comments/iitbc0/hikvision_camera_returns_device_busy_most_of_the/)

Fazit: Die neuen Attribute bringen eine signifikante Verbesserung, können aber die von der Hikvision-CAM versachten Probleme nicht endgültig lösen. Für mich ist die Lösung Hikvision-Cams nicht als Doorcam einzusetzen.

Nochmals vielen Dank!

Liebe Grüße, Michael

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 19 April 2021, 17:06:20
Zitat von: tremichl am 19 April 2021, 16:55:41
Fazit: Die neuen Attribute bringen eine signifikante Verbesserung, können aber die von der Hikvision-CAM versachten Probleme nicht endgültig lösen. Für mich ist die Lösung Hikvision-Cams nicht als Doorcam einzusetzen.

Danke für die Erkenntnisse und die Links an dieser Stelle.

Wärs eine Möglichkeit, einen permanenten Videostream zu haben und von diesem einen Snapshot abzugreifen?
Das würde dann eigentlich außerhalb der Kamera passieren.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: tremichl am 19 April 2021, 18:53:42
Videostreams liefert die CAM natürlich. Weiß aber nicht ob das gut ist, wenn man RASPI mit FHEM drauf zusätzlich mit einem permanenten Video-stream beschäftigt. Als Workaround nutze ich jetzt NVRs für die Snapshots. Das klappt sowohl mit Dahua als auch Hikvision.

Was natürlich schön wäre, wenn man nach Bedarf (z.B. nach Türklingel 30 Sekunden lang) in FTUI einen Videostream zeigen könnte. Aber da denkst du ja scheinbar schon in deinem Doorman Projekt darüber nach.

LG, Michael

   
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 20 April 2021, 08:12:43
Zitat von: tremichl am 19 April 2021, 18:53:42
Videostreams liefert die CAM natürlich. Weiß aber nicht ob das gut ist, wenn man RASPI mit FHEM drauf zusätzlich mit einem permanenten Video-stream beschäftigt.
Als Workaround nutze ich jetzt NVRs für die Snapshots. Das klappt sowohl mit Dahua als auch Hikvision.
Der NVR öffnet wohl ebenfalls einen permanenten Stream, von wo dann die Snapshots abgegriffen werden. Deshalb funktionierts dort auch.

Ob das gut wäre, hängt wohl vom Raspi ab. Bei mir macht ein RPi4 einen permanenten Stream mit 1280x720. Dabei benötigt einer der CPU-Cores ca 60 %.
Bei einem 3B wären das wahrscheinlich gegen 100%, ist aber trotzdem nur einer der Cores (gibt ja 4 davon)

Ich hab dazu die folgende Lösung im Einsatz. Allerdings ohne Docker, hab mir nur aus dem Dockerfile eine Anleitung für FFmpeg und ffserver rausgezogen.
https://github.com/eroji/rtsp2mjpg

Alternativ geht natürlich auch sowas wie ZoneMinder.
Meine Reolink mag aber nicht so mit der aktuellsten ZoneMinder Version (lange Geschichte, wird wohl bald ein Wiki-Eintrag draus werden), deshalb verwende ich das gerade nicht.

Zitat von: tremichl am 19 April 2021, 18:53:42
Was natürlich schön wäre, wenn man nach Bedarf (z.B. nach Türklingel 30 Sekunden lang) in FTUI einen Videostream zeigen könnte.
Aber da denkst du ja scheinbar schon in deinem Doorman Projekt darüber nach.
Das mit dem Timer geht sogar schon.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 13 Mai 2021, 08:56:02
HI!

ich habe meine Cams eingebinden und lass immer einen screenshot machen bei gewissen Situationen mit eine DOIF.

Ist es irgendwie möglich es fest zu legen das NUR 1 Bild geschossen wird?
Bei mir werden immer 2 Bilder gemacht : CAMEingang_snapshot.jpg und CAMEingang_snapshot_1.jpg siehe Bild.
Das kostet rechenpower und schreibkraft auf der SD karte... diese beiden Dateien werden immer zur glichen Zeit geschrieben. die _1 Datei benötige ich allerdings nicht mehr... kann man das irgendwie deaktivieren das diese nicht geschrieben wird? Es sind nämlich exat die gleichen Bilder...

Vielen Dank!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 13 Mai 2021, 10:00:06
Wie wär's mit einem list des IPCam-Devices?
(statt einen Screenshot vom Dateisystem ;) )

Im Log steht (evtl. verbose erhöhen) drin was an die Kamera geschickt wird.
Werden da 2 Bilder "abgerufen"?

Wie wird das DOIF getriggert?
Evtl. auch list davon.

Durch was wird das DOIF getriggert?
Evtl. auch list davon.


EDIT: ok, selber bei mir noch mal geschaut. Vermutlich ist das, wenn man eine Serie macht (machen lässt). So kann man sich die Serie ansehen (Bilder mit Nummern) aber auch einfach nur das letzte Bild (der Serie). Bei "Serie = 1" sieht es verm. so aus. Allerdings: ich denke nicht, dass dadurch (alleine bzw. besonders) die SD Karte leidet. Wie oft nimmst du denn Bilder auf? Und wie oft wird (im Vergleich dazu) in die Logs geschrieben etc. UND: ich würde einen wichtigen Raspberry PI (wenn schon) dann mit SSD nutzen... "Spielsysteme" kann man ja gerne mit SD betreiben... Nur meine Meinung.

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 13 Mai 2021, 10:42:16
Stimmt, da werden immer zwei Bilder gemacht.
Ich hab das noch nie als Problem gesehen (auch aus den Gründen die Joachim genannt hat)

Aber ich verstehe den Einwand schon auch.
Wenn ich wieder mal mit der Bürste über den Code gehe, werd ich das verbessern.
Wahrscheinlich wird man das Attribut snapshots dann auf 0 setzen können, und dann wird das _1 Bild nicht geschrieben.

Danke für euren Input

Schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 13 Mai 2021, 11:27:07
Zitat von: delMar am 13 Mai 2021, 10:42:16
Wenn ich wieder mal mit der Bürste über den Code gehe, werd ich das verbessern.

Hallo Martin,

wenn du mal drüber schrubst, vielleicht packst du auch die Bürste aus:

Zitat von: https://forum.fhem.de/index.php/topic,10772.msg1147375.html#msg1147375
Es stehen user/pw sowohl im pan/tilt Kommando als auch in pathPanTilt.
Daher wird nun user/pw doppelt im Befehl mitgegeben.
Kein Problem es tut aber schön ist es nicht.

Wenn ich user/pw bei den pan/tilt Kommandos lösche (siehe auch list meines aktuellen, schon etwas "geschraubten" Devices), dann wird es nur einmal gesendet und die pan/tilt Kommandos sind auch "übersichtlicher" :)

Nun dachte ich, dass ich das doch auch bei pathCmd user/pw angeben kann und damit dann auch nur "einfache Kommandos" bei cmd1, cmd2, usw. eingeben brauche.
Das geht leider nicht, weil dann zweimal das "Fragezeichen" kommt, statt dem "Und" für weitere Parameter.

Hier mal was ich meine:

Mein cmd1 meiner "gebastelten" Kamera (2tes list):
Zitat

    http://192.168.10.184:88/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123?cmd=ptzStopRun


Hier ein pan/tilt Kommando:
Zitat

    http://192.168.10.184:88/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123&cmd=ptzMoveRight


Wäre schön, wenn hier das Verhalten gleich wäre, dann könnte man alle Kommandos "einfach" gestalten...

Oder hast du da schon was gemacht und ich hab's überlesen?
(oder du einfach gemacht und nichts dazu geschrieben)

Wenn du was hast, dann packe ich wieder aus und teste mal wieder :)

Aber die Kamera hat (immer noch) geringe Prio...
...ist ja mehr "Spielerei"... ;)

DANKE, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 15 Mai 2021, 12:28:21
Hallo

Zitat von: misux am 13 Mai 2021, 08:56:02
die _1 Datei benötige ich allerdings nicht mehr... kann man das irgendwie deaktivieren das diese nicht geschrieben wird?

mit dem morgigen Update kann man das Attribut snapshots auf 0 setzen.
Dann wird das Bild nur noch einmal geschrieben. Auch zB das Reading snapshot1 wird dann natürlich nicht mehr gesetzt werden.

Ist das Attribut snapshots nicht gesetzt, wird aus Rücksicht auf das bisherige Verhalten der Wert 1 angenommen, was weiterhin dazu führt, dass per Default das Bild zweimal geschrieben wird. Einmal mit dem Namen der im Reading last definiert ist, und einmal mit dem Namen aus snapshots1.

Bitte bei Problemen hier Bescheid geben. Ich hab zwar alle mir bekannten Anwendungsfälle durchgetestet, trotzdem kann mal was übersehen werden.


Das Thema mit user/pwd optimieren hab ich noch nicht begonnen, steht aber auch auf meiner Liste.
Könnte aber noch etwas dauern, da ich hier gewisste Code-Konstrukte neu durchdenken muss, inklusive der Möglichkeit, das bisherige Verhalten ohne Konfigurtionsänderung weiter zu erlauben.
Je nach Wetter könnte mich die Motivation aber auch früher packen - wie ich schon öfter feststellen durfte ;)


schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 15 Mai 2021, 12:47:10
Zitat von: delMar am 15 Mai 2021, 12:28:21
Das Thema mit user/pwd optimieren hab ich noch nicht begonnen, steht aber auch auf meiner Liste.
Könnte aber noch etwas dauern, da ich hier gewisste Code-Konstrukte neu durchdenken muss, inklusive der Möglichkeit, das bisherige Verhalten ohne Konfigurtionsänderung weiter zu erlauben.
Je nach Wetter könnte mich die Motivation aber auch früher packen - wie ich schon öfter feststellen durfte ;)

Hallo Martin,

fühle mich ja irgendwie "angesprochen" ;)

Daher, wie bereits geschrieben: keine Eile.

Wollte nur "sagen", dass ich halt (erst wieder auspacke und) teste, wenn es was gibt...

Einfach melden, ich packe dann mal wieder aus und teste... :)

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 19 Mai 2021, 17:58:08
Zitat von: delMar am 15 Mai 2021, 12:28:21
Hallo

mit dem morgigen Update kann man das Attribut snapshots auf 0 setzen.
Dann wird das Bild nur noch einmal geschrieben. Auch zB das Reading snapshot1 wird dann natürlich nicht mehr gesetzt werden.

Ist das Attribut snapshots nicht gesetzt, wird aus Rücksicht auf das bisherige Verhalten der Wert 1 angenommen, was weiterhin dazu führt, dass per Default das Bild zweimal geschrieben wird. Einmal mit dem Namen der im Reading last definiert ist, und einmal mit dem Namen aus snapshots1.

Bitte bei Problemen hier Bescheid geben. Ich hab zwar alle mir bekannten Anwendungsfälle durchgetestet, trotzdem kann mal was übersehen werden.


schöne Grüße
Martin

Hervorragend! Funktioniert supi! Vielen Dank!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 28 Mai 2021, 07:51:23
Hallo nochmal..

Eine Frage weil mir das so nie aufgefallen ist...

Wo ist der Unterschied zwischen get und execute? Müssen beide passieren?


2021.05.27 13:12:15 3: IPCAM (CAMEingang) - getSnapshot URI: http://pi:Uxxxxxxx@192.168.2.102/cgi-bin/snapshot.cgi?chn=[1]
2021.05.27 13:12:15 3: IPCAM (CAMEingang) - ExecuteSnapshotRequest camUrl: http://pi:xxxxxxx@192.168.2.102/cgi-bin/snapshot.cgi?chn=[1]
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 28 Mai 2021, 08:05:45
Zitat von: misux am 28 Mai 2021, 07:51:23
Wo ist der Unterschied zwischen get und execute? Müssen beide passieren?


2021.05.27 13:12:15 3: IPCAM (CAMEingang) - getSnapshot URI: http://pi:Uxxxxxxx@192.168.2.102/cgi-bin/snapshot.cgi?chn=[1]
2021.05.27 13:12:15 3: IPCAM (CAMEingang) - ExecuteSnapshotRequest camUrl: http://pi:xxxxxxx@192.168.2.102/cgi-bin/snapshot.cgi?chn=[1]


hier wird eigentlich nur an zwei verschiedenen Stellen die URL gelogged.
der erste Log-Eintrag direkt beim Erstellen der URI (wo zb einfügen von user/pwd gemacht wird und über dieses statement verifiziert werden kann)
der zweite Eintrag beim Absenden des Requests.
also ja: eigentlich müssen beide passieren.

Für den alltäglichen Betrieb benötigt man eigentlich keines der beiden. In dem Fall würde ich empfehlen, verbose auf 0 zu stellen. Fehlermeldungen und Probleme werden nämlich auch da ausgegeben.

Ich hoffe, das beantwortet deine Frage

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 29 Mai 2021, 07:42:01
Alles klar! Vielen Dank! 8)
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Dreggwatz am 01 Juni 2021, 22:19:11
Erstmal vielen dank für das Modul, lief bislang einwandfrei bei mir. Irgendwie hab ich unbewusst etwas zerschossen und finde den Fehler nicht.
Der Befehl get image funktioniert nicht mehr und im Log kommt diese Fehlermeldung (auth und IP unkenntlich, passt aber).
Wenn ich den Pfad im Browser eingebe bekomme ich das Kamerabild. Kann mir jemand sagen was ich in Fhem zerbröselt habe? Kameras sind Hikvision, wie gesagt lief bislang seit gut 1,5 Jahren onewallfree  ;)
Danke

IPCAM (Cam.Treppe) - getSnapshot URI: http://xxx:xxx@IP:80/Streaming/channels/1/picture?snapShotImageType=JPEG
2021.06.01 22:11:33.471 1: ERROR: Another HttpUtils_NonblockingGet with the same hash is in progress
2021.06.01 22:11:33.471 1: stacktrace:
2021.06.01 22:11:33.471 1:     main::HttpUtils_NonblockingGet      called by FHEM/HttpUtils.pm (865)
2021.06.01 22:11:33.471 1:     main::HttpUtils_ParseAnswer         called by FHEM/HttpUtils.pm (642)
2021.06.01 22:11:33.472 1:     main::__ANON__                      called by fhem.pl (770)
2021.06.01 22:11:33.472 0: IPCAM (Cam.Treppe) - error while getting snapshot http://xxx:xxx@IP:80/Streaming/channels/1/picture?snapShotImageType=JPEG - Another HttpUtils_NonblockingGet with the same hash is in progress
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 01 Juni 2021, 22:29:45
Schon mal mit dem Fehler im Forum gesucht? ;)

https://forum.fhem.de/index.php/topic,120244.msg1147323.html#msg1147323

Ob es da eine Lösung gibt habe ich jetzt nicht (zu Ende) verfolgt...
...aber zumindest klingt es nach demselben Problem...

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Dreggwatz am 02 Juni 2021, 19:34:20
Hi Joachim,
danke für den Hinweis, scheinbar kommt die Fehlermeldung bei einigen Modulen. Weiss auch nicht ob dies mit dem nicht anlegen des Image überhaupt etwas zu tun hat. Bin halt in der Log drüber gestolpert...
Muss ich mal weiter so stöbern, denn löschen und neu Anlegen der IPCAM Devs hat auch nicht zum Erfolg geführt.

Edit: geht wieder, Fehler auch weg - keine Ahnung was da los war...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 04 Juni 2021, 09:34:54
Danke, Dreggwatz, dass du das Problem hier dokumentiert hast.
Ein weiterer Punkt, das vorherige, blocking Verhalten per Attribut weiter zu erlauben.

Ich werd mir das auf die Todo-Liste schreiben.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 29 August 2021, 20:35:21
HI!

Ist es irgendwie möglich es so einzustellen sodass das gemachte snapshot eine kleinere auflösung hat als das von der Camera?
Mein und von meinem Kumpel das Problem ist das die original snapshots ca 500-700Kb groß sind. wir lassen uns oft die bilder per Telegram senden direkt nach dem schnappschuss und das klappt irgendwie nicht immer weil vermutlich der schreibvorgang zu lange dauert oder keine Ahnung... Dann bekommen wir immer ein altes Bild wenn an der Tür klingelt...

Wenn die Datei kleineer wäre, so um die 50-100Kb oder eine Auflösung von 1024x768 wäre das vielleicht etwas problemloser...

einen Logeintrag kann ich jedenfalls sehen wenn das Bild nicht geschrieben werden kann...
2021.08.29 19:54:15 0: IPCAM (CAMHof) - error while getting snapshot http://pi:InsAHhnsu@192.168.1.201/cgi-bin/snapshot.cgi? - read from http://192.168.1.201:80 timed out
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 29 August 2021, 21:41:51
Hi misux,

erste Frage: mit welchem Befehl sendet ihr denn die Bilder?
Mit get imageWithCallback sollte eigentlich sichergestellt sein, dass keine alten Bilder verschickt werden.

Außer natürlich, die Kamera liefert ein Timeout.
Wenn das allerdings der Fall ist, dann wird das nachträgliche verkleinern des Bildes auch keinen Unterschied machen (weil ja von der Kamera garkeins gekommen ist).

Ich bin nicht sicher, ob hier nicht zwei unterschiedliche Probleme angesprochen werden.

Kamera-Timeouts wurden jedenfalls früher schon mal besprochen:
https://forum.fhem.de/index.php/topic,10772.msg1149708.html#msg1149708
aber keine wirkliche Lösung gefunden.

zweite Frage: welche Kamera hast du denn?


schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: rob am 30 August 2021, 07:43:13
Zitat von: misux am 29 August 2021, 20:35:21
... Dann bekommen wir immer ein altes Bild wenn an der Tür klingelt...
Hallo.

Das Problem hatte ich anfangs auch so ähnlich: es kam immer ein altes Bild, weil Cam+Modul schneller liefern konnten, als vom System weggeschrieben wurde. Bei mir hatte es genügt, das Delay im CAM-Device zu setzen:
attr MyCAM delay 2
Vielleicht einen Versuch wert damit zu experimentieren :)
Sollte z.B. ein recht langes Delay keinen Erfolg bringen, müsste das Problem imho woanders zu suchen sein, als in der Schreibgeschwindigkeit.

Viele Grüße
rob
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 31 August 2021, 20:49:27
Hmm... Interessant!

Also mein Kumpel und ich wir nutzen seit anfang an mehrere Dahua Cams. Die liefen anfangs wirklich problemlos über ca 2 Jahre und dann fing es langsam an diese Timeouts zu produzieren was jetzt sehr oft vor kommt. Und es kommen immer die alten bilder wenn ein Timeout im Log war...

Es sind die Dahua IPC-HDBW4631R-S 6MP IP Camera und 4431CA. Aber wie gesagt am anfang lief es problemlos...

Ich teste noch das mit dem delay an den Cams, vielleicht hilft es... dann bin ich am ende meines Chinesisch...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: eldrik am 02 September 2021, 09:53:57
Zitat von: misux am 31 August 2021, 20:49:27
Hmm... Interessant!

Also mein Kumpel und ich wir nutzen seit anfang an mehrere Dahua Cams. Die liefen anfangs wirklich problemlos über ca 2 Jahre und dann fing es langsam an diese Timeouts zu produzieren was jetzt sehr oft vor kommt. Und es kommen immer die alten bilder wenn ein Timeout im Log war...

Es sind die Dahua IPC-HDBW4631R-S 6MP IP Camera und 4431CA. Aber wie gesagt am anfang lief es problemlos...

Ich teste noch das mit dem delay an den Cams, vielleicht hilft es... dann bin ich am ende meines Chinesisch...
Ein ähnliches Verhalten habe ich mit meinen IP Kameras auch gehabt, teilweise wurden keine Bilder geschrieben und in den Telegram oder Email Benachrichtigungen dann alte Bilder verwendet.

Ich bin dann auf die IPCAM Version vor 07.03.2021 21:57:20 zurückgegangen die noch keine unblocking beinhaltete.

Greetz
Eldrik   
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 02 September 2021, 10:51:33
Ich werd das blocking Verhalten wieder reingeben, sobald ich die Zeit finde.
Hoffentlich schon dieses Wochenende.

Sorry für die Umstände

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 03 September 2021, 22:29:00
Cool! Das klingt sehr gut!
Wenn das dann wieder wie früher funktionietrt, gibt es dennoch irgendwie die Möglichkeit die Bilder kleiner zu bekommen mit dem "get image"?
Für eine Telegrambenachrichtigung reicht eine Auflösung z.b. 1024x768 völlig aus...
Wäre sowas irgendwie möglich?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 06 September 2021, 10:58:49
Hallo,
ich hab soeben ein Update ins SVN gegeben, wird ab morgen früh im Update verfügbar sein.

Es gibt nun ein neues Attribut mit Namen blocking.
Wenn das auf 1 gesetzt ist, wird der Snapshot wieder wie früher per GetFileFromURLQuiet ausgeführt, nicht per HttpUtils_NonblockingGet.
Das Default-Verhalten bleibt non-blocking, da ich davon ausgehe, dass das für den Großteil der Kameras kein Problem darstellt.

Bitte um Feedback, ob das die Timeout-Problematik beseitigt.

Zitat von: misux am 03 September 2021, 22:29:00
Wenn das dann wieder wie früher funktionietrt, gibt es dennoch irgendwie die Möglichkeit die Bilder kleiner zu bekommen mit dem "get image"?
Für eine Telegrambenachrichtigung reicht eine Auflösung z.b. 1024x768 völlig aus...
Wäre sowas irgendwie möglich?
Das Bild wird 1:1 so verwendet wie es von der Kamera kommt.
Dh du müsstest in der snapshot-url der Kamera definieren, dass du eine geringere Auflösung willst.

An einen post-processing Schritt direkt im Modul hab ich schon mal nachgedacht:
neben Verringern der Bildgröße wäre zB auch ein Beschneiden des Bildes eine Option (Kamera macht 4K Bild, gespeichert und versendet wird aber nur ein kleiner Ausschnit daraus - würde sozusagen digitalem Zoom entsprechen)

Mir fehlt aber derzeit die Zeit dazu; erfahrungsgemäß wird das dann besser, wenn die Abende wieder länger werden ;-)

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 06 September 2021, 23:34:16
 ;D
Klasse! Vielen Dank! Bin gespannt, werde es morgen updaten und anpassen und dann ein paar Tage beobachten und mich wieder melden.

Ja, das Bild in der Cam verkleinern wäre schon viel besser, geht aber leider nicht bei meinen Dahua Cams.

Drücke die Daumen das die längeren Abende stressfreier werden und vielleicht im IPCAM Modul früchte tragen  ;D 8)

Bis dahin, Vielen Dank und klasse Arbeit!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 08 September 2021, 13:03:35
Puh..
Nachdem ich das blocking auf 1 gesezt habe konnte ich an 2 Cams gar keine screenshots mehr machen... Weder manuell noch per doif.
nach langem hin und her probieren habe ich festgestellt das ich den screenshot nichtmal über den http abruf im Browser einsehen konnte... Heißt: die Cam hat sich was den screenshot irgendwie aufgehängt... Jedenfalls 2 cams von 5 mit komplett gleicher Cam/Firmware und einstellungen.

Hmm.. nach einem Neustart der Cams ging der screenshot wieder. Nun weiß ich nicht woran es liegt... Was dafür sorgt das die cams den screenshot manchmal komplett blockieren....

Bin noch dran, aber irgendwas sagt mir das es nicht unbedingt am FHEM liegt... vielleicht aber an der Kombination WIE FHEM/IPVAM den Screenshot abholt... vielleicht kommt die Cam damit irgendwie nicht klar...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Maista am 08 September 2021, 13:15:50
@misux
Kann zwar nichts zu deinem Problem direkt beitragen, aber ich habe mir neulich eine TP-LINK Webcam gekauft um zu sehen welche Katze ihr Unwesen im Keller treibt.
Bei der TP-LINK App gibt es eine Punkt der das zeitgesteuerte reseten der Kamera ermöglicht!
Auch die Survillance Software der Synology NAS bietet diesen Punkt.
Hatte mich schon gefragt warum es dies gibt.
Sehe nun aber das es durchaus Sinn machen kann   ;D
Vielleicht bietet deine Cam ja ebenfalls diese Funktion.

Gruß Gerd
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 08 September 2021, 13:44:57
Danke für euren Input.

Zitat von: misux am 08 September 2021, 13:03:35
Bin noch dran, aber irgendwas sagt mir das es nicht unbedingt am FHEM liegt... vielleicht aber an der Kombination WIE FHEM/IPVAM den Screenshot abholt... vielleicht kommt die Cam damit irgendwie nicht klar...

Also das IPCAM Modul nutzt nur die gegebenen Funktionen von HttpUtils.
Ich wüsste im generellen aber nicht, wie man einen Request so vermurksen kann, dass die Gegenseite abstürzt (falls nicht die Gegenseite auf irgendwelche Werte allergisch reagiert).

Cam-Neustart macht bestimmt Sinn, ich starte meine Kameras 1x die Woche neu.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 08 September 2021, 14:58:23
Jap, diese Funktion nutze ich JEDEN Tag um 03 Uhr morgens... ist schon komisch das die Cam inzwischen solche Probleme damit hat... der Stream den die Synology abgreift und aufnimmt geht problemlos, der substream den ich zur schnellen mobiln ansicht nutze funtzt auch und der dritte stream den der Raspi mit rpisurv auf meine monitore zaubert geht auch problemlos...  aber der screenshot überlebt oft keinen Tag... Mist... :-\
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 08 September 2021, 15:33:04
Zitat von: misux am 08 September 2021, 14:58:23
aber der screenshot überlebt oft keinen Tag... Mist... :-\

Du könntest alternativ noch probieren, den Screenshot direkt von einem der Video-Streams abzugreifen, anstatt separat über die snapshot-url der Kamera. Synology kann das uU.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 08 September 2021, 16:28:58
Na das ist doch die Idee schlecht hin!
Hmm... warum wird das eigentlich nicht immer so gemacht, dachte jedenfalls das das so an sich irgendwie im Hinergrund passiert... Das Problem ist, ich habe keine Ahnung wie ich das im Fhem einbinden soll...

Habe was im Internet gefunden was an sich funktionieren soll, hat aber mit FHEM nix zu tun..

avconv ist wohl das Zauberwort..

der code soll so sein: avconv -rtsp_transport tcp -i rtsp://IP/channel -r 1 -vframes 1 Foto.jpg

denke so kann man auch den channel frei wählen und somit auch die auflösung die auf dem channel eingestellt ist...

könnte man das vielleicht irgendwie in dein IPCAM Modul einbinden?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 08 September 2021, 16:48:29
Zitat von: misux am 08 September 2021, 16:28:58
Problem ist, ich habe keine Ahnung wie ich das im Fhem einbinden soll...

Ich kann nur mit einem Vergleich antworten:
ZoneMinder bietet pro Kamera nicht nur die Stream-URL an, sondern auch eine Snapshot-URL.
Dh den Snapshot krieg ich von ZoneMinder, nicht von der Kamera direkt.
Und ZoneMinder zieht sich den vom Stream raus (und macht nicht zB cgi-bin/getSnapshot.cgi oder sowas)

Und diese Snapshot-URL kann ich problemlos von IPCAM aus verwenden.

Dh du müsstest checken, ob Synology oder rpisurv diese Option anbieten.

Den Rahmen dieses Moduls würde das allerdings sprengen...

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: eldrik am 09 September 2021, 08:31:48
Zitat von: misux am 08 September 2021, 16:28:58
Na das ist doch die Idee schlecht hin!
Hmm... warum wird das eigentlich nicht immer so gemacht, dachte jedenfalls das das so an sich irgendwie im Hinergrund passiert... Das Problem ist, ich habe keine Ahnung wie ich das im Fhem einbinden soll...

Habe was im Internet gefunden was an sich funktionieren soll, hat aber mit FHEM nix zu tun..

avconv ist wohl das Zauberwort..

der code soll so sein: avconv -rtsp_transport tcp -i rtsp://IP/channel -r 1 -vframes 1 Foto.jpg

denke so kann man auch den channel frei wählen und somit auch die auflösung die auf dem channel eingestellt ist...

könnte man das vielleicht irgendwie in dein IPCAM Modul einbinden?

avconv ist ja ein Stück software ffmpeg ginge auch müsste als Eingangsvoraussetzung auf dem System installiert sein.

In FHEM kann man es dann nutzen in dem man sich ein Shell Skript erstellt, über das der entsprechende avconv oder ffmpeg Befehl aufgerufen wird. Dieses Skript kann über FHEM mit dem system Befehl aufgerufen werden.

Ich bin tatsächlich gestern wieder auf mein vorheriges Konstrukt via Shell Skript und system Befehl gewechselt, da ich mit der Variante über IPCAM einen Versatz von 3-4 Sekunden hatte und die nonblocking Variante bei mir nicht zuverlässig zu funktionieren scheint.

Ich greife jedoch nicht den Stream ab (das kann je nach verwendeten Codec der Kamera und Einstellung bei avconv und ffmpeg auch schon einmal zu unvollständigen Bildern führen) sondern rufe das normale Snapshot Kommando der Kamera via curl auf.

Aufruf in FHEM aus einer 99_myUtils Sub
system("/opt/fhem/FHEM/99_ipcam_briefkasten.sh");

Befehl im Shell Skript
#!/bin/sh
curl -o /opt/fhem/Haustuer_Aufnahmen/cam_briefkasten_snapshot.jpg 'http://IPADRESSE/webcapture.jpg?command=snap&channel=0'


So werden die Aufnahmen bei mir jetzt wieder nahezu zeitgleich zum Auslöseevent erzeugt.

Greetz
Eldrik
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 09 September 2021, 09:14:08
Hallo Eldrik,

wenn du wieder mal Zeit und Muße hast, wärs sehr interessant, zu sehen, ob mit dem letzten Update die Blocking variante wieder besser funktioniert für dich.

IPCAM selber macht ja eigentlich auch nichts anderes, als der curl Befehl, den du im Shell Script ausführst, von daher wärs auch spannend, herauszufinden, ob IPCAM auch blocking wirklich mehr zeitlichen Versatz hat.

Danke jedenfalls für dein Feedback

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: eldrik am 09 September 2021, 09:43:43
Zitat von: delMar am 09 September 2021, 09:14:08
Hallo Eldrik,

wenn du wieder mal Zeit und Muße hast, wärs sehr interessant, zu sehen, ob mit dem letzten Update die Blocking variante wieder besser funktioniert für dich.

IPCAM selber macht ja eigentlich auch nichts anderes, als der curl Befehl, den du im Shell Script ausführst, von daher wärs auch spannend, herauszufinden, ob IPCAM auch blocking wirklich mehr zeitlichen Versatz hat.

Danke jedenfalls für dein Feedback

schöne Grüße
Martin

Hi,

ja ich hatte die letzte Version bereits ausprobiert, ich wühle gerade mal die Meldungen aus dem Log von vor ein paar Tagen.

Mit Blocking 0 erhalte ich leider bei meiner Beispielkamera:

2021.09.06 18:59:02.902 0: IPCAM (cam_briefkasten) - error while getting snapshot http://IPADRESSE//webcapture.jpg?command=snap&channel=1 - http://IPADRESSE//webcapture.jpg?command=snap&channel=1: empty answer received

Und mit Blocking 1 sehe ich gerade, scheint die meiste Zeit beim löschen des alten readings draufzugehen (kommt mit meinen genannten 3 - n Sekunden hin)

2021.09.06 20:12:00.476 5: IPCAM (cam_vorne) - remove old reading: snapshot1
2021.09.06 20:12:00.478 5: IPCAM (cam_haustuer) - remove old reading: snapshot1
2021.09.06 20:12:00.479 5: IPCAM (cam_stellplatz) - remove old reading: snapshot1
2021.09.06 20:12:05.017 3: IPCAM (cam_vorne) - getSnapshot URI: http://IPADRESSE/webcapture.jpg?command=snap&channel=0
2021.09.06 20:12:05.018 3: IPCAM (cam_vorne) - ExecuteSnapshotRequest blocking: 1, camUrl: http://IPADRESSE/webcapture.jpg?command=snap&channel=0
2021.09.06 20:12:05.232 3: IPCAM (cam_vorne) - Snapshot Image Format: jpg
2021.09.06 20:12:05.285 4: IPCAM (cam_vorne) - snapshot /opt/fhem/Haustuer_Aufnahmen/cam_vorne_snapshot.jpg written.
2021.09.06 20:12:05.344 4: IPCAM (cam_vorne) - snapshot /opt/fhem/Haustuer_Aufnahmen/cam_vorne_20210906_201205.jpg written.
2021.09.06 20:12:05.344 4: IPCAM (cam_vorne) - image: cam_vorne_20210906_201205.jpg


Greetz
Eldrik

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 09 September 2021, 09:52:07
Blocking gehst du immer auf channel=0, non-blocking immer auf channel=1.
Hat das einen bestimmten Grund?

Zitat von: eldrik am 09 September 2021, 09:43:43
Und mit Blocking 1 sehe ich gerade, scheint die meiste Zeit beim löschen des alten readings draufzugehen (kommt mit meinen genannten 3 - n Sekunden hin)
Das ist ja eine spannende Erkenntnis, dankeschön.

Dieses Housekeeping im Code ist mir bisher absolut nicht als potentielles Problem bewusst gewesen. Aber du hast recht, dadurch entsteht eine irrsinnige Verzögerung zwischen Aufrufen von get image und dem tatsächlichen Request zur Kamera.

Der Grund ist wohl

    my $readings = $hash->{READINGS};
    foreach my $r (sort keys %{$readings}) {

Ich werde mir das beizeiten genau anschauen müssen.

Danke
schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: eldrik am 09 September 2021, 10:01:37
nein der Channel hat hier keine Bewandtnis 0 und 1 liefern den gleichen Snapshot und haben die gleiche Reaktionszeit, da war ich an der einen oder anderen Stelle einfach nicht konsequent bei meinen FHEM Definitionen :)

Ich verfolge den Thread und die FHEM Codeänderungen, wenn es was neues zu IPCAM gibt, probiere ich es erneut ist ja ein glück schnell ein und auskommentiert in meinen Subs.

Greetz
Eldrik 
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 09 September 2021, 10:39:33
Zitat von: eldrik am 09 September 2021, 08:31:48
avconv ist ja ein Stück software ffmpeg ginge auch müsste als Eingangsvoraussetzung auf dem System installiert sein.

In FHEM kann man es dann nutzen in dem man sich ein Shell Skript erstellt, über das der entsprechende avconv oder ffmpeg Befehl aufgerufen wird. Dieses Skript kann über FHEM mit dem system Befehl aufgerufen werden.

Ich bin tatsächlich gestern wieder auf mein vorheriges Konstrukt via Shell Skript und system Befehl gewechselt, da ich mit der Variante über IPCAM einen Versatz von 3-4 Sekunden hatte und die nonblocking Variante bei mir nicht zuverlässig zu funktionieren scheint.

Ich greife jedoch nicht den Stream ab (das kann je nach verwendeten Codec der Kamera und Einstellung bei avconv und ffmpeg auch schon einmal zu unvollständigen Bildern führen) sondern rufe das normale Snapshot Kommando der Kamera via curl auf.

Aufruf in FHEM aus einer 99_myUtils Sub
system("/opt/fhem/FHEM/99_ipcam_briefkasten.sh");

Befehl im Shell Skript
#!/bin/sh
curl -o /opt/fhem/Haustuer_Aufnahmen/cam_briefkasten_snapshot.jpg 'http://IPADRESSE/webcapture.jpg?command=snap&channel=0'


So werden die Aufnahmen bei mir jetzt wieder nahezu zeitgleich zum Auslöseevent erzeugt.

Greetz
Eldrik

Hallo Eldrik,

system blockiert fhem allerdigs (außer mit & am Ende -> Background)

Siehe: https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html

Und wenn im Script dann curl genommen wird bzw. eben HTTP-Abfragen (die schon mal dauern können), dann kann das schon "schlecht" sein...

Ich habe jetzt nicht verfolgt, ob es blockierend sein muss (z.B. wegen Rückgabewerten), wenn ja, dann entweder aus dem Script Daten zurück an fhem (z.B. per telnet / https://forum.fhem.de/index.php/topic,122801.msg1173393.html#msg1173393 ) oder gleich nonBlocking "auslagern".
Sieht schlimmer aus als es ist, habe ich auch schon mal eingesetzt, habe so z.B. SMARTMON nonblocking "umgebaut" (und bin beileibe kein Perl-Programmierer)...
https://wiki.fhem.de/wiki/Blocking_Call

EDIT:
Zitat
So werden die Aufnahmen bei mir jetzt wieder nahezu zeitgleich zum Auslöseevent erzeugt.
Vermutlich weil eben fhem in der Zwischenzeit nichts tut... ;)
Evtl. wäre es ein Ansatz im Script (oder auch im Modul) nachdem die Bilder (definitiv) da sind ein Reading zu setzen/Event zu erzeugen. D.h. dann bei Reaktion auf DIESES Event müsste ja dann alles klappen?
(oder stehe ich jetzt "im Wald"? / habe meine Kamera ja immer noch nicht im "tatsächlichen" Einsatz)

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 09 September 2021, 10:50:02
Hallo Martin,

dürfte ich das noch mal "ins Rennen schicken":

Zitat
Nun dachte ich, dass ich das doch auch bei pathCmd user/pw angeben kann und damit dann auch nur "einfache Kommandos" bei cmd1, cmd2, usw. eingeben brauche.
Das geht leider nicht, weil dann zweimal das "Fragezeichen" kommt, statt dem "Und" für weitere Parameter.

Hier mal was ich meine:

Mein cmd1 meiner "gebastelten" Kamera (2tes list):

    http://192.168.10.184:88/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123?cmd=ptzStopRun


Hier ein pan/tilt Kommando:

    http://192.168.10.184:88/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=madmax123&cmd=ptzMoveRight


Wäre schön, wenn hier das Verhalten gleich wäre, dann könnte man alle Kommandos "einfach" gestalten...

Ausführlicher hier: https://forum.fhem.de/index.php/topic,10772.msg1147375.html#msg1147375

Eine "Vereinheitlichung" von Kommandos bzw. deren Nutzung (Angabe per Attrinut) wäre schon gut? 8)

Aber wie geschrieben, wenn ich der Einzige damit bin...
...dann vielleicht auch nicht.

Evtl. finde ich auch mal Zeit und schaue mir das "im Modul" an und versuche mich an einem Patch...

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 09 September 2021, 10:57:24
Zitat von: MadMax-FHEM am 09 September 2021, 10:50:02
dürfte ich das noch mal "ins Rennen schicken":
Ja, ich hab das nicht vergessen.

Die Änderung ist relativ rasch umzusetzen, denke ich.
Ich scheue allerdings den Testaufwand
Und befürchte auch, dass viele Konfigurationen so gestaltet sind, dass sie mit der aktuellen Implementierung funktionieren, aber mit einer "sauberen" nicht mehr, und somit die selbe Situation wie mit blocking non-blocking entsteht.

Aber vielleicht täusche ich mich auch.
Das ist auf jeden Fall ein Thema, für die länger werdenden Abende ;-)

Danke, dass du nach wie vor dein Interesse daran bekundest.
Das ist ein maßgeblicher Faktor, ob man sich die Zeit für etwas nimmt.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 09 September 2021, 11:05:49
Hallo Martin,

klar verstehe ich, ist ja auch ein "gewaltiger" Umbau für alle, die bereits viele Kommandos umgesetzt haben...
...allerdings wundert mich, dass da noch niemand sonst was "angemerkt" hat ;)

(-> evtl. nutzen das noch gar nicht viele/keine ;)  )

Aber längere Abende klingt gut, dann habe ich auch Zeit zu testen :)

Danke für's Nicht-vergessen, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 15 September 2021, 18:46:46
Hallo...

Ich teste weiter und mit meinen neuen Cams ist mir im Log aufgefallen das ich bei EINEN "get image" das im log bekomme... Ist das normal so? Muss das so oft passieren?

2021.09.15 18:43:10 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:12 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:12 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:19 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:19 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:31 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:31 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:31 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:31 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:33 3: IPCAM (CAMEingang) - getSnapshot URI: http://user:Password@192.168.3.222/cgi-bin/snapshot.cgi?
2021.09.15 18:43:33 3: IPCAM (CAMEingang) - ExecuteSnapshotRequest blocking: 0, camUrl: http://user:Password@192.168.3.222/cgi-bin/snapshot.cgi?
2021.09.15 18:43:35 3: IPCAM (CAMEingang) - Snapshot Image Format: jpg
2021.09.15 18:43:35 4: IPCAM (CAMEingang) - snapshot ./www/snapshots/CAMEingang_snapshot.jpg written.
2021.09.15 18:43:35 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.09.15 18:43:35 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 15 September 2021, 18:53:12
Dir ist aber schon aufgefallen, dass die meisten Logeinträge mit Level 4 sind.

Normalerweise ist Level 3 und da können "Ausführungen" (z.B. set-Befehle) kommen...
...alles höher als 4 ist "Informativ" etc. und da kann/darf durchaus mehr kommen...

https://wiki.fhem.de/wiki/Verbose

Somit würde ich finden, dass diese 3 Einträge schon i.O. sind:
Zitat
2021.09.15 18:43:33 3: IPCAM (CAMEingang) - getSnapshot URI: http://user:Password@192.168.3.222/cgi-bin/snapshot.cgi?
2021.09.15 18:43:33 3: IPCAM (CAMEingang) - ExecuteSnapshotRequest blocking: 0, camUrl: http://user:Password@192.168.3.222/cgi-bin/snapshot.cgi?
2021.09.15 18:43:35 3: IPCAM (CAMEingang) - Snapshot Image Format: jpg

Die anderen sollten weg sein, sobald du verbose löschst (Standard ist 3 / sollte) oder eben selber kleiner 4 setzt...

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 15 September 2021, 21:12:26
Ja, das mit Verbose kenne ich, abe mich nur gewundert das es so oft von einem und dem selben ist... aber ok. verbose auf 1 gesetzt.

Vielen Dank!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 16 September 2021, 15:11:50
Hi! Im Moment reißt es irgendwie nicht ab.. Irgendwas ist immer... Habe heute im Log einen Eintrag bekommen beim Snapshot... Was bedeutet dieser?

2021.09.16 12:23:45 1: PERL WARNING: Use of uninitialized value $snapshot in string ne at ./FHEM/49_IPCAM.pm line 519.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 16 September 2021, 15:40:09
Zitat von: misux am 16 September 2021, 15:11:50
Hi! Im Moment reißt es irgendwie nicht ab.. Irgendwas ist immer... Habe heute im Log einen Eintrag bekommen beim Snapshot... Was bedeutet dieser?

2021.09.16 12:23:45 1: PERL WARNING: Use of uninitialized value $snapshot in string ne at ./FHEM/49_IPCAM.pm line 519.

Das bedeutet, dass von der Kamera kein Snapshot geliefert wurde.
Die Kamera hat aber auch keinen Fehler geliefert.

Das ist mit blocking=1 aufgetreten, stimmts?
Wenn ich das weiß, kann ich die Meldung verbessern.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 16 September 2021, 15:58:12
Hmm... Das ist jetzt eine gute Frage... habe 2 Cams, neue Cams da meine alten einfach keinen screenshot mache wollten teilweise, egal wie. Nun haben ich eine mit blocking und die andere ohne... ::)

Ich stelle beide mal auf blocking 1 und beobachte es mal weiter und melde mich.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 22 September 2021, 18:12:50
Zitat von: delMar am 16 September 2021, 15:40:09
Das bedeutet, dass von der Kamera kein Snapshot geliefert wurde.
Die Kamera hat aber auch keinen Fehler geliefert.

Das ist mit blocking=1 aufgetreten, stimmts?
Wenn ich das weiß, kann ich die Meldung verbessern.

schöne Grüße
Martin

Ja, Es tritt bei den Cams mit Blocking 1 auf. Habe jetzt das Attr bei diesen Cams jetzt gelöscht weil die diesmal keine Fotos gemacht hat...

nun heißt es weiter beobachten..
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: JudgeDredd am 23 September 2021, 13:59:34
Hallo Zusammen,

ich setze das IPCAM Modul erst seit kurzem ein.
Soweit läuft das auch alles ganz gut.

Eine kleine Verständnisfrage hätte ich aber dann doch noch.
Im Internal SEQ steht ja die Nummer des letzten Snapshots drin.

Die Internals überleben ja keinen FHEM-Start.

So kommt es also, das nach jedem Neustart wieder der erste Snapshot überschrieben wird.
Unabhängig vom Attribut snapshots

Kann man das mit den Modul-Mitteln auch dahingehend ändern, das nach dem letzten erstellten snapshot weitergemacht wird ?

Zumindest habe ich nichts gefunden, was darauf schließen lässt, aber ich könnte da natürlich auch was übersehen haben.

Gruß,
JudgeDredd
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: JudgeDredd am 23 September 2021, 17:39:52
Zitat von: JudgeDredd am 23 September 2021, 13:59:34
Eine kleine Verständnisfrage hätte ich aber dann doch noch.
Ich glaube mein Verständnis war ein Falsches.
Ich war der Meinung, das das Modul bei Auslösung immer genau 1 Bild holt und die geholten Bilder nach <attr snapshots xy> wieder überschreibt (rotierend).
Offensichtlich war das wohl ein Irrtum.
Wäre es denkbar sowas im Modul in Zukunft darzustellen ?
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: weini am 23 September 2021, 18:45:55
Zum Thema new Features / Erweiterungen:

Ich würde mir die Möglichkeit wünschen, den User-Agent als Attribut angeben zu können. IPCAM müssten den nur an die HttpUtils beim Aufruf durchreichen, da wird er nämlich schon unterstützt.
Hintergrund ist, dass ich gerade ein Problem mit einer Internet-Webcam habe: Die verweigert IPCAM, liefert im Browser aber wunderbar die Bilder. Ein Test mit cURL hat dann gezeigt, dass es am User-Agent liegt (siehe hier: https://forum.fhem.de/index.php/topic,123010.0.html (https://forum.fhem.de/index.php/topic,123010.0.html))

Falls gewünscht würde ich mir auch zutrauen, das als Patch zu entwickeln, wenn es der Maintainer dann übernimmt.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 03 Oktober 2021, 08:14:11
Moin!

HAbe teilweise immernoch Probleme mit den snapshots... Neuer Ansatz:

Kann es vielleicht an meinem DOIF liegen? Also das CamHof teilweise nicht geschrieben wird weil das Modul CamEingang schreiben möchte und CamHof noch nicht fertig war?

Hier mein Doif:

([SENSOR_1_Tor:"open"] and [?Haus] eq "absent")
(set Telegram message TOR geöffnet!!!)
(get CAMHof image)
(get CAMEingang image)
(sleep 2 quiet; set Telegram sendPhoto /opt/fhem/www/snapshots/CAMHof_snapshot.jpg)
(sleep 3 quiet; set Telegram sendPhoto /opt/fhem/www/snapshots/CAMEingang_snapshot.jpg)


Wenn ich mir den Log ansehe ist mir aufgefallen das manchmal CamHof anfängt aber einfach nicht weiter macht, auch ohne Fehlermeldung... wie im LogBeispiel:
Wenn CamHof erfolgreich schreibt habe ich auch 5 Einträge inkl. ausgabe das das File "written" wurde...

2021.10.02 11:54:09 3: IPCAM (CAMHof) - getSnapshot URI: http://test:test@192.168.1.221/cgi-bin/snapshot.cgi?
2021.10.02 11:54:09 3: IPCAM (CAMHof) - ExecuteSnapshotRequest blocking: 1, camUrl: http://test:test@192.168.1.221/cgi-bin/snapshot.cgi?
2021.10.02 11:54:13 3: IPCAM (CAMEingang) - getSnapshot URI: http://test:test@192.168.1.222/cgi-bin/snapshot.cgi?
2021.10.02 11:54:13 3: IPCAM (CAMEingang) - ExecuteSnapshotRequest blocking: 1, camUrl: http://test:test@192.168.1.222/cgi-bin/snapshot.cgi?
2021.10.02 11:54:13 3: IPCAM (CAMEingang) - Snapshot Image Format: jpg
2021.10.02 11:54:13 4: IPCAM (CAMEingang) - snapshot ./www/snapshots/CAMEingang_snapshot.jpg written.
2021.10.02 11:54:13 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt
2021.10.02 12:00:50 3: IPCAM (CAMHof) - getSnapshot URI: http://test:test@192.168.1.221/cgi-bin/snapshot.cgi?
2021.10.02 12:00:50 3: IPCAM (CAMHof) - ExecuteSnapshotRequest blocking: 1, camUrl: http://test:test@192.168.1.221/cgi-bin/snapshot.cgi?
2021.10.02 12:00:54 3: IPCAM (CAMEingang) - getSnapshot URI: http://test:test@192.168.1.222/cgi-bin/snapshot.cgi?
2021.10.02 12:00:54 3: IPCAM (CAMEingang) - ExecuteSnapshotRequest blocking: 1, camUrl: http://test:test@192.168.1.222/cgi-bin/snapshot.cgi?
2021.10.02 12:00:54 3: IPCAM (CAMEingang) - Snapshot Image Format: jpg
2021.10.02 12:00:54 4: IPCAM (CAMEingang) - snapshot ./www/snapshots/CAMEingang_snapshot.jpg written.
2021.10.02 12:00:54 4: IPCAM (CAMEingang) - set: name:CAMEingang cmd:? list:cmd pan pos raw tilt



Alle Cams haben komplett die gleichen Einstellungen (in den Cams und dem Modul) und sind vom selben Typ.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 12 Oktober 2021, 09:46:12
Sorry für die späte Antwort.

Also eigentlich dürften sich zwei Devices nicht in die Quere kommen, auch wenn es sich um das selbe Modul handelt.

Vielleicht kannst du auch das "alte" IPCAM Modul nochmal zum Vergleich ausprobieren?
Ich tendiere schon dazu, dieses nochmal zu veröffentlichen, und eines der beiden dann einfach IPCAM2 zu nennen...

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 12 Oktober 2021, 09:47:16
Zitat von: weini am 23 September 2021, 18:45:55
Zum Thema new Features / Erweiterungen:

Ich würde mir die Möglichkeit wünschen, den User-Agent als Attribut angeben zu können. IPCAM müssten den nur an die HttpUtils beim Aufruf durchreichen, da wird er nämlich schon unterstützt.
Hintergrund ist, dass ich gerade ein Problem mit einer Internet-Webcam habe: Die verweigert IPCAM, liefert im Browser aber wunderbar die Bilder. Ein Test mit cURL hat dann gezeigt, dass es am User-Agent liegt (siehe hier: https://forum.fhem.de/index.php/topic,123010.0.html (https://forum.fhem.de/index.php/topic,123010.0.html))

Falls gewünscht würde ich mir auch zutrauen, das als Patch zu entwickeln, wenn es der Maintainer dann übernimmt.

Sollte keine große Sache sein.

Patches sind natürlich immer willkommen :)

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 12 Oktober 2021, 09:49:32
Zitat von: JudgeDredd am 23 September 2021, 17:39:52
Ich glaube mein Verständnis war ein Falsches.
Ich war der Meinung, das das Modul bei Auslösung immer genau 1 Bild holt und die geholten Bilder nach <attr snapshots xy> wieder überschreibt (rotierend).
Offensichtlich war das wohl ein Irrtum.
Wäre es denkbar sowas im Modul in Zukunft darzustellen ?
Sorry, ich glaub, ich verstehe das nicht ganz.

Kannst du bitte anhand von Beispielen veranschaulichen, was jetzt gemacht wird, und dem gegenüberstellen, was du gern haben würdest?

Danke
schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: JudgeDredd am 12 Oktober 2021, 13:34:30
Zitat von: delMar am 12 Oktober 2021, 09:49:32
Sorry, ich glaub, ich verstehe das nicht ganz.
Kannst du bitte anhand von Beispielen veranschaulichen, was jetzt gemacht wird, und dem gegenüberstellen, was du gern haben würdest?
Hallo Martin,

vielen Dank für Deine Antwort und sorry, das ich mich unverständlich ausgedrückt hatte.

Mein Gedanke war, dass mit
get <nameIPCAM> image
Genau ein Bild im Verzeichnis abgelegt wird und mit z.B.
attr <nameIPCAM> snapshots 10
das erste Bild nach 10 Bildern wieder überschrieben wird und nicht das durch das GET 10 Bilder erzeugt werden.

Aber wie geschrieben, habe ich das wohl falsch Verstanden.
Die Frage war daher, ob man so eine Logik (nach x Bildern wieder von vorne beginnen) noch einbauen könnte.

Macht aber nur Sinn, wenn ich mit diesem Wunsch nicht alleine wäre.
Aktuell habe ich mir selbst geholfen und ein kleines Modul erstellt, was so macht.

Gruß,
JudgeDredd
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 18 Oktober 2021, 21:48:48
Zitat von: delMar am 12 Oktober 2021, 09:46:12
Sorry für die späte Antwort.

Also eigentlich dürften sich zwei Devices nicht in die Quere kommen, auch wenn es sich um das selbe Modul handelt.

Vielleicht kannst du auch das "alte" IPCAM Modul nochmal zum Vergleich ausprobieren?
Ich tendiere schon dazu, dieses nochmal zu veröffentlichen, und eines der beiden dann einfach IPCAM2 zu nennen...

schöne Grüße
Martin

Kein Problem.. Ich habe auch nicht immer Zeit..

Also ich würde schon das alte Modul ausprobieren. Das ist kein Problem, nur wie installiere ich es parallen zum vorhandenen..

Vielen Dank für deine Mühe!
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 18 Oktober 2021, 21:55:07
Zitat von: misux am 18 Oktober 2021, 21:48:48
Das ist kein Problem, nur wie installiere ich es parallen zum vorhandenen..
du müsstest zum Einen den Dateinamen umbenennen, und dann auch noch alle Methodennamen im Code.
wenn eine Methode derzeit zb IPCAM_bla heißt, dann muss die eben danach IPCAM2_bla heißen. Nur so als Beispiel.

Falls das nicht funktioniert, oder du das nicht machen willst, kann ich zum Wochenende so eine Version hier mal reinstellen

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 18 Oktober 2021, 21:57:09
Zitat von: JudgeDredd am 12 Oktober 2021, 13:34:30
das erste Bild nach 10 Bildern wieder überschrieben wird und nicht das durch das GET 10 Bilder erzeugt werden.
Ich verstehe.
Somit müsste man sich auch nicht darum kümmern, die Bilder wieder zu löschen, damit die Platte (oder SD-Karte) nicht voll wird.
Das wär schon sinnvoll...

Nehm ich mir mit, danke für den Vorschlag

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Esjay am 18 Oktober 2021, 22:09:39
Guten Abend zusammen,

ich habe die Reolink E1 Zoom und E1 Outdoor im Einsatz.

Mit dem Path aus dem Wiki habe ich immer den Fehler "Wrong or not supported image format: unknown" bekommen.

Mit dem folgenden Path hat es sofort geklappt.

cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=<User>&password=<Passwort>&width=1920&height=1080


Vll könnte das jemand ins Wiki übernehmen.

Schönen Abend noch.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 18 Oktober 2021, 22:11:17
Danke, werd ich machen.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 20 Oktober 2021, 11:46:28
Zitat von: delMar am 18 Oktober 2021, 21:55:07
du müsstest zum Einen den Dateinamen umbenennen, und dann auch noch alle Methodennamen im Code.
wenn eine Methode derzeit zb IPCAM_bla heißt, dann muss die eben danach IPCAM2_bla heißen. Nur so als Beispiel.

Falls das nicht funktioniert, oder du das nicht machen willst, kann ich zum Wochenende so eine Version hier mal reinstellen

schöne Grüße
Martin

Du meinst also ich soll einfach define <name> IPCAM <ip[:port]> mit einem anderen Namen durchführen? Aber damit installiert er doch die aktuelle/gleiche version die ich schon habe..?

Verstehe ich nicht ganz...
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 20 Oktober 2021, 11:50:06
define <name> IPCAM <ip[:port]>

eher:

define <name> IPCAM2 <ip[:port]>

Bzw. je nachdem wie du umbenamst hast ;)

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: frober am 20 Oktober 2021, 12:11:32
Zitat von: misux am 20 Oktober 2021, 11:46:28
Du meinst also ich soll einfach define <name> IPCAM <ip[:port]> mit einem anderen Namen durchführen? Aber damit installiert er doch die aktuelle/gleiche version die ich schon habe..?

Verstehe ich nicht ganz...

Du musst das Modul 49_IPCAM.pm umbenennen z.B. in 49_IPCAM2.pm und dann den Code ( die Methodennamen) entsprechend im Modul anpassen. Danach wie von MadMax_Fhem beschrieben definieren.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 20 Oktober 2021, 12:18:24
Zitat von: frober am 20 Oktober 2021, 12:11:32
Du musst das Modul 49_IPCAM.pm umbenennen z.B. in 49_IPCAM2.pm und dann den Code ( die Methodennamen) entsprechend im Modul anpassen. Danach wie von MadMax_Fhem beschrieben definieren.

Genau wie ja hier von Martin beschrieben: https://forum.fhem.de/index.php/topic,10772.msg1180547.html#msg1180547 ;)

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: frober am 20 Oktober 2021, 12:31:05
Zitat von: MadMax-FHEM am 20 Oktober 2021, 12:18:24
Genau wie ja hier von Martin beschrieben: https://forum.fhem.de/index.php/topic,10772.msg1180547.html#msg1180547 ;)

Gruß, Joachim
Klar, er hat aber geschrieben, dass er es nicht versteht :o
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 20 Oktober 2021, 13:31:48
Ich werd hoffentlich am Abend die Zeit finden, ein IPCAM2 hier ins Forum zu stellen.

Generelle Frage:
wenn ich eines der Module als IPCAM und das andere als IPCAM2 offiziell ins SVN geben würde, welches sollte welches sein?
sollte die jetzt gewartete den Namen behalten, und die "alte/blocked" version als 2 ins SVN kommen?
Oder umgekehrt?
Wo denkt ihr, ist der "schmerz" für die meisten User am Geringsten?
Oder gäbs einen besseren Namen, als IPCAM2 (für welche Version das dann auch gelten mag)

Danke für euren Input

schöne Grüße
Martin

PS: generelle Lektion für die Zukunft. Wird ein ungewartetes Modul nach längerem Dornröschenschlaf wieder wachgeküsst, sollte man die Weiterentwicklung direkt unter einem neuen Name laufen lassen (da wäre dann klar, dass der aktive Zweig die 2 erhält).
So ist sichergestellt, dass niemand in Probleme läuft, der bisher keine gehabt hat.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 20 Oktober 2021, 13:52:53
"alte/blocked" -> IPCAMLegacy / IPCAMBlocking? 8)

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: frober am 20 Oktober 2021, 14:12:02
Zitat von: MadMax-FHEM am 20 Oktober 2021, 13:52:53
"alte/blocked" -> IPCAMLegacy / IPCAMBlocking? 8)

Gruß, Joachim

Da schließe ich mich an.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 20 Oktober 2021, 14:21:22
Jetzt muss ich mal vielleicht ne blöde Frage stellen...
Worin ist denn der Unterschied zwischen der alten und der aktuellen? Hat sich da so viel geändert? Oder ist es nur dieses Blocking...? ::) :-X
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 20 Oktober 2021, 14:44:34
Zitat von: misux am 20 Oktober 2021, 14:21:22
Jetzt muss ich mal vielleicht ne blöde Frage stellen...
Worin ist denn der Unterschied zwischen der alten und der aktuellen? Hat sich da so viel geändert? Oder ist es nur dieses Blocking...? ::) :-X
Aaaaaaalllsoooo:
* cmd01data Attribute, um auch POST statt nur GET machen zu können
* Attribute handleAnyXmlAsSvg: Fehlermeldungen, die als XML von der Kamera kommen, werden nicht mehr als SVG interpretiert und verschlucken somit den Fehler nicht mehr.
* unknownFormatRetryCount: nr of retries, wenn die Kamera kein gültiges Bild liefert (inkl. unknownFormatRetryDelay, um die Zeit zwischen retries anzugeben)
* get imageWithCallback, wo direkt eine Aktion getriggert werden kann, ohne extra ein Notify dafür anlegen zu müssen (zB das Bild per Telegram verschicken)
* Attribute templates eingeführt. Bisher aber nur für 3 oder 4 Kameramodelle
* blocking/unblocking (der Vollständigkeit halber ;) )

Ich denk, das ist soweit mal alles.
Im Hintergrund wurde der Code außerdem auf Packages umgestellt, davon kriegt der User allerdings nix mit. Ist mehr ein Hygiene Ding.

Zitat
"alte/blocked" -> IPCAMLegacy / IPCAMBlocking?
Oder IPCAM0 für das "alte" würd mir noch einfallen...

Der Trend scheint jedenfalls in die Richtung zu gehen, den aktuellen Stand als IPCAM weiterlaufen zu lassen, und das alte unter neuem Namen wieder zu bringen.

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: misux am 20 Oktober 2021, 14:51:01
Vielen Dank für die Erläuterung!

UNd zur Namensgebung: Ich würde es so einfach/vertsändlich wie Möglich machen... IPCAM ist die Aktuelle und IPCAMOld die Alte ;) Oder IPCamV1 ist die Alte und IPCamV2 die Neue... Die Variante mit der V1 oder V2 sollte jeder unmissverständlich verstehen... hat ja jeder sowas in der Hand und schon tausende mal Updates durchgeführt..

ALso zum Beispiel: IPCamV1 IPCamV2 oder IPCAMv1 IPCAMv2 ;D viele Möglichkeiten  ;D
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: weini am 26 Oktober 2021, 19:09:34
Zitat von: delMar am 12 Oktober 2021, 09:47:16
Patches sind natürlich immer willkommen :)

Gute Nachricht: hier ist der Useragent-Patch

Schlechte Nachricht: Zumindest bei mir bringt er nichts.

Ich bekomme via curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0' https://allianz-arena.com/static-content-upload/webcam/esplanade-webcam-image-01.jpg --output /var/lib/fhem/images/ipcAllianzArena_snapshot.jpg einwandfrei mein Bild heruntergeladen. Die Angabe des User-Agent mit "-A" ist auch notwendig, ohne geht es nicht.
Wenn ich nun aber via FHEM auch mit dem gepatchten IPCAM vermeintlich das selbe mache, dann funktioniert es wieder nicht (es wird eine HTML-Seite ausgeliefert, kein JPG).
Irgendetwas macht curl da wohl zusätzlich noch anders.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Kellerkind86 am 03 November 2021, 23:03:35
Hallo,
ich benötige mal Unterstützung.. ich habe zwei kameras .
würde mit dem ipcam modul nur gerne die position anfahren die schon gespeichert sind.
eigentlich nutze ich das sscam modul was über die synology surveillance station läuft.
also stream und bilder bekomme ich schon darüber..
leider funktioniert nur nicht die preset funktion weil meine cams das anscheinend nicht unterstützen.

jetzt würde ich das ipcam nur gern haben um die presets anzufahren..
ich verstehe aber leider nicht wie ich den link auseinandernehmen und in die attribute packen muss, damit ich damit arbeiten kann.

habe das hier in den browser schon eingegeben..http://192.168.178.15/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=goto&-status=1&-number=1&-speed=2
bekomme auch als rückmeldung ein: [Succeed]set ok.
aber die kamera fährt leider nicht auf diese position..
ich hoffe hier Hilfe zu bekommen.
ich versteh es leider nicht.
danke
gruß Marcell
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 03 November 2021, 23:51:16
Naja zuerst musst du schon die url/den Aufruf herausfinden, der nicht nur ok liefert (also offenbar ein gültiges Kommando ist) sondern auch macht was du willst: Position anfahren... ;)

Dabei kann man schwer helfen, weil nur du die Kamera(s) hast.

Zumindest wäre hilfreich zu wissen um welche Kamera(s) es geht...
Vielleicht hat ja jemand die gleiche Kamera oder wenigstens selber Hersteller.

Schon mal nach API des Herstellers gegoogelt?

War für mich Kaufkriterium, dass es eine Beschreibung der Befehle gibt.
Hab einige durchprobiert, weil beschreiben ist das eine und ob es auch so tut was anderes... ;)

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Kellerkind86 am 05 November 2021, 08:06:30
Habe mal nachgefragt, leider keine api dafür aber cgi. Die werden aber jetzt erst mal vom chinesischen ins englische übersetzt.    ;D

Hab zwei Kameras...
Eine P2-20X-5MP und eine P1-4X-5MP
Von yoluke.
Bin auch soweit wirklich positiv überrascht.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 05 November 2021, 10:19:49
Zitat von: Kellerkind86 am 05 November 2021, 08:06:30
Habe mal nachgefragt, leider keine api dafür aber cgi. Die werden aber jetzt erst mal vom chinesischen ins englische übersetzt.    ;D

cgi ist doch das API ;)

API: Application Programming Interface
(ist hier halt per "cgi-Befehle" umgesetzt)

Na dann: viel Erfolg!

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: teichtaucher am 15 Dezember 2021, 08:29:06
Hallo, ich versuche gerade meine Reolink RLC-410W in FHEM zu integrieren. Beim Googlen habe ich ebenfalls nur spärliche Informationen gefunden und deshalb bei Reolink angefragt. Die haben mir prompt eine Spec von der API geschickt die für mich sehr vollständig aussieht. Ich wollte die Information nicht vorenthalten:
https://support.reolink.com/attachments/token/Z7FPsdPsBPC98lmGXXhzUEElf/?name=09.Reolink+IPC-CGI-JSON-20190426-v1.1.docx
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: oldscout am 04 Januar 2022, 11:03:53
Hallo,
ich möchte mich mal mit dranhängen an das Modul IPCAM.
Ich habe von TP-Link die C100 Kamera. Diese hat nur einen rtsp-Stream. Einen Snapshot erzeuge ich mit dem ffmpeg-Decoder per CLI und das klappt wunderbar.
Könnte man diesen Stream-Abgriff eventuell auch in das IPCAM Modul einbauen? Mit der Randbedingung das ffmpeg installiert sein muß so ähnlich wie eine Perl-Lib vorhanden sein muß?
Das wäre nur ein Vorschlag.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 04 Januar 2022, 11:26:47
Zitat von: oldscout am 04 Januar 2022, 11:03:53
Hallo,
ich möchte mich mal mit dranhängen an das Modul IPCAM.
Ich habe von TP-Link die C100 Kamera. Diese hat nur einen rtsp-Stream. Einen Snapshot erzeuge ich mit dem ffmpeg-Decoder per CLI und das klappt wunderbar.
Könnte man diesen Stream-Abgriff eventuell auch in das IPCAM Modul einbauen? Mit der Randbedingung das ffmpeg installiert sein muß so ähnlich wie eine Perl-Lib vorhanden sein muß?
Das wäre nur ein Vorschlag.

Für "reine" RTSP-Stream Kameras gäbe es die Möglichkeit "irgendwo" einen Zoneminder laufen zu lassen und dann in fhem das Zoneminder-Modul zu nutzen...

https://forum.fhem.de/index.php/topic,91847.msg843494.html#msg843494

Bzgl. der "Anfrage" auf Modulerweiterung muss Martin (delMar) antworten...

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: oldscout am 06 Januar 2022, 10:20:26
Hallo und danke für die Antwort.
Für eine einzelne Mini-Cam einen zoneminder finde ich zu oversized.
War ja auch nur ne Idee, werde das mit ffmpeg weiter so realisieren.
Gruß
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: FFHEM am 06 Februar 2022, 12:18:06
Hallo,
ich benutze IPCAM schon seit ein paar Jahren, es hat mir schon sehr geholfen, vielen Dank dafür!
Sobald die Türklingel gedrückt wird, werden 3 Bilder im Abstand geschossen und anschließend per E-Mail versandt.

Jetzt habe ich seit ein paar Wochen (ich vermute durch das Update?) den Effekt, dass die ersten beiden Bilder alt sind und nur das 3. neu ist.
Im Ordner /opt/fhem/IPCam_Haustuer stehen aber die neuen Fotos.
Vermutung: das auslösende Event  IPCam_Haustuer:.*snapshots.* kommt früher als in der Vergangenheit.
Deshalb habe ich nun testweise das Attribut "blocking" gesetzt, und die Bilder in der Mail sind wieder aktuell.

Meine Frage:
Ist es richtig/der beste Lösungsweg, dass ich nun das Attribut "blocking=1" setze, oder gibt es eine bessere Lösung?

Dank und Gruß,
Friedhelm

Internals:
   AUTHORITY  192.168.178.13:88
   DEF        192.168.178.13:88
   FUUID      5c444ff1-f33f-26cd-1b94-dd40f5305525183a
   NAME       IPCam_Haustuer
   NR         631
   SEQ        0
   STATE      last: 2022-02-06 12:06:37
   TYPE       IPCAM
   READINGS:
     2022-02-06 12:06:37   last            IPCam_Haustuer_snapshot.jpg
     2022-02-06 12:06:31   snapshot1       IPCam_Haustuer_snapshot_1.jpg
     2022-02-06 12:06:34   snapshot2       IPCam_Haustuer_snapshot_2.jpg
     2022-02-06 12:06:37   snapshot3       IPCam_Haustuer_snapshot_3.jpg
     2022-02-06 12:06:37   snapshots       3
   hmccu:
Attributes:
   alias      IPCam_Haustuer
   blocking   1
   delay      1
   path       cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=XXXX&pwd=YYYYY
   room       Kamera
   snapshots  3
   storage    /opt/fhem/IPCam_Haustuer






Internals:
   DEF        IPCam_Haustuer:.*snapshots.* {
 
   ### Mailversand von 3 Bildern:
  sendSnapshot($NAME,$EVTPART1)   
   
}
   FUUID      5c444ff1-f33f-26cd-2caa-9162a57b31a7c6a4
   NAME       n_IPCam_Haustuer
   NOTIFYDEV  IPCam_Haustuer
   NR         634
   NTFY_ORDER 50-n_IPCam_Haustuer
   REGEXP     IPCam_Haustuer:.*snapshots.*
   STATE      2022-02-06 11:58:19
   TRIGGERTIME 1644145099.5544
   TYPE       notify
   READINGS:
     2022-02-06 11:00:45   state           active
     2022-02-06 11:58:19   triggeredByDev  IPCam_Haustuer
     2022-02-06 11:58:19   triggeredByEvent snapshots: 3
Attributes:
   alias      n_IPCam_Haustuer
   room       Alarmanlage

Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 06 Februar 2022, 15:35:56
Zitat von: FFHEM am 06 Februar 2022, 12:18:06
Ist es richtig/der beste Lösungsweg, dass ich nun das Attribut "blocking=1" setze, oder gibt es eine bessere Lösung?

Ja, das ist tatsächlich die richtige Lösung.

Danke, dass du das hier geschildert hast

schöne Grüße
Martin
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: antonwinden am 06 Mai 2022, 08:23:10
Was muß ich in IPCAM eingeben wenn ich die cgi- befehle habe. Z.B. fährt
/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=0&usr=XXXX&pwd=XXXX
Postion 1 der Kamera an.
Wenn ich diesen als cmdPos01 eingebe passiert nix wenn ich Position 1 anfahren will.
etwas ratlos
Anton
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: delMar am 06 Mai 2022, 08:27:03
Hallo Anton

Erhöhe mal den Wert von verbose und sieh nach, welche URL aufgerufen wird. Kann sein dass nur ein / zu viel oder zu wenig ist.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: MadMax-FHEM am 06 Mai 2022, 11:07:56
Zitat von: antonwinden am 06 Mai 2022, 08:23:10
Was muß ich in IPCAM eingeben wenn ich die cgi- befehle habe. Z.B. fährt
/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=0&usr=XXXX&pwd=XXXX
Postion 1 der Kamera an.
Wenn ich diesen als cmdPos01 eingebe passiert nix wenn ich Position 1 anfahren will.
etwas ratlos
Anton

Poste doch auch mal ein list vom Device.

Weil ja das Kommando das an die Kamera geht aus verschiedenen Einträgen "zusammengebastelt" wird...

Und ja: verbose 5, dann sieht man was gesedet wird...

Gruß, Joachim
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: antonwinden am 06 Mai 2022, 16:43:14
List:
Internals:
   Anternals:
   AUTHORITY  192.168.1.160
   DEF        192.168.1.160
   FUUID      61057c70-f33f-d8e8-9f41-ee59761899ba5e75
   NAME       Eingang
   NR         1286
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   READINGS:
     2022-05-09 05:11:50   last            Eingang_snapshot.jpg
     2022-05-09 05:11:50   snapshot1       Eingang_20220509_051150.jpg
     2022-05-09 05:11:50   snapshots       1
Attributes:
   basicauth  XX:XX
   cmd01      /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=0
   cmd01data  [{"cmd":"Login"}]
   cmd02      /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=1
   cmd02data  [{"cmd":"Login"}]
   cmdPos01   /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=0&usr=XX&pwd=XX
   cmdPos02   /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=1&usr=XX&pwd=XX
   cmdPos03   /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=2&usr=XX&pwd=XX
   cmdPos04   /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=3&usr=XX&pwd=XX
   cmdPos05   /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=4&usr=XX&pwd=XX
   cmdPos06   /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=5&usr=XX&pwd=XX
   delay      5
   path       /snap.jpg?JpegCam=1
   room       Kameras
   storage    ./www/snapshots
   timestamp  1
   verbose    5

im Filelog steht trotz verbose 5 praktisch nix:
2022-05-09_05:11:50 Eingang snapshots: 1
2022-05-09_10:25:01 Eingang cmd 1
2022-05-09_10:25:23 Eingang pos 3
2022-05-09_10:25:50 Eingang raw /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=3&usr=XX&pwd=XX
2022-05-09_10:26:31 Eingang raw /cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=1&usr=XX&pwd=XX
2022-05-09_10:29:45 Eingang pos 4

im event monitor das gleiche
ein get image funktioniert problemlos
auch der raw Befehl wird ausgeführt.
der Rest wird eigentlich ignoriert und das Log gibt trotz Verbose = 5 nix her (Eingang pos3... und nicht was da an Befehl eingetragen ist) obwohl bei CmdPos3 der Befehl dafür da ist
danke anton
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: neyzen am 09 Juni 2022, 15:40:11
Hi,

ich schick mir immer ein Bild von meiner Cam aufs Handy wenn es klingelt mit folgendem Befehl

([Tuerklingel:state] eq "closed") (get IPCAMEingang image) (set teleBot sendImage /opt/fhem/www/snapshots/IPCAMEingang_snapshot.jpg)


Ich hab jetzt das Problem, wenn es nochmal klingelt,speichert er den nächsten Bild als snapshot_01.jpg.
Wie muss ich den mein Befehl ändern damit er mir immer das aktuellste Bild schickt? Also für snapshot_01.jpg,snapshot_02.jpg usw.
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: WW am 09 Juni 2022, 21:58:31
Aus der Hilfe:
snapshots
Defines the total number of snapshots to be taken with the get <name> image command. If this attribute is not defined, then the default value is 1.
The snapshots are stored in the given path of the attribute storage and are numbered sequentially (starts with 1) like snapshot_01, snapshot_02, etc. Furthermore, an additional file last will be saved, which is identical with the last snapshot-image. The module checks the imagetype and stores all these files with the devicename and a correct extension, e.g. <devicename>_snapshot_01.jpg.
If you like a timestamp instead a sequentially number, take a look at the attribute timestamp.
All files are overwritten on every get <name> image command (except: snapshots with a timestamp. So, keep an eye on your diskspace if you use a timestamp extension!).
Example:
attr ipcam3 snapshots 5


Unter dem Reading "last" steht der Name des letzten Images.

LG Willi
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: Ainadilion am 01 Oktober 2022, 11:02:09
Hallo, ich versuche die Steuerungsbefehle für die Ctronics C6F0SgZ3N0PdL2 in Fhem einzubinden.

Über den Browser lassen sich die Befehle aus dem Dokument https://s3.amazonaws.com/fdt-files/FDT+IP+Camera+CGI+%26+RTSP+User+Guide+v1.0.2.pdf (https://s3.amazonaws.com/fdt-files/FDT+IP+Camera+CGI+%26+RTSP+User+Guide+v1.0.2.pdf) ausführen

Typ der Kamerahttp://192.168.178.102/cgi-bin/hi3510/param.cgi?cmd=getdevtype oder Rechtsschwenk192.168.178.102/cgi-bin/hi3510/param.cgi?cmd=ptzctrl&-step=0&-act=right&-speed=20.

Meine Konfiguration:
defmod AstrocamWLAN IPCAM 192.168.178.102:80
attr AstrocamWLAN basicauth {USERNAME}:{PASSWORD}
attr AstrocamWLAN cmd01 cmd=ptzctrl&-step=0&-act=right&-speed=20
attr AstrocamWLAN cmd02 cmd=preset&-act=goto&-number=2&-speed=0
attr AstrocamWLAN credentials /opt/fhem/credentials/ipcams.conf
attr AstrocamWLAN delay 0
attr AstrocamWLAN disable 0
attr AstrocamWLAN icon it_camera
attr AstrocamWLAN path tmpfs/auto.jpg
attr AstrocamWLAN pathCmd cgi-bin/hi3510/param.cgi?
attr AstrocamWLAN room Kamera
attr AstrocamWLAN snapshots 1
attr AstrocamWLAN storage /opt/fhem/www/snap_park
attr AstrocamWLAN verbose 4


Die set-Befehle CMD1 und 2 bleiben in Fhem allerdings ohne Funktion. Kann mir jemand weiterhelfen?

Gruß
Ainadilion
Titel: Antw:Modul IPCAM überarbeitet
Beitrag von: mr_petz am 01 Oktober 2022, 13:49:55
Versuche mal noch mit:

&-usr=admin&-pwd=admin

anzuhängen und vor deinem pathCmd ein / einfügen. Und das basicauth rausnehmen.
usr und pwd durch deine Anmeldedaten ersetzten.
LG
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: Gisbert am 30 Juni 2023, 00:01:33
Hallo zusammen,

ich komme mit meiner Foscam-Kamera und IPCAM nicht so recht weiter.

Meine Definition:
defmod CamWestseite IPCAM 192.168.2.52:88
attr CamWestseite delay 2
attr CamWestseite path /cgi-bin/CGIProxy.fcgi?usr=admin&pwd=admin&cmd=snapPicture2
attr CamWestseite snapshots 5
attr CamWestseite stateFormat {"latest image:<br>".ReadingsTimestamp($name,'last','')}
attr CamWestseite storage /home/ftpuser/Kamera
attr CamWestseite verbose 5

Im Browser bekomme ich ein Bild, wenn ich folgendes aufrufe:
http://192.168.2.52:88/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=admin&cmd=snapPicture2
Im logfile steht:
2023.06.29 23:58:49.578 4: IPCAM (CamWestseite) - set: name:CamWestseite cmd:? list:cmd pan pos raw tilt
Irgendeine Idee?

Viele Grüße
Gisbert

Edit: Den User admin und das Passwort admin habe ich bei mir ersetzt, also nur als Beispiel zu sehen. Mit meinen echten Anmeldedaten funktionert der http-Befehl jedenfalls.
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: Ruggy am 21 Februar 2024, 10:30:15
Hallo,
hat sich an den IPCAM Modul etwas geändert?
Update von FHEM habe ich (nachdem es nicht mehr funktioniert) gemacht.

Bis vor ca. 2 Wochen hat es noch funktioniert, dass ein Bild gemacht wird, wenn es an der Türe klingelt (mit doif).
Jetzt funktioniert es nicht mehr.


Hier das List von dem IPCAM-Gerät:
Internals:
   AUTHORITY  192.168.1.76
   DEF        192.168.1.76
   FUUID      60ce12c9-f33f-f59f-c872-b2f6f6332a461f48
   NAME       Eingang_Kamera
   NR         145
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   READINGS:
     2024-02-06 15:17:35   last            Eingang_Kamera_snapshot.jpg
     2024-02-06 15:17:32   snapshot1       Eingang_Kamera_snapshot_1.jpg
     2024-02-06 15:17:34   snapshot2       Eingang_Kamera_snapshot_2.jpg
     2024-02-06 15:17:35   snapshot3       Eingang_Kamera_snapshot_3.jpg
     2024-02-06 15:17:35   snapshots       0
   helper:
     bm:
       IPCAM::Get:
         cnt        32
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.02. 00:29:19
         max        0.00282001495361328
         tot        0.0123193264007568
         mAr:
           HASH(0x3ee8dd0)
           Eingang_Kamera
           image
       IPCAM::Set:
         cnt        40
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.02. 00:49:08
         max        0.0174579620361328
         tot        0.0219173431396484
         mAr:
           HASH(0x3ee8dd0)
           Eingang_Kamera
           attrTemplate
           ?
Attributes:
   delay      3
   path       cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password="MEIN_PASSWORT"
   room       Alarm,Aussen
   snapshots  3
   storage    /opt/fhem/www/webcam/Eingang_Kamera


Oder liegt es dann eher an etwas anderen (Kamera, Router,...)
Wenn ich nämlich folgendes im Browser eingebe, wird folgender Fehler im Browser angezeigt.
Update der Kamera hatte ich aber auch nicht gemacht. Meiner Meinung nach habe ich insgesamt nichts verändert.

http://192.168.1.76/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password="MEIN_PASSWORT"
[ { "cmd" : "Snap", "code" : 1, "error" : { "detail" : "invalid user", "rspCode" : -27 } } ]
Die Kamera kann ich anpingen.
Mit dem Reolink Windows Konfigurations Programm, kann ich auf die Kamera zugreifen. Die Ports in der Kamera sind auch alle aktiviert.

Vielen Dank
Ruggy
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: Ruggy am 21 Februar 2024, 13:23:13
Fall jemand mal das selbe Problem hat:

Das Problem war, dass ich im Passwort Sonderzeichen (u.a. &) hatte.
Wenn ich die weg lasse, funktioniert es wieder. Werde jetzt noch testen, welche Sonderzeichen trotzdem funktionieren. % ist zumindest dabei.
Titel: Aw: Modul IPCAM überarbeitet
Beitrag von: heikoh81 am 03 März 2024, 17:15:37
Hallo zusammen,

auch ich verwende das Modul IPCAM seit vielen Jahren.

Zitat von: FFHEM am 06 Februar 2022, 12:18:06Jetzt habe ich seit ein paar Wochen (ich vermute durch das Update?) den Effekt, dass die ersten beiden Bilder alt sind und nur das 3. neu ist.
Im Ordner /opt/fhem/IPCam_Haustuer stehen aber die neuen Fotos.
Vermutung: das auslösende Event  IPCam_Haustuer:.*snapshots.* kommt früher als in der Vergangenheit.
Deshalb habe ich nun testweise das Attribut "blocking" gesetzt, und die Bilder in der Mail sind wieder aktuell.

Dieses Problem habe ich bereits auch seit vielen Jahren, und auch jetzt noch nach einem Update auf die aktuellste Version von IPCAM.
Das "Abholen" der Bilder von den IPCams klappt fehlerfrei, es kommt hier zu keinen Timeouts etc.

Was jedoch fehlerhaft ist, sind die Readings!
Es scheint auch, als ob die Anzahl der Snapshots in der "falschen" Reihenfolge erstellt werden.
Ich erstelle immer 5 Fotos, allerdings ist der "neueste" Snapshot z.B. mit _1.jpg oder _2.jpg gekennzeichnet, und das reading von "snapshots" hat nicht den Zeitstempel der letzten Aufnahme, sondern von einem Snapshot zwischendrin.
Ich habe mal einen Screenshot angelegt.
Der neueste Snapshot ist _1.jpg, snapshots wurde schon 9 Sekunden davor aktualisiert und folglich in meiner Mail ein altes Bild angehängt.

Wie kann man dieses Problem lösen?
Im aktuellen Zustand werden jedenfalls in meinem Fall alte Fotos versendet, weil snaptshots eben zu früh aktualisiert wird, und dadurch alte Dateien versendet werden.

Blocking = 1 bringt bei mir leider keine Verbesserung.

Eine leider nur kurzfristige Lösung war das Kopieren der jeweiligen IPCAM in eine neue Definition (und Löschen der alten), allerdings sind die Readings heute wieder ohne mein Zutun in die falsche Reihenfolge geraten, weswegen mich jetzt auch hier ins Forum wende.

Viele Grüße,
Heiko