DoorBird InterCom System - 73_DoorBird.pm

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

Vorheriges Thema - Nächstes Thema

Sailor

Ein herzerfrischendes "Moin" vom hintern-Deich vorweg!

Aufgrund der einheitlichen Namensgebung der Foren hinsichtlich Modulnamen, habe ich einen neuen Thread eröffnet.
Ab jetzt werde ich in diesem Thread die entsprechenden Bugs, Verbesserungsvorschläge und natürlich auch Komplimente entgegennehmen.

In diesem Sinne: Lasset es klingeln bis der Finger wund ist!  8)

Commandref: https://fhem.de/commandref_DE.html#DoorBird

Nachzuinstallierende Pakete sind:

sudo apt-get install sox
sudo apt-get install libsox-fmt-all
sudo apt-get install libsodium-dev
sudo cpan Crypt::Argon2
sudo cpan Alien::Base::ModuleBuild
sudo cpan Alien::Sodium
sudo cpan Crypt::NaCl::Sodium



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

netbus

man sollte vielleicht dazuschreiben, dass die genannten Pakete nur benötigt werden falls man Audiofiles senden oder SIP verwenden will.

Frank_Huber

Moi Sailor,

was nice wäre: Ein Reading mit Pfad/Dateiangabe zum letzten Bild.
Damit könnte man dann auf den push vom Klingelsensor reagieren und direkt das Bild dazu per Telegram senden.
Momentan geht das ja nur über Umweg mit dem IPCam Modul.

Ode rhab eich etwas übersehen?

Sailor

Zitat von: netbus am 22 Mai 2019, 08:56:55
man sollte vielleicht dazuschreiben, dass die genannten Pakete nur benötigt werden falls man Audiofiles senden oder SIP verwenden will.

Das stimmt leider nicht. Sobald das Modul geladen wird, meckert er bei fehlendem Paket gleich rum.
Alles oder nix...

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

Sailor

Moin Frank

Zitat von: Frank_Huber am 22 Mai 2019, 10:00:15
was nice wäre: Ein Reading mit Pfad/Dateiangabe zum letzten Bild.
Damit könnte man dann auf den push vom Klingelsensor reagieren und direkt das Bild dazu per Telegram senden.


Erledigt!
Morgen gibt es zwei neue Readings


doorbell_snapshot
motion_snapshot


Die funktionieren aber nur, wenn man das Attribut "ImageFileDir" auch aktiviert hat.

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

Frank_Huber

perfekt, danke.

Hab noch paar Anmerkungen. :-)

- Es wäre für die Atribut Übersicht schön wenn man erkennen würde welche Doorbird spezifisch sind.
  z.B. anstatt "maxHistory" "DB_max_History", damit wären alle Doorbird Attribute auch zusammen.
- ein "showHistory" wäre schön. Damit würde er z.B. 50 gherunterladen, aber nur 5 z.B. anzeigen.
- Die History Anzeige wäre unter dem Device besser aufgehoben. so dass set/get und die Attribute immer oben sind.
- Live Video geht nur im lokalen Netzwerk. (mit IPCAM Modul auch aus der Ferne)

Fragen hab ich auch. :-)
- läd der History Request immer alle oder nur neue Bilder?
- löscht das Modul "alte" Bilder?
- Open Door hat bei mir keinen Wert hinten dran, kann ich somit nicht auslösen.
  Kann das an den berechtigungen des DB Users liegen? (der darf kein Relais)
  Falls ja wäre es schöner das "Open Door" ganz auszublenden. Es liefert mir jetzt: "DoorBird : DoorBird_Open_Door - Data cannot be parsed by JSON for Open_Door"

Sailor

Hallo Frank

Danke für deine Anregungen.


Zitat von: Frank_Huber am 22 Mai 2019, 15:46:59
- Es wäre für die Atribut Übersicht schön wenn man erkennen würde welche Doorbird spezifisch sind.
  z.B. anstatt "maxHistory" "DB_max_History", damit wären alle Doorbird Attribute auch zusammen.
Das habe ich bei anderen Modulen auch bemängelt. Allerdings schaffen es die dort auch ohne eine alpha-Kennung die Attribute zu sortieren.
Da muss ich mal forschen.

Zitat von: Frank_Huber am 22 Mai 2019, 15:46:59
- ein "showHistory" wäre schön. Damit würde er z.B. 50 gherunterladen, aber nur 5 z.B. anzeigen.
Das ergibt doch keinen Sinn. Warum willst du denn 50 herunterladen wenn nur 5 angezeigt werden?
Das kostet doch nur Zeit und Traffic.

Zitat von: Frank_Huber am 22 Mai 2019, 15:46:59
- Die History Anzeige wäre unter dem Device besser aufgehoben. so dass set/get und die Attribute immer oben sind.
Das ist aber irgendwie so von FHEMWEB vorgegeben. Wenn du das bei einem andern Modul gesehen hast, dann nenn mir mal das Modul.
Dann kann ich das abkupfern.

Zitat von: Frank_Huber am 22 Mai 2019, 15:46:59
- Live Video geht nur im lokalen Netzwerk. (mit IPCAM Modul auch aus der Ferne)
Da verstehe ich den Hintergrund nicht. Wie greifst du denn aus der Ferne zu?

Zitat von: Frank_Huber am 22 Mai 2019, 15:46:59
- läd der History Request immer alle oder nur neue Bilder?
Es lädt immer die letzten aufgenommenen Bilder erneut ein. Also Rückwärts chronologisch.

Zitat von: Frank_Huber am 22 Mai 2019, 15:46:59
- löscht das Modul "alte" Bilder?
Hierbei muss man die Betrachtung trennen. Für die Anzeige der Historie im Modul werden die Bilder im hash hinterlegt und immer wieder überschrieben, so dass die reziprok chronlogische Reihenfolge gewährleistet ist.

Die Bilder im gewählten Bilderverzeichnis werden zwar überschrieben sobald diese erneut eingelesen werden, aber sie werden nicht gelöscht.
Das bedeutet, dass das Bilderverzeichnis irgendwann ganz schön voll wird.

Zitat von: Frank_Huber am 22 Mai 2019, 15:46:59
- Open Door hat bei mir keinen Wert hinten dran, kann ich somit nicht auslösen.
  Kann das an den berechtigungen des DB Users liegen? (der darf kein Relais)
  Falls ja wäre es schöner das "Open Door" ganz auszublenden. Es liefert mir jetzt: "DoorBird : DoorBird_Open_Door - Data cannot be parsed by JSON for Open_Door"
Das stimmt. Mir war nicht bewusst, dass man dem User explizit diese Rechte entziehen kann...
Aber das Reading gar nicht erst zu schreiben, wenn einer der Relais-Address-Werte leer ist, sollte kein Problem darstellen...
Ich trink mal einen Kaffee drüber.

Vorwarnung: Ich werde die Readings für den doorbell_button nochmal verändern müssen, da ich nicht berücksichtigt habe, dass die DoorBirds bis zu 99999999! Klingelknöpfe haben können!  :o
Die werden also ab demnächst eine fortlaufende 3-stellige Nummer haben: "doorbell_button_001".

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

Frank_Huber

Zitat von: Sailor am 22 Mai 2019, 22:17:35
Danke für deine Anregungen.
Bitte, gerne. ;-)

Zitat von: Sailor am 22 Mai 2019, 22:17:35
Das ergibt doch keinen Sinn. Warum willst du denn 50 herunterladen wenn nur 5 angezeigt werden?
Das kostet doch nur Zeit und Traffic.
Warum? Die heruntergeladenen werden im definierten Ordner abgelegt. 50 Historry Bilder anzuzeigen bläht und bremst die Anzeige im Browser.
Wenn ich generell auf z.B. 5 umstelle muss ich öfters die History downloaden.

Zitat von: Sailor am 22 Mai 2019, 22:17:35
Das ist aber irgendwie so von FHEMWEB vorgegeben. Wenn du das bei einem andern Modul gesehen hast, dann nenn mir mal das Modul.
Dann kann ich das abkupfern.
Nen Beispiel hab ich so direkt nicht. Ist nur etwas unübersichtlich wenn die History oben alles überlagert.
Alternativ wäre es auch eine Möglichkeit die History nur per set oder get als PopUp anzuzeigen.

Zitat von: Sailor am 22 Mai 2019, 22:17:35
Da verstehe ich den Hintergrund nicht. Wie greifst du denn aus der Ferne zu?
Dyndns. Aber vergiss den Punkt. Hab mir das gestern Abend nochmal genauer angeschaut. Die Bildanzeige geht da auch über Weblink und dyndns.
Hatte das anderst in Erinnerung. sorry.

Zitat von: Sailor am 22 Mai 2019, 22:17:35
Es lädt immer die letzten aufgenommenen Bilder erneut ein. Also Rückwärts chronologisch.
Hierbei muss man die Betrachtung trennen. Für die Anzeige der Historie im Modul werden die Bilder im hash hinterlegt und immer wieder überschrieben, so dass die reziprok chronlogische Reihenfolge gewährleistet ist.
Die Bilder im gewählten Bilderverzeichnis werden zwar überschrieben sobald diese erneut eingelesen werden, aber sie werden nicht gelöscht.
Das bedeutet, dass das Bilderverzeichnis irgendwann ganz schön voll wird.
gestern getestet und den Bilder-Ordner überprüft. Er läd immer die gesamte History neu herunter. Auch wenn sich nichts geändert hat. Dass nichts gelöscht wird finde ich richtig.
Das aufräumen könnte ein separater Befehl sein oder bleibt dem User manuell überlassen.
Zum history Download, Jetzt wo das Modul bei Events direkt ein Snapshot ablegt ist ja eigentlich kein Download mehr nötig. Ausser für die Anzeige in FHEM.
Damit hätte sich der Punkt oben automatisch erledigt. ;-)

Zitat von: Sailor am 22 Mai 2019, 22:17:35
Das stimmt. Mir war nicht bewusst, dass man dem User explizit diese Rechte entziehen kann...
Aber das Reading gar nicht erst zu schreiben, wenn einer der Relais-Address-Werte leer ist, sollte kein Problem darstellen...
Ich trink mal einen Kaffee drüber.
Super, Danke. Bei mir ist alles was Zutritt betrifft nicht über FHEM steuerbar. Dafür habe ich ein richtiges separates Zutritts-System.

Zitat von: Sailor am 22 Mai 2019, 22:17:35
Vorwarnung: Ich werde die Readings für den doorbell_button nochmal verändern müssen, da ich nicht berücksichtigt habe, dass die DoorBirds bis zu 99999999! Klingelknöpfe haben können!  :o
Die werden also ab demnächst eine fortlaufende 3-stellige Nummer haben: "doorbell_button_001".
Kein Problem, ist alles noch auf dem TestSystem. :)

co010

Hallo,
erstmal Danke an Sailor für die Erweiterungen im Modul, funktioniert alles soweit Perfekt - Top !

mal noch eine Frage !
-ich würde gerne eine mp3-Sprachnachricht an die Doorbird mit dem Sipmodul senden aber ich bekomme es nicht hin.hat jemand sowas zum Laufen gebracht ?
-das Sip ist in Fhem;FritzBox **622 und Doorbird App eingerichtet , die Verbindung zu meinen FritzFon C5 nach Klinfgeln funktioniert auch.
-was nicht geht ist den Doorbird mit dem FritzFon über die **622 zu Erreichen. (Zugang Abgewiesen)

was mache ich da falsch ?

Grüße Robert




Frank_Huber

Hab noch bischen rumgetestet. :-) Was mir dabei auffällt:

Die Snapshots die das Modul in den Readings speichert sind nicht die Snapshots der History. Es ist ein Versatz von geschätzt einer sekunde.

Noch ein vergleich:
#1 Doorbird schickt per http die Ereignise an einen FHEM dummy. Darauf reagiert ein DOIF welches über das IPCam Modul ein Bild holt und per Telegram sendet.
#2 DoorBird Modul und ein DOIF welches den SnapShot vom DoorBird Modul per Telegram sendet.

#1 ist auch ca 1 Sek schneller den Bildern nach zu urteilen.

Bringt mich zu der Frage warum legt das Modul ein separaten SnapShot an wenn es vom DoorBird den Motion SnapShot schon gibt?
Eigentlich müsste doch das reagieren auf den Broadcast des Vogels schneller sein als das andere Konstrukt.


Sailor

Zitat von: Frank_Huber am 23 Mai 2019, 10:46:21
Die Snapshots die das Modul in den Readings speichert sind nicht die Snapshots der History. Es ist ein Versatz von geschätzt einer sekunde.
Bringt mich zu der Frage warum legt das Modul ein separaten SnapShot an wenn es vom DoorBird den Motion SnapShot schon gibt?
Eigentlich müsste doch das reagieren auf den Broadcast des Vogels schneller sein als das andere Konstrukt.

Hmm, da lässt sich noch was machen - Noch ein Kaffee...

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

Sailor

Halo Robert

Zitat von: co010 am 23 Mai 2019, 10:24:08
-was nicht geht ist den Doorbird mit dem FritzFon über die **622 zu Erreichen. (Zugang Abgewiesen)

Hast Du in der DoorBird - App auch die Nummern der erlaubten Anrufer byw. der erlaubten Nutyer hinterlegt?
Was zeigen deine SIP_ - Readings in deinem DoorBird Device an?

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

co010

#12
Hallo Sailor,

hier meine SIP-Readings
SIP_ANC   1
SIP_AUTOCALL_DOORBELL_URL
SIP_AUTOCALL_MOTIONSENSOR_URL
SIP_CALL_TIME_LIMIT    180
SIP_DTMF      1
SIP_ENABLE    1
SIP_INCOMING_CALL_ENABLE    1
SIP_INCOMING_CALL_USER_01   sip:**777@192.168.178.1
SIP_LASTERRORCODE    200
SIP_LASTERRORTEXT    OK
SIP_LIGHT_PASSCODE   2000
SIP_MIC_VOLUME       45
SIP_PRIORITIZE_APP   1
SIP_REGISTER_PASSWORD   systxxxxx
SIP_REGISTER_URL    192.168.178.1
SIP_REGISTER_USER   Siptelefon
SIP_RELAIS_01     1000
SIP_RING_TIME_LIMIT   120
SIP_SPK_VOLUME     55


ZitatHast Du in der DoorBird - App auch die Nummern der erlaubten Anrufer byw. der erlaubten Nutyer hinterlegt?

eigentlich soweit ja.

SIP_INCOMING_CALL_USER_01   sip:**777@192.168.178.1         >- ist eine Rufgruppe mit 3 FritzFons  alle werden auch von der Doorbird gerufen.


Grüße  Robert

Sailor

Hallo Robert

Zitat von: co010 am 23 Mai 2019, 14:23:15
SIP_INCOMING_CALL_USER_01   sip:**777@192.168.178.1         >- ist eine Rufgruppe mit 3 FritzFons  alle werden auch von der Doorbird gerufen.

Ich glaube das kann so nicht klappen.
Eine Gruppe anrufen geht, aber ein individueller Anrufer wird sich am DoorBird nicht mit der Gruppen-ID identifizieren sondern immer mit seiner eigenen.
Im Extremfall musst du dort deine 3 individuellen Telefone hintelegen.

Und wenn das nicht geht zusätlich
FritzBoxSipUsername@192.168.178.1
versuchen

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

Sailor

Moin zusammen

Ich habe soeben eine neue Version des Doorbird Events eingecheckt.
Diese laedt automatisch beim Event (Klinglen, Bewegungssensor) das dazugehörige Bild aus der History runter.

Dadurch kann es zu einer Verzögerung von ca. 2-3 Sekunden kommen, bevor das Reading in fhem nach auslösen des Events auf den neusten Stand gebracht wurde.

Achtung: Neues Attribut - WaitForHistory

Zeit in Sekunden, wie lange auf die History gewartet werden soll, bevor das Klingelevent trotzdem auslöst.
Default ist 7 Sekunden. Dieser gilt aber nur, wenn beide Uhren (auf DoorBird und fhem-Server) synchron laufen.
Es empfielt sich daher auf beiden einen NTP-Server zur Zeitsynchronisierung zu installieren.
Ansonsten muss ausproboiert werden...  :(

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