DoorBird InterCom System - 73_DoorBird.pm

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

Vorheriges Thema - Nächstes Thema

jbadlat

Ja, es lag an Jessie Version. Probiere es gerade mit "Stretch".

Scheint zu funktionieren ;-)

JB
FHEM 5.8, FB6490 (Cable), Raspi 2, Raspi 3, Homematic, MQTT, ESP8266

Thyraz

#406
Hat das System, dass du auf veraltete Versionen setzt?

Dass du statt mit Stable nun schon bei einer Neuinstallation mit der vorvorletzten Version startest?  ;)
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

snowsquirrel

Hallo, ich habe mal wieder ein neues Problem mit Alien-Sodium. Ich habe meinen Server von Ubuntu 20.04 auf 22.04 aktualisiert. Davor lief Doorbird seit mehreren Jahren ohne Probleme. Mit nach dem update musste ich die Perl-Bibliotheken neu installieren, natürlich gemäß Wiki.

Der Schritt

install AJGB/Alien-Sodium-1.0.8.0.tar.gz

bricht mit
crypto_generichash/blake2/ref/blake2.h:118:5: error: size of array element is not a multiple of its alignment
ab, Alien-Sodium wird also nicht fertig gebaut.

Eine Google-Suche führt auf diese Seite: https://github.com/matrix-org/sytest/issues/1114

Es scheint wohl ein bekanntes Problem zu sein, dass Alien-Sodium mit aktuellen GCC-Versionen ein Problem hat (in meinem Fall GCC 11.3, das bei Ubuntu 22.04 Standard ist). Außerdem verstehe ich diesen Beitrag so, dass Crypt::NaCl::Sodium nicht mehr gepflegt wird, also eine Aktualisierung für die neueren GCC-Versionen wohl nicht stattfindet...

Ich bin an dieser Stelle mit meinem Latein am Ende. Kann ich einen alten GCC parallel zum aktuellen installieren um Alien-Sodium zu kompilieren? Wie sage ich Perl, dass es den alten GCC verwenden soll? Oder was kann ich sonst noch versuchen?

snowsquirrel

Hallo, ich habe jetzt eine "Lösung" für mein Problem gefunden. Ich habe diese eine Bibliothek mit gcc-9 compiliert und es scheint zu funktionieren.

Vorgehen:
Laut dem makefile von Alien-Sodium wird zum kompilieren der Befehl "x86_64-linux-gnu-gcc" verwendet. Dieser Befehl ist bei mir (Ubuntu 22.04) ein link auf "gcc-11". Also habe ich diesen link einfach auf gcc-9 umgehängt:

cd /usr/bin
rm x86_64-linux-gnu-gcc
ln -s x86_64-linux-gnu-gcc-9 x86_64-linux-gnu-gcc


An dieser Stelle wieder mit dem der Anleitung aus dem Wiki https://wiki.fhem.de/wiki/DoorBird weitermachen:

sudo cpan
install AJGB/Alien-Sodium-1.0.8.0.tar.gz
exit


Danach wieder den link auf gcc-11 zurückhängen:

cd /usr/bin
rm x86_64-linux-gnu-gcc
ln -s gcc-11 x86_64-linux-gnu-gcc


Es scheint bei mir auf jeden Fall im Moment zu funktionieren. Mir kommt dieses Vorgehen irgendwie wie eine Holzhacker-Methode vor - vielleicht hat jemand einen Vorschlag, wie man das eleganter macht? Vermutlich kann man auch einfach Alien-Sodium-1.0.8.0.tar.gz entpacken, im Makefile direkt  x86_64-linux-gnu-gcc-9 angeben, neu verpacken und installieren... Habe ich aber nicht ausporbiert.

Sailor

Hallo snowsquirrel

Zitat von: snowsquirrel am 28 November 2022, 12:07:08
Hallo, ich habe jetzt eine "Lösung" für mein Problem gefunden. Ich habe diese eine Bibliothek mit gcc-9 compiliert und es scheint zu funktionieren.

Vorgehen:
Laut dem makefile von Alien-Sodium wird zum kompilieren der Befehl "x86_64-linux-gnu-gcc" verwendet. Dieser Befehl ist bei mir (Ubuntu 22.04) ein link auf "gcc-11". Also habe ich diesen link einfach auf gcc-9 umgehängt:

cd /usr/bin
rm x86_64-linux-gnu-gcc
ln -s x86_64-linux-gnu-gcc-9 x86_64-linux-gnu-gcc


An dieser Stelle wieder mit dem der Anleitung aus dem Wiki https://wiki.fhem.de/wiki/DoorBird weitermachen:

sudo cpan
install AJGB/Alien-Sodium-1.0.8.0.tar.gz
exit


Danach wieder den link auf gcc-11 zurückhängen:

cd /usr/bin
rm x86_64-linux-gnu-gcc
ln -s gcc-11 x86_64-linux-gnu-gcc


Es scheint bei mir auf jeden Fall im Moment zu funktionieren. Mir kommt dieses Vorgehen irgendwie wie eine Holzhacker-Methode vor - vielleicht hat jemand einen Vorschlag, wie man das eleganter macht? Vermutlich kann man auch einfach Alien-Sodium-1.0.8.0.tar.gz entpacken, im Makefile direkt  x86_64-linux-gnu-gcc-9 angeben, neu verpacken und installieren... Habe ich aber nicht ausporbiert.

Ich gebe Dir ein virtuelles Bier aus, wenn du das ausprobierst.

Dann sorge ich dafür, das deine Schritt - für - Schritt - Anleitung in Wiki kommt.
Die Nachwelt und DoorBird - Nutzer werden dir dankbar sein!

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

marwal

#410
[gelöst]

Hallo zusammen,

ich habe Probleme bei der Vorbereitung in Linux.
Bei folgendem Befehl wird schon nichts gefunden:

root@raspiFHEM:~/.cpan/build# find /root/.cpan/build/Crypt-NaCl-Sodium-1.0.8.0* -name Makefile
root@raspiFHEM:~/.cpan/build#


Der Ordner ist vorhanden, allerdings gibt es keinen Ordner Makefile, nur eine Makefile.PL
628687 4.0K drwxr-xr-x  5 root root 4.0K Jan 19 15:39 .
501287 4.0K drwxr-xr-x 42 root root 4.0K Jan 19 15:39 ..
628690    0 lrwxrwxrwx  1 root root   57 Jan 19 15:39 Alien-Sodium -> /usr/local/share/perl/5.28.1/auto/share/dist/Alien-Sodium
507669 4.0K -rw-r--r--  1 pi   pi   2.0K Dec 27  2015 Changes
507664 4.0K -rw-r--r--  1 pi   pi    993 Dec 27  2015 INSTALL
507585  20K -rw-r--r--  1 pi   pi    18K Dec 27  2015 LICENSE
507656 4.0K -rw-r--r--  1 pi   pi   1.7K Dec 27  2015 MANIFEST
507584  20K -rw-r--r--  1 pi   pi    20K Dec 27  2015 META.json
508653  16K -rw-r--r--  1 pi   pi    13K Dec 27  2015 META.yml
508654 8.0K -rw-r--r--  1 pi   pi   4.3K Dec 27  2015 Makefile.PL
507670  12K -rw-r--r--  1 pi   pi    11K Dec 27  2015 README
508652 144K -rw-r--r--  1 pi   pi   141K Dec 27  2015 Sodium.xs
508646 4.0K drwxr-xr-x  4 pi   pi   4.0K Dec 27  2015 lib
508655 172K -rw-r--r--  1 pi   pi   171K Dec 27  2015 ppport.h
627859 4.0K drwxr-xr-x  2 pi   pi   4.0K Dec 27  2015 t
507687 4.0K -rw-r--r--  1 pi   pi    522 Dec 27  2015 typemap
507586 4.0K drwxr-xr-x  4 pi   pi   4.0K Dec 27  2015 xt


Anschließend soll ja in den Ordner gewechselt werden und "make uninstall" ausgeführt werden.

Wenn ich diese Schritte überspringe, bekomme ich spätestens hier die nächsten Probleme:
root@raspiFHEM:~/.cpan/build/Crypt-NaCl-Sodium-1.0.8.0-0# cd /usr/local/lib/aarch64-linux-gnu/perl/5.28.1/auto/share/dist
-bash: cd: /usr/local/lib/aarch64-linux-gnu/perl/5.28.1/auto/share/dist: No such file or directory


Alle Schritte davor gingen ohne Probleme oder Fehlermeldung.
Kann hier jemand unterstützen?

Vielen Dank im Voraus!

[Edit]
Ich hatte auch das Problem mit Crypt-NaCl-Sodium - Nach ein Paar un-/ und installs hat es dann endlich funktioniert.

draddy

#411
Moin,

entschuldigt wenn es auf den vergangenen 30 seiten schon wo steht, habe mit der suche nicht wirklich was gefunden ...

Doorbird läuft, ist in FHEM drin, bekomme Live Bild, kann die History Laden und der Türöffner sowie IR Licht klappt auch.

Meine Fragen: kann ich über die FHEM "alamiert" werden wenn jemand klingelt? (sehe kein Reading oder sonstiges), auch state scheint nicht zu ändern.  Als würde der Boradcast nicht wirklich in FHEM ankommen - sehe auch im EventMonitor nichts.
Ausserdem wäre es "voll knorke" wenn die History sich Aktuallisieren würde, ich also die letzten Doorbell / Motion-Sensor Bilder automatisch bekommen würde, ohne immer über GET zu gehen.

FHEM soll eigentlich nur zusätzlich zur Doorbird App laufen (gerade für einsatz am PC halt)

Und eine kurze Info zu "do_not_notify" wäre nett 

danke ;)
Jens

Tante €dit:
ok - nachdem ich meinen FHEM docker auf HOST umgetellt habe und die damit einhergehenden cpan probleme gefixed habe, scheint jetzt eine Kommunikation statt zu finden wenn ein Motion oder Klingel event stattfindet. Werde mal weiter testen die Tage ;)
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

Sailor

Hallo Jens

Zitat von: draddy am 20 Februar 2023, 16:24:18
Meine Fragen: kann ich über die FHEM "alamiert" werden wenn jemand klingelt? (sehe kein Reading oder sonstiges), auch state scheint nicht zu ändern.  Als würde der Boradcast nicht wirklich in FHEM ankommen - sehe auch im EventMonitor nichts.
Ausserdem wäre es "voll knorke" wenn die History sich Aktuallisieren würde, ich also die letzten Doorbell / Motion-Sensor Bilder automatisch bekommen würde, ohne immer über GET zu gehen.

Normalerweise wird das Doorbird-Modul über die UDP-Broadcasts des Doorbird an der Tür über ein Klingeln und Motionsensor informiert.
Dann wird das Reading "doorbell_button_001" entsprechend gesetzt und je nach Attribut "EventReset" wieder auf idle zurück gesetzt.

Bei fhem in Docker müssen die Docker-Settings so sein, das die besagten UDP-Broadcasts durchkommen.

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

draddy

moin,

ja daran bin ich etwas gescheitert ... habe FHEM docker jetzt auf host mode statt bridge gesetzt ... die broadcasts scheinen jetzt anzukommen.

wie bekomme ich das am besten hin, dass fhem bei einem Klingelevent sofort die History aktuallisiert? diese lädt bei mir nur neu, wenn ich den zugehörigen GET auslöse.
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

Sailor

#414
Zitat von: draddy am 22 Februar 2023, 11:58:47
wie bekomme ich das am besten hin, dass fhem bei einem Klingelevent sofort die History aktuallisiert? diese lädt bei mir nur neu, wenn ich den zugehörigen GET auslöse.

So was in der Richtung wie
define MyDbNotify notify myDoorbird:doorbell_button_001:.* {fhem("get myDoorBird History_Request") if EVTPART1 ne "idle"}

Aber Vorsicht!
Das Herunterladen der History nimmt wahnsinnig Netzwerk und CPU-Power des fhem-Servers in Anspruch.
Deswegen habe ich das auch nicht innerhalb des Moduls realisiert.

Wenn man die Pfade in den Attributen
ImageFileDir
VideoFileDir
HistoryFilePath
gesetzt hat, werden die letzten Pfade zu den Bildern in den entsprechenden Readings automatisch hinterlegt und nur das letzte Bild heruntergeladen.

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

draddy

ok dachte ich mir schon ..

die pfade hatte ich schon gesetzt gehabt tatsächlich

habe das jetzt so gemacht

Doorbird:doorbell_button_103:.* {fhem("sleep 2; get Doorbird Image_Request; sleep 8; get Doorbird History_Request")}


grund: trotz lan anbindung der DB und ner wait von 15 sec ist es immer wieder vorgekommen, dass das modul gesagt hat, es hätte kein image für bell event laden können

so wird einfach 2 sekunden nach dem Klingeln ein neuer Snapshot gemacht - und nach 10 sekunden die History aktualisiert - habe diese auch nur auf 5 stehen, ist für mich ehr sowas wie eine "anrufliste" ;)

mal die nächsten Tage abwarten, aber beim testen hat das jetzt gut geklappt gehabt.

lg
Jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

chri0815

Hallo Zusammen

ich versuche mich schon seit Stunden daran die Doorbird im FHEM zum laufen zu bekommen, bisher aber leider erfolglos.

Ich habe folgendes Problem:
Wenn ich versuche die Doorbird im FHEM mittels define zu an zu legen kommt Unknown module DoorBird
Deswegen habe ich alle Foren durchsucht und anschließend nochmals die Installation der zus. Packete überprüft und dabei folgende Fehlermeldung gesehen.

--> Working on Crypt::NaCl::Sodium
Fetching http://www.cpan.org/authors/id/A/AJ/AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz
-> OK
Unpacking Crypt-NaCl-Sodium-1.0.8.0.tar.gz
Entering Crypt-NaCl-Sodium-1.0.8.0
Checking configure dependencies from META.json
Checking if you have File::Spec 0 ... Yes (3.78)
Checking if you have File::ShareDir 0 ... Yes (1.118)
Checking if you have Alien::Sodium v1.0.8.0 ... Yes (2.000)
Checking if you have Sub::Exporter 0 ... Yes (0.989)
Checking if you have Carp 0 ... Yes (1.50)
Checking if you have ExtUtils::CBuilder 0 ... Yes (0.280234)
Checking if you have XSLoader 0 ... Yes (0.30)
Configuring Crypt-NaCl-Sodium-1.0.8.0
Running Makefile.PL
unable to find dist share directory for Alien-Sodium at Makefile.PL line33

Kann mir bitte jemand helfen?
Danke und Grüße Chris

Frank_Huber

#417
Moin Moin,

Bin gerade an einer Testinstallation unter Bookworm.
schaut soweit alles gut aus, bis auf das Doorbird Modul. hier gibt es Probleme mit dem Crypt:NaCl:Sodium Paket.
weis jemand Rat?

sudo cpan Crypt::NaCl::Sodium
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 16 Oct 2023 04:29:01 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
Configuring A/AJ/AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz with Makefile.PL
Is Alien::Sodium available? Could not locate libsodium.a in /usr/local/lib/arm-linux-gnueabihf/perl/5.36.0/auto/share/dist/Alien-Sodium/lib
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
  AJGB/Crypt-NaCl-Sodium-1.0.8.0.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK

Alien:Sodium ist da:
sudo cpan Alien::Sodium
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 16 Oct 2023 04:29:01 GMT
Alien::Sodium is up to date (2.000).


Ich habe mich an die Anleitung aus der Commandref gehalten. nach einiger Suche hab ich noch ein HowTo im Forum gefunden dass sich auch im WiKi findet.
allerdings gibt es die benötigten Dateien nicht mehr die per wget geholt werden sollen. https://wiki.fhem.de/wiki/DoorBird

wget http://ftp.us.debian.org/debian/pool/main/libs/libsodium/libsodium18_1.0.11-2_armhf.deb
--2023-10-16 13:24:05--  http://ftp.us.debian.org/debian/pool/main/libs/libsodium/libsodium18_1.0.11-2_armhf.deb
Auflösen des Hostnamens ftp.us.debian.org (ftp.us.debian.org)... 2600:3402:200:227::2, 2600:3404:200:237::2, 2620:0:861:2:208:80:154:139, ...
Verbindungsaufbau zu ftp.us.debian.org (ftp.us.debian.org)|2600:3402:200:227::2|:80 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ... 404 Not Found
2023-10-16 13:24:05 FEHLER 404: Not Found.


Das DoorBird Modul ist damit aktuell nicht installierbar. Schade...

Sailor

Moin Frank

Zitat von: Frank_Huber am 16 Oktober 2023, 12:58:46Das DoorBird Modul ist damit aktuell nicht installierbar. Schade...

Ich bin noch in Japan fündig geworden:
https://ftp.st.ryukoku.ac.jp/raspbian/pool/main/libs/libsodium/

bzw.:
https://ftp.st.ryukoku.ac.jp/raspbian/pool/main/libs/libsodium/libsodium-dev_1.0.18-1_armhf.deb

Versuche es mal mir diesen Dateien und berichte bitte hier ...

Ich habe bisher immer noch keine Möglichkeit gefunden dies mit libsodium 2.0 zu entschlüsseln.

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

Frank_Huber

#419
Danke Sailor,

hat aber leider bei mir nichts gebracht.
2023.10.23 14:37:56 2: DoorBird - Cannot find Crypt::NaCl::Sodium qw( :utils ) in @INC. Please install the Perl library first. Initialization of 73_DoorBird.pm aborted!


Ich bleibe jetzt halt erstmal bei der DoorBird eigenen Variante per http Aufruf.