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 achtern Diek vorweg

So, letztes Update für diese Wintersaison: Größenbegrenzung der gesammelten Image-, Video- und Audiodateien.

Drei neue Attribute:
"ImageFileDirMaxSize"
"AudioFileDirMaxSize"
"VideoFileDirMaxSize"
Standardwert jeweils auf 50MB!


Sollten die Directories alle den identischen Namen haben, dann werden nur die jeweiligen Dateitypen von der Löschung betroffen sein.

So, und jetzt ruft bereits wieder der Garten. Schöne Sommersaison Euch allen!
Für Bugfixes stehe ich noch zur Verfügung. Innovationen müssen auf den November warten.  ;)

Gruß
    Sailor
******************************
Man wird immer besser...

Dirk070

Zitat von: Sailor am 18 Januar 2021, 10:45:28
Hallo Dirk

Eigentlich sollte es nach wie vor funktionieren, da die Erreichbarkeit der SIP - Anschlüsse der DoorBird-Station durch mein Modul ja nicht unterbunden wird.
Du musst nur den DoorBird in deinem Router (Fritz!Box?) richtig als Telephon einbinden und dann von deinem SIP Modula aus ansteuern.

Gruss
    Sailor

Hallo Sailor,

ja, per SIP klappt das alles nach wie vor.

Ich hatte aus diesem Grunde hier einen Wechsel ins Auge gefasst:
"Immer mal wieder hängt sich der DoorBird auf und erst nach einem Reboot ist er wieder per SIP erreichbar."

Schöne Grüße
Dirk

Sailor

Hallo Dirk

Zitat von: Dirk070 am 03 März 2021, 11:34:46
Ich hatte aus diesem Grunde hier einen Wechsel ins Auge gefasst:
"Immer mal wieder hängt sich der DoorBird auf und erst nach einem Reboot ist er wieder per SIP erreichbar."

Hängt sich der DoorBird auf oder das 73_DoorBird.pm - Modul?

Also der Doorbird sollte sich unter keinen Umständen aufhängen. Das sollte sich dann der Kundendienst mal anschauen.

Gruß
    Sailor
******************************
Man wird immer besser...

Floon

Hallo zusammen,

ich stehe leider auch vor dem Problem mit dem installieren von Crypt::NaCl::Sodium. Hab schon alles mögliche probiert wie hier im Forum beschrieben, hat leider alles nichts gebracht.

Hab dann mal ein bisschen gesucht und die gesuchte Datei libsodium.a habe ich gefunden, aber in einem anderem Ordner.
Gesucht wird die Datei ja hier:
Is Alien::Sodium available? Could not locate libsodium.a in /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/auto/share/dist/Alien-Sodium/lib

Gefunden hab ich sie ganz in der Nähe (Aber keine Ahnung welcher Stand das ist):
/usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/auto/share/Alien-Sodium/lib
Vielleicht hilft das ja dem einem oder anderen auch.

Schnell auf ersten Pfad verlinkt, und ein neues install probiert. Dann kommt nicht mehr der Fehler mit der fehlenden Datei, aber dafür folgende Meldungen. Kann damit leider nichts anfangen, kann das wer entschlüsseln was nun fehlt, oder bin ich auf dem Holzweg?


cpan[1]> force install Crypt::NaCl::Sodium
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 09 Mar 2021 19:29:03 GMT
Running install for module 'Crypt::NaCl::Sodium'
Checksum for /root/.cpan/sources/authors/id/A/AJ/AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz ok
Scanning cache /root/.cpan/build for sizes
............................................................................DONE
Configuring A/AJ/AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz with Makefile.PL
AES256GCM is not available
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Crypt::NaCl::Sodium
Writing MYMETA.yml and MYMETA.json
  AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for A/AJ/AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz
cp lib/Crypt/NaCl/Sodium/scalarmult.pod blib/lib/Crypt/NaCl/Sodium/scalarmult.pod
cp lib/Crypt/NaCl/Sodium/pwhash.pod blib/lib/Crypt/NaCl/Sodium/pwhash.pod
cp lib/Crypt/NaCl/Sodium/auth.pod blib/lib/Crypt/NaCl/Sodium/auth.pod
cp lib/Data/BytesLocker.pod blib/lib/Data/BytesLocker.pod
cp lib/Crypt/NaCl/Sodium/hash.pod blib/lib/Crypt/NaCl/Sodium/hash.pod
cp lib/Crypt/NaCl/Sodium/sign.pod blib/lib/Crypt/NaCl/Sodium/sign.pod
cp lib/Crypt/NaCl/Sodium/aead.pod blib/lib/Crypt/NaCl/Sodium/aead.pod
cp lib/Crypt/NaCl/Sodium/shorthash.pod blib/lib/Crypt/NaCl/Sodium/shorthash.pod
cp lib/Crypt/NaCl/Sodium/stream.pod blib/lib/Crypt/NaCl/Sodium/stream.pod
cp lib/Crypt/NaCl/Sodium.pm blib/lib/Crypt/NaCl/Sodium.pm
cp lib/Crypt/NaCl/Sodium/secretbox.pod blib/lib/Crypt/NaCl/Sodium/secretbox.pod
cp lib/Crypt/NaCl/Sodium/generichash.pod blib/lib/Crypt/NaCl/Sodium/generichash.pod
cp lib/Crypt/NaCl/Sodium/box.pod blib/lib/Crypt/NaCl/Sodium/box.pod
cp lib/Crypt/NaCl/Sodium/onetimeauth.pod blib/lib/Crypt/NaCl/Sodium/onetimeauth.pod
Running Mkbootstrap for Sodium ()
chmod 644 "Sodium.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Sodium.bs blib/arch/auto/Crypt/NaCl/Sodium/Sodium.bs 644
"/usr/bin/perl" "/usr/share/perl/5.28/ExtUtils/xsubpp"  -typemap '/usr/share/perl/5.28/ExtUtils/typemap' -typemap '/root/.cpan/build/Crypt-NaCl-Sodium-1.0.8.0-0/typemap'  Sodium.xs > Sodium.xsc
mv Sodium.xsc Sodium.c
arm-linux-gnueabihf-gcc -c  -I.   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"1.0.8.0\" -DXS_VERSION=\"1.0.8.0\" -fPIC "-I/usr/lib/arm-linux-gnueabihf/perl/5.28/CORE"   Sodium.c
Sodium.xs: In function 'XS_Crypt__NaCl__Sodium__stream_AES128CTR_NONCEBYTES':
Sodium.xs:4538:18: error: 'crypto_stream_aes128ctr_NONCEBYTES' undeclared (first use in this function); did you mean 'crypto_stream_salsa208_NONCEBYTES'?
         RETVAL = crypto_stream_aes128ctr_NONCEBYTES;
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  crypto_stream_salsa208_NONCEBYTES
Sodium.xs:4538:18: note: each undeclared identifier is reported only once for each function it appears in
Sodium.xs: In function 'XS_Crypt__NaCl__Sodium__stream_AES128CTR_KEYBYTES':
Sodium.xs:4545:18: error: 'crypto_stream_aes128ctr_KEYBYTES' undeclared (first use in this function); did you mean 'crypto_stream_salsa20_KEYBYTES'?
         RETVAL = crypto_stream_aes128ctr_KEYBYTES;
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  crypto_stream_salsa20_KEYBYTES
Sodium.xs: In function 'XS_Crypt__NaCl__Sodium__stream_keygen':
Sodium.xs:4573:28: error: 'crypto_stream_aes128ctr_KEYBYTES' undeclared (first use in this function); did you mean 'crypto_stream_salsa20_KEYBYTES'?
                 key_size = crypto_stream_aes128ctr_KEYBYTES;
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            crypto_stream_salsa20_KEYBYTES
Sodium.xs: In function 'XS_Crypt__NaCl__Sodium__stream_nonce':
Sodium.xs:4608:30: error: 'crypto_stream_aes128ctr_NONCEBYTES' undeclared (first use in this function); did you mean 'crypto_stream_salsa208_NONCEBYTES'?
                 nonce_size = crypto_stream_aes128ctr_NONCEBYTES;
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              crypto_stream_salsa208_NONCEBYTES
Sodium.xs: In function 'XS_Crypt__NaCl__Sodium__stream_bytes':
Sodium.xs:4690:30: error: 'crypto_stream_aes128ctr_NONCEBYTES' undeclared (first use in this function); did you mean 'crypto_stream_salsa208_NONCEBYTES'?
                 nonce_size = crypto_stream_aes128ctr_NONCEBYTES;
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              crypto_stream_salsa208_NONCEBYTES
Sodium.xs:4691:28: error: 'crypto_stream_aes128ctr_KEYBYTES' undeclared (first use in this function); did you mean 'crypto_stream_salsa20_KEYBYTES'?
                 key_size = crypto_stream_aes128ctr_KEYBYTES;
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            crypto_stream_salsa20_KEYBYTES
Sodium.xs:4692:35: error: 'crypto_stream_aes128ctr' undeclared (first use in this function); did you mean 'crypto_stream_salsa208_xor'?
                 bytes_function = &crypto_stream_aes128ctr;
                                   ^~~~~~~~~~~~~~~~~~~~~~~
                                   crypto_stream_salsa208_xor
Sodium.xs:4702:17: warning: 'crypto_stream_salsa208' is deprecated [-Wdeprecated-declarations]
                 bytes_function = &crypto_stream_salsa208;
                 ^~~~~~~~~~~~~~
In file included from /usr/include/sodium.h:66,
                 from Sodium.xs:11:
/usr/include/sodium/crypto_stream_salsa208.h:38:5: note: declared here
int crypto_stream_salsa208(unsigned char *c, unsigned long long clen,
     ^~~~~~~~~~~~~~~~~~~~~~
Sodium.xs: In function 'XS_Crypt__NaCl__Sodium__stream_xor':
Sodium.xs:4780:30: error: 'crypto_stream_aes128ctr_NONCEBYTES' undeclared (first use in this function); did you mean 'crypto_stream_salsa208_NONCEBYTES'?
                 nonce_size = crypto_stream_aes128ctr_NONCEBYTES;
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              crypto_stream_salsa208_NONCEBYTES
Sodium.xs:4781:28: error: 'crypto_stream_aes128ctr_KEYBYTES' undeclared (first use in this function); did you mean 'crypto_stream_salsa20_KEYBYTES'?
                 key_size = crypto_stream_aes128ctr_KEYBYTES;
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            crypto_stream_salsa20_KEYBYTES
Sodium.xs:4782:33: error: 'crypto_stream_aes128ctr_xor' undeclared (first use in this function); did you mean 'crypto_stream_salsa208_xor'?
                 xor_function = &crypto_stream_aes128ctr_xor;
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 crypto_stream_salsa208_xor
Sodium.xs:4792:17: warning: 'crypto_stream_salsa208_xor' is deprecated [-Wdeprecated-declarations]
                 xor_function = &crypto_stream_salsa208_xor;
                 ^~~~~~~~~~~~
In file included from /usr/include/sodium.h:66,
                 from Sodium.xs:11:
/usr/include/sodium/crypto_stream_salsa208.h:43:5: note: declared here
int crypto_stream_salsa208_xor(unsigned char *c, const unsigned char *m,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:366: Sodium.o] Error 1
  AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz
  /usr/bin/make -- NOT OK
Failed during this command:
AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz        : make NO



Gruß Florian

Sailor

Hallo Florian

Zitat von: Floon am 10 März 2021, 21:12:44
ich stehe leider auch vor dem Problem mit dem installieren von Crypt::NaCl::Sodium. Hab schon alles mögliche probiert wie hier im Forum beschrieben, hat leider alles nichts gebracht.

Hast Du wirklich diese Anleitung befolgt?

https://wiki.fhem.de/wiki/DoorBird#Vorbereitungen_in_Linux

Gruß
    Sailor
******************************
Man wird immer besser...

Dirk070

Zitat von: Sailor am 04 März 2021, 14:37:15
Hallo Dirk

Hängt sich der DoorBird auf oder das 73_DoorBird.pm - Modul?

Also der Doorbird sollte sich unter keinen Umständen aufhängen. Das sollte sich dann der Kundendienst mal anschauen.

Gruß
    Sailor

Hallo Sailor,

Danke für Deinen Hinweis.

Das Problem bestand seit Monaten. Dabei hing sich der DoorBird tatsächlich auf, kein Bild mehr in der App.
Das Gerät wurde wegen der Eintrübung des Bildes (Linse) vom Hersteller ausgetauscht.
Auch mit dem neuen Gerät kamen manchmal die Ansagen via FHEM (SIP) nicht, daher hatte ich weiterhin das "Abschmieren" des DoorBird angenommen.

Auf Deinen Hinweis hin habe ich dies nun erneut geprüft und siehe da, der DoorBird lief sauber.
Im SIP-Modul hatte ich im Attribut sip_registrar den Eintrag fritz.box und damit gab es einen Fehlercode 113.
Aber eben nur manchmal und nicht zu reproduzieren. Also habe ich im sip_registrar nun die IP hinterlegt.
Damit klappte es dann auf Anhieb. Offenbar hat teils die DNS-Auflösung funktioniert und teils nicht.

Lange Rede: mit dieser Einstellung klappt es aktuell, nun muss dies noch über einige Wochen stabil bleiben.
Nochmals Danke für Deinen Hinweis.

Viele Grüße
Dirk

Floon

#351
Hallo Sailor,

korrekt. Zeile für Zeile so durchgeführt (mehrmals). Zuvor sogar noch ein Distri Upgrade von Jessie zu Buster gemacht, damit die Perl Version zusammen gepasst hat (nach den ersten fehlgeschlagenen Versuchen)

Nur beim Unlink weiß ich nicht was wirklich gemeint ist
Copy all the unlink entries shown in the screen above at once and paste (execute) them in the command line below
Welcher Screen? Vermutlich von dem make uninstall davor, aber da macht er nichts da es /root/.cpan/build/Alien-Sodium-2.000-1 nicht gibt.


Gruß Florian



Floon

Hmm, faszinierend. Ich weiß nicht was heute anders ist als die letzten Male, aber jetzt lief es durch !!! Vielleicht war ich nach den vielen Versuchen und dem langwierigem Distri Update irgendwann schon blind und unaufmerksam ;)

Danke für das tolle Modul!

Dirk070

Zitat von: Dirk070 am 11 März 2021, 14:41:27
Hallo Sailor,

Danke für Deinen Hinweis.

Das Problem bestand seit Monaten. Dabei hing sich der DoorBird tatsächlich auf, kein Bild mehr in der App.
Das Gerät wurde wegen der Eintrübung des Bildes (Linse) vom Hersteller ausgetauscht.
Auch mit dem neuen Gerät kamen manchmal die Ansagen via FHEM (SIP) nicht, daher hatte ich weiterhin das "Abschmieren" des DoorBird angenommen.

Auf Deinen Hinweis hin habe ich dies nun erneut geprüft und siehe da, der DoorBird lief sauber.
Im SIP-Modul hatte ich im Attribut sip_registrar den Eintrag fritz.box und damit gab es einen Fehlercode 113.
Aber eben nur manchmal und nicht zu reproduzieren. Also habe ich im sip_registrar nun die IP hinterlegt.
Damit klappte es dann auf Anhieb. Offenbar hat teils die DNS-Auflösung funktioniert und teils nicht.

Lange Rede: mit dieser Einstellung klappt es aktuell, nun muss dies noch über einige Wochen stabil bleiben.
Nochmals Danke für Deinen Hinweis.

Viele Grüße
Dirk

So ganz war es dann doch noch nicht. Heute lieferte der SIP-Anruf im SIP-Modul ein call_state cancelled und eine call-time 0.
Ein set reset auf das SIP-Device brachte keine Besserung, erst ein Neustart des DoorBird.

Dirk070

Zitat von: Sailor am 26 Februar 2021, 15:21:18
Ein herzerfrischendes Moin vom achtern Diek vorweg

So, letztes Update für diese Wintersaison: Größenbegrenzung der gesammelten Image-, Video- und Audiodateien.

Drei neue Attribute:
"ImageFileDirMaxSize"
"AudioFileDirMaxSize"
"VideoFileDirMaxSize"
Standardwert jeweils auf 50MB!


Sollten die Directories alle den identischen Namen haben, dann werden nur die jeweiligen Dateitypen von der Löschung betroffen sein.

So, und jetzt ruft bereits wieder der Garten. Schöne Sommersaison Euch allen!
Für Bugfixes stehe ich noch zur Verfügung. Innovationen müssen auf den November warten.  ;)

Gruß
    Sailor

Hallo Sailor,

ich hatte das Attribut ImageFileDir auf 0, nach dem Update schmiert FHEM ab (startet nicht).
Nach längerem Suchen habe ein Backup eingespielt, das Attribut gelöscht und die Config in die betroffene FHEM-Instanz (Docker) kopiert. Damit startet FHEM dann.

Fehlermeldung war:
DoorBird_Image_Request -  open file error         : No such file or directory - /opt/fhem/0/20210321-155125_snapshot.jpg

Die 0 wird also als Verzeichnis interpretiert.

Schöne Grüße
Dirk

Sailor

Hi Dirk

Zitat von: Dirk070 am 21 März 2021, 18:49:56
Hallo Sailor,

ich hatte das Attribut ImageFileDir auf 0, nach dem Update schmiert FHEM ab (startet nicht).
Nach längerem Suchen habe ein Backup eingespielt, das Attribut gelöscht und die Config in die betroffene FHEM-Instanz (Docker) kopiert. Damit startet FHEM dann.
Fehlermeldung war:
DoorBird_Image_Request -  open file error         : No such file or directory - /opt/fhem/0/20210321-155125_snapshot.jpg

Die 0 wird also als Verzeichnis interpretiert.

Sorry, das war ein copy-and-Paste Fehler in der deutschen CommandRef. Die Englische war korrekt.
Es muss natürlich "" also -nix rein- heißen.

Kommt mit dem nächsten Update.

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

Dirk070

#356
Zitat von: Sailor am 22 März 2021, 15:22:32
Hi Dirk

Sorry, das war ein copy-and-Paste Fehler in der deutschen CommandRef. Die Englische war korrekt.
Es muss natürlich "" also -nix rein- heißen.

Kommt mit dem nächsten Update.

Danke
    Sailor

Prima, Danke.
Mir ist noch was aufgefallen, setze ich das Attribut "VideoDurationMotion" auf "0", werden trotzdem weiter Videofiles "motionsensor" erzeugt. Das dürfte laut Doku aber doch nicht sein, richtig?
Zudem werden die Videos (motionsensor) in der Dauer aufgenommen, die in VideoDurationDoorbell hinterlegt ist.

Aktuelle Einstellungen/Attribute:
ImageFileDir  /photo/DoorBird
ImageFileDirMaxSize  20
VideoDurationDoorbell  120
VideoDurationMotion  10
VideoFileDir  /video/DoorBird
VideoFileDirMaxSize  50
VideoFileFormat  mpeg


Das Foto Verzeichnis ist aktuell 28MB groß, dürfte aber doch nur 20MB haben.
Videos werden nur vom Motionsensor erstellt, nicht beim Doorbell.
Die Videos haben eine Laufzeit von 110-113 Sekunden, dürften aber nur 10 Sekunden haben.
Das Videoverzeichnis bleibt in der Größe unter 50MB, das klappt also.

Schöne Grüße
Dirk

Ollifant

Hallo Sailor,

vielen Dank für deine Arbeit an diesem Modul.

Die Funktionen lassen sich innerhalb von Fhem bei mir weitestgehend nutzen, Bilder, Historie, Türrelais funktioniert einwandfrei.
Allerdings bekomme ich in FHEM kein Video angezeigt.

Ich nutze FHEM mit SSL, so dass die Seite über einen HTTPS Link aufgerufen wird. Im Browser (Chrome, aktuelle Version) bekomme ich nur einen Platzhalter angezeigt, wenn ich Live Video starte und in der Browser Console interpretiere ich die Fehlermeldung als Hinweis, dass der HTTP Stream nicht in die HTTPS Seite eingebunden werden kann.

Ist dir das Verhalten bekannt und hast du eine Idee wie ich es trotzdem hinbekomme, dass Live Video angezeigt wird?

Danke schon mal vorab und viele Grüße
Michael


Sailor

Hallo Michael

Zitat von: Ollifant am 23 April 2021, 15:20:03
Allerdings bekomme ich in FHEM kein Video angezeigt.

Ich nutze FHEM mit SSL, so dass die Seite über einen HTTPS Link aufgerufen wird. Im Browser (Chrome, aktuelle Version) bekomme ich nur einen Platzhalter angezeigt, wenn ich Live Video starte und in der Browser Console interpretiere ich die Fehlermeldung als Hinweis, dass der HTTP Stream nicht in die HTTPS Seite eingebunden werden kann.

Ist dir das Verhalten bekannt und hast du eine Idee wie ich es trotzdem hinbekomme, dass Live Video angezeigt wird?

Versuche mal andere Browser... Ich habe zur Zeit auch Probleme mit der Anzeige der LiveStreams

Unter Firefox direkt im fhem - Modul: Keine Probleme
Unter Firefox mit fhem ftui3 im "image" geht es manchmal und manchmal auch wieder nicht...

Unter Firefox  den Link aus dem DoorBird Reading ".VideoURL" (Verstecktes Reading - auf den Punkt am Anfang achten!) direkt in die Adresszeile: Keine Probleme

Es ist zur Zeit verhext und liegt nicht an dem DoorBird Modul.
Das muss irgendwie mit den verschiedenen Browsern zusammenhängen...

Gruß
    Sailor
******************************
Man wird immer besser...

Ollifant

Hi Sailor,

ich habe schon vermutet, dass es eher am Browser liegt und werde mal unterschiedliche Browser testen.
Wie kann ich denn das versteckte Reading aufrufen bzw. anzeigen lassen?

Viele Grüße
Michael