Doorbird Modul [Testversion]

OK habe den Fehler nun gefunden. Der Symcon User Account in Doorbird benötigt dasa Recht „Live View“.
siehe API Doko: *

Required permission: valid user, “watch always” or ring event in the past 5 minutes for the requesting user

Kannst du mir dennoch sagen wie ich (ohne Symcon Update) auf eine Modul Version komme, die nicht den SIP Plan überschreibt?
Danke

Hallo,
ich habe ein Problem mit den Bildern der Klingelhistorie und finde den Fehler nicht.
Wenn die Klingel 1 gedrückt wird, wird das gleiche Bild unter klingel 1 und klingel 2 gespeichert.
Wenn Klingel 2 gedrückt wird, richtigerweise nur unter Klingel 2

Hat jemand eine Idee, wo das Problem liegen könnte ?

Hallo Leute ich habe seit dem Update des Doorbird Moduls einen komischen Fehler.
Und zwar ist die Variable für Klingelsignal mit der Variable für Movement vertauscht.
Installiere ich das Modul erneut ist für ca. 3 Stunden die Funktion der Variablen wieder wie vorgesehen danach sind die Variablen wieder vertauscht.
Die APP von Doorbird funktioniert richtig, ebenso das SIP Klingelsignal.

Hat irgendjemand das selbe Problem oder besser einen Lösungsvorschlag?

Danke

Hallo!

Ja bei mir das selbe Problem, Lösung hab ich dafür leider noch keine gefunden, sorry….

Bei mir auch gleiches Verhalten…

Hallo Fonzo,

bei mir läuft die D101s. Habe das Modul noch von Anfang neu installiert, da regelmäßig Fehlermeldungen wg. „undefined variable: ip“ kam.
Leider kommt dieser Fehler immer noch, obwohl das Modul an sich funktioniert.
Hier die Fehlermeldung:


Ich hoffe, du kannst mit der Meldung etwas anfangen bzw. mir einen Tipp geben wie ich es beheben kann.
IPS 6.3 Beta auf Win 11.
LG Alex

Update: Die Meldung kommt jetzt regelmäßig und das Klingelbild wird nicht mehr aktualisiert. Ist auf dem Stand nach dem 4 Bild, also die letzten 4 Bilder (klingeln) fehlen.

Modul läuft super. Tolle Anleitung!!
Besten Dank.

Hallo,
ich antworte mit einmal selber - vielleicht hilft es jemandem, der auch in das Problem läuft.

Es lag daran, dass dem Benutzer in den Doorbird Einstellungen eine Taste zugeordnet war. Ich dachte, dass die UDP Benachrichtigung nur kommt, wenn Push in den Doorbirdeinstellungen aktiviert ist. Es kommt aber offensichtlich immer eine Benachrichtigung, wenn eine Taste zugewiesen wurde. Und dabei kann das Modul nicht zwischen taste 1 und taste2 unterscheiden, Deshalb hatte ich bei Taste 1 immer taste1 und Taste 2 plus die htttps Benachrichtigung.

Ich habe bei dem Benutzer eine nicht existierende Taste eingetragen und bekomme jetzt pro taste nur noch die https Aufrufe und alles funktioniert wie erwartet.

  1. Punkt: Die Bilder werden mit dem IPS Cache mode an erstellt und nicht direkt auf die Festplatte gesichert. Wenn IPS einmal abstürzt, fehlen beim nächsten Start die Bilder und das Erzeugen neuer Bilder funktioniert nicht richtig, bis man die nicht vorhandenen Einträge manuell gelöscht hat.
    Ich habe in dem Modul zweimal IPS_SetMediaCached gefunden und dort den Cache abgeschaltet. Bisher funktioniert das bei mir gut, weil die Media Files sofort auf die HD geschrieben werden.

VG

Frank

Hallo Frank,

das Problem mit den Bildern habe ich auch.
Wie genau hast du den Cache abgeschaltet und direkt auf die Platte geschrieben?
Welche Bilder hast du vorher gelöscht, in IPS oder in der DoorBird-App?
Wusste garnicht, dass ich in der App die Fotos löschen kann.

LG Alex

Nachtrag: habe die beiden Zeilen gefunden und von „true“ auf „false“ gesetzt, hat geklappt.

Danke Frank für den Tipp

Hallo,

das ist aber quick&dirty. Ich habe das nicht weiter analysiert, sondern nur ausprobiert.
Pfade könnten bei Dir anders sein.

Ich habe in
c:\ProgramData\Symcon\modules.store\fonzo.ipsymcondoorbird\Doorbird\module.php
nach
IPS_SetMediaCached
gesucht und
zeile 955 und zeile 4555 IPS_SetMediaCached($MediaID, false);
verändert. Dort stand vorher true

Vorher wurden die Bilder z.B. Bei Klingelereignis im IPS-Objektbaum sichtbar, aber nicht
unter c:\ProgramData\Symcon\media\

Diese erzeugt IPS wohl nur beim ordentlichen beenden. Ich hab auch auf die schnelle keinen Force-Save für den Cache gefunden.
Mit der Änderung tauchen die Filenamen auch sofort im Dateisystem auf und sind auch da, wenn IPS einmal abstürzen sollte.

Um einen sauberen Start zu haben, hab ich die Einträge im Objektbaum und die vorhandenen Dateien unter /media gelöscht.

VG

Frank

Danke Frank, habe ich jetzt genau so umgesetzt und funktioniert soweit. Bin auf den nächsten Neustarts gespannt.

VG
Alex

Hallo Zusammen,

hat jemand eine Doorbird mit Fingernprint eingebunden? zB D2101FV oder D1101FV?

Bisher habe ich eine D2101V und diese funktioniert soweit auch gut.

Die Frage ist, ob ich auch Events für einzelne Finder oder RFID Chips anlegen und diese Abfragen kann?

Ich habe in Doorbird einen separaten HTTP Befehl für zB RFID1 angelegt, aber in dem Modul keine Möglichkeit RFIDs anzulegen und somit auch keine Variable.

Ist in dem Modul etwas angelegt was ich nur übersehen habe, oder muss ich in den Code eingreifen um den HTTPS Befehl abzuarbeiten?

Gruß
Maze

Moin Maze,
Doorbird überträgt (nach eigener Aussage aus Sicherheitsgründen) keine RFID oder Key-Codes.
Das lässt sich nur in der Doorbird-Config auf ein Relais legen, das dann ausgewertet werden kann.
Damit sind „Mehrfachauslösungen“ leider nicht möglich. Finde ich auch schade.

Grüße, Uwe

Hallo Uwe,

danke für die Rückmeldung.
Es ging mir auch nicht um die Übermittlung des RFID codes.

Ich habe ein HTTPS event angelegt „RFID1“.

Dieses lässt sich in der Doorbird App bei der 125kHz Transponder definition dann unter HTTPS im Wochenplan auswählen.

Deswegen ging ich davon aus, dass dieser Webhook gesendet wird, sobald ich den RFID chip vor die Doorbird hänge.

Muss ich nochmal testen.

Ansonsten bleibt „nur“ der Weg über die Relais, aber ich würde schon gerne wissen wer was wann ausgelöst hat.

Gruß
Maze

Das geht mir nicht anders.
Ich möchte auch gerne je nach „Situation“ spezielle Sachen auslösen.
Die von mir sonst/bislang verwendeten LCN-Transponder tauchen im Symcon auf. Damit geht das, ich bin verwöhnt :loveips:

Wenn du eine Möglichkeit entdeckst lass es mich gerne wissen. Meine D2101 ist mehr ein Testaufbau, da kann man gut probieren.

Grüße, Uwe

Also, ich habe ein wening in dem Modul experimentiert und es lässt sich wie folgt umsetzen:

Ich habe in DOORBIRD einen HTTPS Aufruf mit doorbirdevent=rdif1 angelegt. Gleich aufgebaut wie die Webhooks aus dem Modul.

Dann habe ich in der Funktion „ProcessHookData“ folgendes eingefügt: (Änderung zwischen BOMMH und EOMMH)

        //Auswerten von Events von Doorbird BOMMH hier eventuell RFID einfügen
        // Doorbird nutzt GET
        if (isset($_GET['doorbirdevent'])) {
            $this->SendDebug('Doorbird:', json_encode($_GET), 0);
            $data = $_GET['doorbirdevent'];
            if ($data == 'doorbell1') {
                $this->SetLastRingtone(1);
            } elseif ($data == 'doorbell2') {
                $this->SetLastRingtone(2);
            } elseif ($data == 'doorbell3') {
                $this->SetLastRingtone(3);
            }elseif ($data == 'doorbell4') {
                $this->SetLastRingtone(4);
            }elseif ($data == 'doorbell5') {
                $this->SetLastRingtone(5);
            }elseif ($data == 'doorbell6') {
                $this->SetLastRingtone(6);
            }elseif ($data == 'motionsensor') {
                $this->SetLastMovement();
            } elseif ($data == 'dooropen1') {
                $this->SetLastDoorOpen(1);
            } elseif ($data == 'dooropen2') {
                $this->SetLastDoorOpen(2);
            } //BOMMH
              elseif ($data == 'rfid1') {
                $this->SetLastRFID(1);
            }
            //EOMMH

Zusätzlich habe ich eine Funktion SetLastRFID() hinzugefügt, im gleichen Stil wie die bereits vorhandenen:

//BOMMH hier SetLastRFID() einfügen
     protected function SetLastRFID($rfid_id)
    {
        $relaxationrfid = $this->ReadPropertyInteger('relaxationrfid');
        if ($rfid_id == 1) {
            $last_write = IPS_GetVariable($this->GetIDForIdent('LastRFID'))['VariableChanged'];
        } else {
            $last_write = IPS_GetVariable($this->GetIDForIdent('LastRFID' . $rfid_id))['VariableChanged'];
        }
        $current_time = time();
        if (($current_time - $last_write) > $relaxationrfid) {
            $this->SendDebug('Doorbird:', 'doorbell event', 0);
            if ($rfid_id == 1) {
                $this->SendDebug('Doorbird:', 'Set LastRFID ' . date('d.m.y H:i:s'), 0);
                $this->SetValue('LastRFID', date('d.m.y H:i:s'));
            } else {
                $this->SendDebug('Doorbird:', 'Set LastRFID' . $rfid_id . ' ' . date('d.m.y H:i:s'), 0);
                $this->SetValue('LastRFID' . $rfid_id, date('d.m.y H:i:s'));
            }
        }
    }
 //EOMMH

Als letztes habe ich dann noch eine STRING Varible meiner Doorbird Instanz hinzugefügt und dort noch den passenden IDENT gesetzt:

IPS_SetIdent(int RFIDVariablenID,"LastRFID");

Ich habe somit den Zeitcode von meinen RFID Chip bekommen.

Leider hab ich nur einen CHIP hier um das zu testen.

@Fonzo
Vielleicht kann man ja RFIDs in die Automatische Installation mit aufnehmen. Aktuell hätte ich das so implementiert, das der Ident dann immer LastRFID und LastRFID.Zahl wäre.

edit:
Zusätzlich braucht es noch diese Einträge:
In protected function FormHead()

                        //BOMMH
                        [
                            'name'    => 'relaxationrfid',
                            'type'    => 'NumberSpinner',
                            'caption' => 'relaxation (s)'], //EOMMH

und in Public function Create():

        //BOMMH
        $this->RegisterPropertyInteger('relaxationrfid', 10);
        //EOMMH

Gruß
Maze

Hallo zusammen,

Wie richtet man das Smart Lock im Doorbird Modul ein. Würde gerne über das Smart Lock einen KNX Aktor schalten der die Türe dann entriegelt.

Leider scheitere ich bei der Variable die ich im Modul hinterlegen muss. Was für ein Typ muss die Variable sein? Bool?

Ich hab es bei mir über das normale Relais umgesetzt. Spricht da was dagegen bei Dir, oder sind die 1-2 Relais bereits belegt?

Ich will die Relais nicht verwenden weil man durch den Briefkasten Schlitz an den Stecker kommt .

Dazu noch diese Problem.

Magnet an der Doorbird sollte das gleiche passieren

Das mit dem Magnet müsste man testen.

Ich bin mir nicht 100% sicher, das ein mechanisches Auslösen des Relais auch einen Webhook auslöst.

Denn die Türöffnung hängt ja am Webhook und der Umsetzung in IPS.

Mal sehen, irgendwann zeitnah kommt die Fingerprint Variante ins Haus und dann schau ich mal, was dort alles übertragen werden kann.