DoorBird InterCom System - 73_DoorBird.pm

Begonnen von Sailor, 21 Mai 2019, 20:05:38

Vorheriges Thema - Nächstes Thema

enrikb

Moin,

ist das hier der richtige Thread, um Fehlermeldungen zu dem Modul abzuladen? Falls nicht, bitte Bescheid sagen.

Ich habe mich die Tage etwas intensiver damit beschäftigt, und mir sind folgende Dinge aufgefallen (rev 20995):

- das 'init_done' Pattern ist in _Define nicht umgesetzt. Daher kann man u.a. den UDP Port nicht umkonfigurieren. Auch wenn man das Attribut UdpPort auf 35344 setzt, wird weiterhin 6524 verwendet, da die Attribute in _Define noch nicht gelesen wurden (außer evtl. bei rereadcfg...). Lokal konnte ich das fixen, indem ich eben das Pattern aus https://wiki.fhem.de/wiki/DevelopmentModuleIntro übernommen habe.

- rereadcfg schlägt bei mir fehl, da in _Undefine WebIo_Close() aufgerufen wird. Ist wohl ein Überbleibsel. Lokal konnte ich das fixen, indem ich stattdessen


       delete %selectlist{$name};
       $hash->{CD}->close();
       delete $hash->{CD};
       delete $hash->{FD};


aufrufe. Keine Ahnung, ob das ganz richtig ist ;-)

- an manchen Stellen wird ImageFileDir mit "0" verglichen, an anderen Stellen mit "", um die Funktion Bild abspeichern zu unterbinden.

Aber alles in allem funktioniert es ganz gut.

Wunschliste:

Es wäre schön wenn man einen oder mehrere zusätzliche Benutzer/Passwörter für die UDP Entschlüsselung konfigurieren könnte. Grund: wenn man mehere Klingeltasten hat, braucht man pro Taste einen Benutzer, da man in der DoorBird-Konfig-App eben jedem Benutzer nur eine Taste zuordnen kann. Im Moment habe ich dafür zwei Instanzen des Moduls für denselben DoorBird konfiguriert. Ist irgendwie overkill.

Die 'forged' Pakete (irgendwo weiter oben im Thread erwähnt) kommen übrigens auch daher, dass - sofern vorhanden - an mehrere Benutzer mit verschiedenen Passwörten per UDP signalisiert wird. Die können dann natürlich nicht entschlüsselt werden. Das ist kein Fehler, sondern so designed.

Sailor

Hallo enrik

Zitat von: enrikb am 17 Februar 2020, 22:01:43
Moin, ist das hier der richtige Thread, um Fehlermeldungen zu dem Modul abzuladen? Falls nicht, bitte Bescheid sagen.
Ich habe mich die Tage etwas intensiver damit beschäftigt, und mir sind folgende Dinge aufgefallen (rev 20995):
Hier bist du Goldrichtig!  ;)
Dafuer, dass du ein "NewMember" mit erst 27 Eintraegen bist, hast du aber schon einen sehr tiefen Einblick in die Modulstruktur!

Zitat von: enrikb am 17 Februar 2020, 22:01:43
Ich habe mich die Tage etwas intensiver damit beschäftigt, und mir sind folgende Dinge aufgefallen (rev 20995):

- das 'init_done' Pattern ist in _Define nicht umgesetzt. Daher kann man u.a. den UDP Port nicht umkonfigurieren. Auch wenn man das Attribut UdpPort auf 35344 setzt, wird weiterhin 6524 verwendet, da die Attribute in _Define noch nicht gelesen wurden (außer evtl. bei rereadcfg...). Lokal konnte ich das fixen, indem ich eben das Pattern aus https://wiki.fhem.de/wiki/DevelopmentModuleIntro übernommen habe.
Gebe mir bitte mal dein Pattern zum Vergleich.

Zitat von: enrikb am 17 Februar 2020, 22:01:43
- rereadcfg schlägt bei mir fehl, da in _Undefine WebIo_Close() aufgerufen wird. Ist wohl ein Überbleibsel. Lokal konnte ich das fixen, indem ich stattdessen


       delete %selectlist{$name};
       $hash->{CD}->close();
       delete $hash->{CD};
       delete $hash->{FD};


aufrufe. Keine Ahnung, ob das ganz richtig ist ;-)
Viele Wege fuehren nach Rom... Wenn du das bei dir erfolgreich getestet hast, dann teste ich das bei mir ebenfalls.
Sollte das klappen, baue ich das in das Modul ein.

Zitat von: enrikb am 17 Februar 2020, 22:01:43
- an manchen Stellen wird ImageFileDir mit "0" verglichen, an anderen Stellen mit "", um die Funktion Bild abspeichern zu unterbinden.
Das ist richtig. Wenn man das Bild abspeichern "sauber" deaktivieren will, dann legt man das Attribut mit 0 an.

Zitat von: enrikb am 17 Februar 2020, 22:01:43
Aber alles in allem funktioniert es ganz gut.
Na das freut doch! Funktioniert auch das Audio-abspielen?

Zitat von: enrikb am 17 Februar 2020, 22:01:43
Wunschliste:
Es wäre schön wenn man einen oder mehrere zusätzliche Benutzer/Passwörter für die UDP Entschlüsselung konfigurieren könnte. Grund: wenn man mehere Klingeltasten hat, braucht man pro Taste einen Benutzer, da man in der DoorBird-Konfig-App eben jedem Benutzer nur eine Taste zuordnen kann. Im Moment habe ich dafür zwei Instanzen des Moduls für denselben DoorBird konfiguriert. Ist irgendwie overkill.
Im Augenblick ist das genau so gedacht. Aber ich habe selbst keinen MultiUser-DoorBird.
Es waere daher sehr interessant deine Resultate zu bekommen.
Zum Beispiel: Ist in deinen unterschiedlichen Instanzen das Reading "doorbell_button_xxx" entsprechend unterschiedlich?

Zitat von: enrikb am 17 Februar 2020, 22:01:43
Die 'forged' Pakete (irgendwo weiter oben im Thread erwähnt) kommen übrigens auch daher, dass - sofern vorhanden - an mehrere Benutzer mit verschiedenen Passwörten per UDP signalisiert wird. Die können dann natürlich nicht entschlüsselt werden. Das ist kein Fehler, sondern so designed.
Ich habe keinen Multi-User DoorBird, aber vielleicht verschickt er das fuer den Admin User. Dann muesste bei dir die "forged" - Meldung sogar n+1 mal auftauchen.

Gruss
    Sailor
******************************
Man wird immer besser...

steffen83

Zitat von: Sailor am 20 Februar 2020, 09:07:12
Ich habe keinen Multi-User DoorBird, aber vielleicht verschickt er das fuer den Admin User. Dann muesste bei dir die "forged" - Meldung sogar n+1 mal auftauchen.

Also wenn man über das Modul selbst User mit einem BESTIMMTEN passwort anlegen könnte, wäre das schon megal cool. Ich möchte das ja gar nicht zu groß machen...
Ich habe für jeden Enduser (Frau, Kinder, FHEM) einen User angelegt.
Wenn man seinen Vogel auf Werkseinstellungen gesetzt hat, hat man die Möglichkeit, die "Pro" Version wieder für einen Monat zu testen. Wer dann pfiffig ist, würde den Vogel jeden Monat zurücksetzen, die gleichen Passwörter vergeben und hat somit keinen Stress mit dem Enduser :-)

Gruß
Steffen
Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

enrikb

Die Idee mit identischen Passwörtern (die ersten 5 Zeichen sollten reichen) hatte ich auch schon.
Wusste nicht, dass es eine Pro-Version gibt und dass man dort die Passwörter selbst vergeben kann. Das würde helfen, sehe ich mir mal an.

steffen83

Unter pro Version verstehe ich die Funktion als Abo wo man Videos speichern und sehen kann.

Man kann keine Passwörter händisch vergeben nur vom Vogel aus selbst generierte.

Gesendet von meinem MI 8 mit Tapatalk

Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

enrikb

Ach so, das hatte ich dann falsch verstanden. Schade!

Frank_Huber

Sailor,

das Wiki klingt nach "bitte direkt in der fhem.cfg editieren"
ZitatAktivierung und Definition in FHEM
In der fhem.cfg das Modul definieren mit:

Das sollte evtl anders formuliert werden.
ansonsten guter Wiki Artikel. :-)

Sailor

Hallo Frank

Zitat von: Frank_Huber am 20 Februar 2020, 16:42:28
das Wiki klingt nach "bitte direkt in der fhem.cfg editieren"
Das sollte evtl anders formuliert werden.
ansonsten guter Wiki Artikel. :-)

Danke fuer die Blumen.

Habs geaendert.

Sailor
******************************
Man wird immer besser...

Frank_Huber

Klingt gleich viel besser.
Ist übrigens im Folgesatz mit den Attributen genauso "falsch" [emoji6]

Gesendet von meinem Doogee S60 mit Tapatalk


enrikb

Zitat von: Sailor am 20 Februar 2020, 09:07:12
Gebe mir bitte mal dein Pattern zum Vergleich.

Guck mal hier: https://github.com/enrikb/fhem-mirror/pull/1

Zitat von: Sailor am 20 Februar 2020, 09:07:12
Viele Wege fuehren nach Rom... Wenn du das bei dir erfolgreich getestet hast, dann teste ich das bei mir ebenfalls.

Ist natürlich noch ein Tippfehler drin. Korrektur ist ebenfalls in obigem PR enthalten.

Gruß,
Enrik

Sailor

Hi Frank

Zitat von: Frank_Huber am 20 Februar 2020, 22:02:18
Klingt gleich viel besser.
Ist übrigens im Folgesatz mit den Attributen genauso "falsch" [emoji6]

::)
Auch geändert.

Gruss
   Sailor
******************************
Man wird immer besser...

netbus

Hallo,
welches Attribut muss man setzten damit keine Motion und Doorbell Images mehr abgelegt werden?

Sailor

Hi netbus

Zitat von: netbus am 21 Februar 2020, 11:11:30
Hallo,
welches Attribut muss man setzten damit keine Motion und Doorbell Images mehr abgelegt werden?

ImageFileDir = 0

Gruss
    Sailor
******************************
Man wird immer besser...

Sailor

Hallo enrik

Zitat von: enrikb am 20 Februar 2020, 22:50:41
Guck mal hier: https://github.com/enrikb/fhem-mirror/pull/1
Ist natürlich noch ein Tippfehler drin. Korrektur ist ebenfalls in obigem PR enthalten.

Danke fuer deine Beitraege.

Den Teil im DoorBird_Undefine habe ich implementieren koennen und es gibt beim erneuten Starten zumindest keine erkennbaren Blockaden.

Wenn ich den Teil um das "DoorBird_notify" und "$init_done" implementiere, laesst sich fhem nicht mehr starten.
Da muss noch der Wurm drin sein den ich noch genauer erforschen muss.

Gruss
   Sailor
******************************
Man wird immer besser...

enrikb

Moin,

Zitat von: Sailor am 21 Februar 2020, 12:48:35
ImageFileDir = 0

In DoorBird_Image_Request() wird nicht gespeichert, wenn ImageFileDir eq ""; an den anderen Stellen wird tatsächlich mit "0" verglichen.

In der deutschen und englischen Doku wird es widersprüchlich erklärt, deutsch "0", englisch "".

Viele Grüße,
Enrik