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

Offline Heatseeker

  • Jr. Member
  • **
  • Beiträge: 69
Antw:Modul IPCAM überarbeitet
« Antwort #300 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
« Letzte Änderung: 22 Dezember 2020, 15:39:46 von Heatseeker »

Offline delMar

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
Antw:Modul IPCAM überarbeitet
« Antwort #301 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



« Letzte Änderung: 24 Februar 2021, 23:07:00 von 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.

Offline ph1959de

  • Hero Member
  • *****
  • Beiträge: 1048
Antw:Modul IPCAM überarbeitet
« Antwort #302 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
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"
[Fhem auf BeagleBone Black (Debian) | FS20, FHT (CUL) | HomeMatic (HMLAN+HMUART) | PCA301 (JeeLink)...]

Offline delMar

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
Antw:Modul IPCAM überarbeitet
« Antwort #303 am: 24 Februar 2021, 13:55:10 »
Hallo Peter

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

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.

Offline delMar

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
Antw:Modul IPCAM überarbeitet
« Antwort #304 am: 24 Februar 2021, 23:14:36 »
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
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.

Offline delMar

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
Antw:Modul IPCAM überarbeitet
« Antwort #305 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
  • das Setzen von Attributen aus Readings anderer Devices (zB den path aus dem Reading eines ZoneMinder Monitors, wo sich der Auth-Hash alle zwei Stunden ändert).
  • Kommandos an die Kameras per POST absenden

Fehlerberichte und Verbesserungsvorschläge sind herzlich 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.
Gefällt mir Gefällt mir x 2 Liste anzeigen

Online Sany

  • Full Member
  • ***
  • Beiträge: 179
Antw:Modul IPCAM überarbeitet
« Antwort #306 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
fhem auf Zotac ZBox nano, Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly,   ....

Offline delMar

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
Antw:Modul IPCAM überarbeitet
« Antwort #307 am: 09 März 2021, 12:13:47 »
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
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.

Offline delMar

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
Antw:Modul IPCAM überarbeitet
« Antwort #308 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)

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

Online Sany

  • Full Member
  • ***
  • Beiträge: 179
Antw:Modul IPCAM überarbeitet
« Antwort #309 am: 10 März 2021, 09:34:52 »
Hallo Martin,

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


Zitat
Beim "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:

Zitat
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)
würde keiner Fehler machen gäbs keine updates und das Forum könnte man auch stillegen  ;) ;)

Viele Grüße

Sany
« Letzte Änderung: 10 März 2021, 18:09:39 von Sany »
fhem auf Zotac ZBox nano, Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly,   ....
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline diepe

  • New Member
  • *
  • Beiträge: 25
Antw:Modul IPCAM überarbeitet
« Antwort #310 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

Offline Jamo

  • Hero Member
  • *****
  • Beiträge: 1110
Antw:Modul IPCAM überarbeitet
« Antwort #311 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.
« Letzte Änderung: 04 April 2021, 10:59:28 von Jamo »
NUC 8i5BEK (Deb Buster), Homematic (UART/HM USB), Homematic-IP (Debmatic), HUEBridge, deCONZ/Conbee II, Sonos, FB, Alexa (fhem-lazy), owntracks-livetracking, fhemApp Frontend für Mobile ...
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline delMar

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
Antw:Modul IPCAM überarbeitet
« Antwort #312 am: 04 April 2021, 11:08:27 »
Hallo Dieter,

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?

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.

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.

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

Offline SimonFoag

  • New Member
  • *
  • Beiträge: 9
Antw:Modul IPCAM überarbeitet
« Antwort #313 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

Offline delMar

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
Antw:Modul IPCAM überarbeitet
« Antwort #314 am: 07 April 2021, 15:23:27 »
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
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.