Seite 1 von 1

[gelöst] Doorbird erkennt doorbell trigger und motion nicht

Verfasst: 30. Sep 2022 13:42
von Knightshift
Hallo,

ich bin langsam am verzweifeln. Ich habe einen Doorbird D210x und bekomme das Teil nicht vollständig zum Laufen.

Hier mein Thing:

Code: Alles auswählen

Thing doorbird:d210x:doorbell "Doorbird Haustür" @ "Vorflur" [doorbirdHost="192.168.178.XX",userId="XXXXX",userPassword="XXXXX",imageRefreshRate=5,doorbellOffDelay=3,motionOffDelay=30,montageNumImages=3,montageScaleFactor=35]
doorbirdHost, userId und userPassword sind korrekt konfiguriert.

Hier meine Items:

Code: Alles auswählen

Switch 	DoorBird_Haustuer_MotionSensor	"DoorBird Bewegung"	(doorbird, pers)	{channel="doorbird:d210x:doorbell:motion"}
Switch 	DoorBird_Haustuer_DoorBell	"DoorBird Türklingel"	(doorbird, pers)	{channel="doorbird:d210x:doorbell:doorbell" [profile="rawbutton-on-off-switch"] }
Image 	DoorBird_Haustuer_Bild		"DoorBird Bild"		(doorbird)		{channel="doorbird:d210x:doorbell:image"}
Das Thing ist online und ich bekomme auch ein regelmäßiges Update des Bildes. Hier eine Auszug aus dem Log:

Code: Alles auswählen

2022-09-30 13:30:31.474 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'DoorBird_Haustuer_Bild' changed from raw type (image/jpeg): 34674 bytes to raw type (image/jpeg): 34700 bytes
Allerdings wird weder die Bewegung noch das Klingeln erkannt. Im Log taucht keinerlei Channel ...triggered PRESSED oder ähnliches auf und auch die Items erhalten kein Signal.

Doorbird und Pi mit OpenHABian sind im selben Netzwerk und über LAN verbunden. Der Doorbird-Benutzer wurde nur für OpenHAB angelegt, mit dem Standardbenutzer klappt's aber auch nicht. Beide Benutzer haben auch die Berechtigung als "API-Operator".

Hat irgendjemand einen Tip, wonach ich noch suchen kann? Bin ratlos...

Viele Grüße und vorab vielen Dank!


Tim

Re: Doorbird erkennt doorbell trigger und motion nicht

Verfasst: 30. Sep 2022 16:12
von udo1toni
Also, doorbell als Channel ist vom Typ Trigger.
Ich würde erst mal erwarten, dass ein solcher Channel nicht an ein Item verlinkt, sondern stattdessen in einer Rule als Trigger verwendet wird.

Code: Alles auswählen

Channel 'doorbird:d210x:doorbell:doorbell' triggered PRESSED
Wo ich gerade die Anleitung überfliege, stelle ich fest, dass dies auch die erste Option in Rules ist, welche beschrieben wird.

Ansonsten kann ich nur empfehlen, mal das Logging des Bindings aufzudrehen, also auf die GNU/Linux Konsole wechseln und dort per

Code: Alles auswählen

openhab-cli console
auf die Karaf Konsole wechseln (Passwort ist habopen, sofern nicht geändert).
Anschließend kannst Du das Logging anpassen (kompletter Mitschnitt einer Session):

Code: Alles auswählen

openhabian@openhab3:~/$ openhab-cli console

Logging in as openhab
Password:

                           _   _     _     ____
   ___   ___   ___   ___  | | | |   / \   | __ )
  / _ \ / _ \ / _ \ / _ \ | |_| |  / _ \  |  _ \
 | (_) | (_) |  __/| | | ||  _  | / ___ \ | |_) )
  \___/|  __/ \___/|_| |_||_| |_|/_/   \_\|____/
       |_|       3.4.0-SNAPSHOT - Build #3019

Use '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
To exit, use '<ctrl-d>' or 'logout'.

openhab> log:set DEBUG org.openhab.binding.doorbird
openhab> log:list
Logger                                             │ Level
───────────────────────────────────────────────────┼──────
ROOT                                               │ WARN
javax.jmdns                                        │ ERROR
javax.mail                                         │ ERROR
openhab.event                                      │ INFO
openhab.event.AddonEvent                           │ ERROR
openhab.event.ChannelDescriptionChangedEvent       │ ERROR
openhab.event.InboxUpdatedEvent                    │ ERROR
openhab.event.ItemAddedEvent                       │ ERROR
openhab.event.ItemChannelLinkAddedEvent            │ ERROR
openhab.event.ItemChannelLinkRemovedEvent          │ ERROR
openhab.event.ItemRemovedEvent                     │ ERROR
openhab.event.ItemStateEvent                       │ ERROR
openhab.event.RuleAddedEvent                       │ ERROR
openhab.event.RuleRemovedEvent                     │ ERROR
openhab.event.RuleStatusInfoEvent                  │ ERROR
openhab.event.StartlevelEvent                      │ ERROR
openhab.event.ThingAddedEvent                      │ ERROR
openhab.event.ThingRemovedEvent                    │ ERROR
openhab.event.ThingStatusInfoEvent                 │ ERROR
openhab.event.ThingUpdatedEvent                    │ ERROR
org.apache.cxf.jaxrs.sse.SseEventSinkImpl          │ ERROR
org.apache.cxf.phase.PhaseInterceptorChain         │ ERROR
org.apache.karaf.jaas.modules.audit                │ INFO
org.apache.karaf.kar.internal.KarServiceImpl       │ ERROR
org.apache.karaf.shell.ssh.SshUtils                │ ERROR
org.apache.karaf.shell.support                     │ OFF
org.apache.sshd                                    │ ERROR
org.eclipse.lsp4j                                  │ OFF
org.jupnp                                          │ ERROR
org.openhab                                        │ INFO
org.openhab.binding.doorbird                       │ DEBUG
org.openhab.binding.knx                            │ DEBUG
org.ops4j.pax.url.mvn.internal.AetherBasedResolver │ ERROR
org.ops4j.pax.web.pax-web-runtime                  │ OFF
su.litvak.chromecast.api.v2.Channel                │ ERROR
openhab> logout
openhabian@openhab3:~/$
Du siehst oben das Login, dann der Befehl log:set, gefolgt von der gewünschten Logstufe (hier DEBUG), gefolgt vom gewünschten logger (hier org.openhab.binding.doorbird).
Das log:list zeigt den Erfolg der Aktion (die fünftletzte Zeile des Listings)
Um die Konsole zu verlassen kommt zuletzt noch der Befehl logout.

Das Umschalten des Log Levels erfolgt unmittelbar, das heißt, Du musst nichts neu starten. Ab sofort bekommst Du in der Datei /var/log/openhab/openhab.log ausführliche Informationen, wann immer doorbird irgendwas tut.
Genauso kannst Du die Aktion auch wieder rückgängig machen, indem Du den Log Level statt auf DEBUG auf INFO setzt. Alternativ könntest Du auch DEFAULT angeben, dann erbt das Binding die Einstellungen vom Parent (org.openhab.binding ist nicht explizit gesetzt, erbt also ebenfalls, das wäre org.openhab, welches default auf INFO stehen sollte.)

Re: Doorbird erkennt doorbell trigger und motion nicht

Verfasst: 30. Sep 2022 19:24
von Knightshift
Vielen Dank für diesen hilfreichen Tip! Ich bekommen beim Betätigen der Klingel nun folgenden Fehler im Log:

Code: Alles auswählen

Unable to decrypt event because libsodium is not loaded
Nun muss ich erstmal recherchieren, was das bedeutet und wie ich das beheben kann.

Re: [gelöst] Doorbird erkennt doorbell trigger und motion nicht

Verfasst: 30. Sep 2022 20:23
von Knightshift
Manchmal kann es so schnell gehen, wenn man in die richtige Richtung gelenkt wird.

Libsodium ist wohl eine Library, die zur Ver- und Entschlüsselung benötigt wird. Ohne diese Library geht wohl keine verschlüsselte Kommunikation mit dem Doorbird. Um diese zu installieren habe ich mich per SSH auf dem Raspberry 3 eingeloggt und mit dem Befehl

Code: Alles auswählen

sudo apt install libsodium23
installiert.

Das war's, nach einem Neustart hat alles funktioniert.

Danke @udo1toni für den richtigen Stupser.

Re: [gelöst] Doorbird erkennt doorbell trigger und motion nicht

Verfasst: 30. Sep 2022 22:50
von udo1toni
:) Letztlich hast Du ja selbst den Fehler gefunden.