Modul IPCAM überarbeitet

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

Vorheriges Thema - Nächstes Thema

weini

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)

Falls gewünscht würde ich mir auch zutrauen, das als Patch zu entwickeln, wenn es der Maintainer dann übernimmt.

misux

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.

delMar

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
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

delMar

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)

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
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

delMar

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
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

JudgeDredd

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
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

misux

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!

delMar

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
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

delMar

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
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

Esjay

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.

delMar

Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

misux

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...

MadMax-FHEM

define <name> IPCAM <ip[:port]>

eher:

define <name> IPCAM2 <ip[:port]>

Bzw. je nachdem wie du umbenamst hast ;)

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

frober

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.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)