Dahua VTO 2000 + Zutrittskontrolle DEE1010B + Fingerprint VT02000A-F

@Allodo : So erreicht "Kostenlos" genau das, was er möchte. Bitte ignoriere ihn einfach und beteilige Dich weiter an Diskussionen. Nur durch den Austausch von Erfahrungen kommen wir alle gemeinsam weiter!!

@All: das mit dem Fingerprint scheint noch ungelöst zu sein. Das Zusatzrelais gibt es erst seit einigen Monaten. Mal sehen, was Dahua draus macht. Ich hatte schon mal probiert, direkt mit Dahua Kontakt aufzunehmen, allerdings erfolglos. Dort setzt man mehr auf den Kontakt mit Händlern - leider. Hat jeman einen Draht zu Dahua finden können??
 
Naja, würde auf jeden Fall mal die aktuellste Firmware (~06/2018) in die VTO einbringen. Da das Relais noch sehr neu ist, wird die Funktionalität in einer SW vom Anfang 2017 sicher nicht damit gegeben sein.

Um das Relais generell zu testen kannst du ja mal die HTTP_CGI_API hernehmen.
 
Kannst du uns etwas mehr Infos dazu geben? Bzw. gibt es eine Doku zu der genannten API?

Wäre es z.B. auch möglich das Lesen des Fingerprints abzufangen und per Skript z.B. ein NUKI Schloss anzusteuern (also Nuki anzusteuern über API ist kein Problem)

Noch eine Frage:
Geht es / macht es Sinn die VTO2000-A ohne Innenstation zu betreiben?
 
Hab dir mal alle Dokumente die ich zu diesem Thema hab hier hochgeladen: http://www.share-online.biz/dl/19ILAYIPD5

Das mit dem "starte Skript bei Türöffnen durch Fingerprint" habe ich mir schon programmiert.
Wenn jemand den Fingerprint benützt wird solch eine Meldung von der VTO auf den TCP-Port 5000 des Servers (Normalerweise SmartPSS, in meinem Fall aber ein Asterisk) gesendet:
Code:
DHIP¢¢{ "id" : 1, "method" : "global.login", "params" : { "clientType" : "GUI", "ipAddr" : "192.168.1.39", "password" : "*******", "userName" : "19" }, "session" : 0 }
Ich lasse einfach ein php Script darauf lauschen und lese dann welcher User es war mittels der API (/cgi-bin/recordFinder.cgi?action=find&name=AccessControlCardRec) aus. Danach versende ich ne Mail.
Wenn ich mal Zeit dafür habe, dann werde ich noch einen Snapshot mit der Cam machen und das Bild auch mitsenden.

Zur Frage: Klar, ich betreibe meine VTO2000A (SIP) ohne wirkliche Innenstation. Hab mehrere IP-Telefone, Androide und den TV zur "Abfrage", wenn jemand anläutet.
 
  • Like
Reaktionen: d1dd1
Ich lasse einfach ein php Script darauf lauschen

Wäre es möglich genau dieses Script zu erhalten? Das würde die Sache etwas beschleunigen bei mir. Ich habe das Thema, dass der Fingerprint leider das DEE1010B nicht aufmacht - das könnte man dann via "/cgi-bin/accessControl.cgi?action=openDoor&channel=2&UserID=101&Type=Remote" nachrüsten. Vielen Dank im Voraus!

Das ganze läuft ja nun unter V4 der Firmware bei dir oder?
 
Poste hier mal den (vereinfachten) Code meiner Fingerprint Geschichte. Jeder kann sich den Code ändern wie er will. Bin leider nur Hobbyprogrammierer, daher lässt sich das sicher schöner lösen:
PHP:
#!/usr/bin/php
<?php
$vto_ip="192.168.1.39"; // IP Adresse der VTO2000A
$address = '192.168.1.1'; //IP Adresse des Servers wo dieses Script läuft
$port = 5000;
$password = "admin"; // Admin PW der VTO
$logfile = "/var/log/dooropen.txt";
$debug=1; // Für Debug Ausgaben aktivieren

openlog('FINGERINFO', LOG_CONS | LOG_NDELAY | LOG_PID, LOG_USER | LOG_PERROR);
//Reduce errors
error_reporting(~E_WARNING);
syslog(LOG_INFO,'FINGERINFO started!');

$socket = stream_socket_server("tcp://$address:$port", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)\n";
  die('Could not create socket');
}
while (true) {
        while ($conn = stream_socket_accept($socket, -1, $peername)) {
                fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
                if($debug) echo date("Y-m-d H:i:s").": Verbindung von: $peername angenommen.\n";
                recordFinder();
    fclose($conn);
  }
}
fclose($socket);
//ENDE MAIN
function recordFinder() { //Lister der Türöffnungen von der VTO mittesl API abfragen
        global $debug, $vto_ip, $password;
        //Snapshot erstellen
        if($debug) echo date("Y-m-d H:i:s").": Meldung von VTO empfangen, erstelle Snapshot\n";
        $snapshot =  shell_exec('avconv -y -i \'rtsp://admin:[email protected]\' -f image2 -vframes 1 -pix_fmt yuvj420p /home/cubie/fingersnapshot.jpg');
        //  Warten und dann User abfragen und Meldung zur App schicken
        sleep(10);
        $username = 'admin';
        $header = array(
                'Accept: application/json',
                'Content-Type: application/json',
        );
        $body='{}';
        $etime= date('Y-m-d')."%20".date('H:i:s'); //Endzeitstempel
        $ttime=time()-3600; //temp. Zeitstempel der letzten Minute
        $stime= date('Y-m-d')."%20".date('H:i:s',$ttime);
        $url='http://'.$vto_ip.'/cgi-bin/recordFinder.cgi?action=find&name=AccessControlCardRec&StartTime='.$stime.'&EndTime='.$etime;
        if($debug) echo "URL:$url\n";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
        curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch. CURLOPT_CUSTOMREQUEST, "GET");
        $response = curl_exec($ch);
        $name = decode_records($response);
        shell_exec('/home/cubie/doornotify.php /home/cubie/fingersnapshot.jpg');
        curl_close($ch);
        }
function decode_records($response){ // Die letzte Türöffnung finden
        global $debug;
        if($debug) echo "RESPONSE: $response\n";
        $index = substr($response, (strripos($response, "records")+8),2);
        echo "letzterIndex:".$index."\n";
        $lastarray = substr($response, strpos($response, "records[".$index, 6));
        echo $lastarray."\n\n";
        $time = substr($lastarray, (strpos($lastarray,"CreateTime=")+11),10);
        echo "CreateTime:".date('r',$time)."\n";
        $method = substr($lastarray, (strpos($lastarray,"Method=")+7),1);
        echo "Method:".$method."\n";
        $userid = substr($lastarray, (strpos($lastarray,"UserID=")+7),2);
        echo "UserID:".$userid."\n";
        user_name($userid,$method);
        }
function user_name($userid,$method){
        global $debug;
        if($method=="4") $rueckgabe = "Remote"; // Öffnen via WebIf
        if($method=="6"){ // Fingerprint
        $users = array(
                "01" => "Papa",
                "02" => "Mama",
                "03" => "Kind1",
                "04" => "Kind2"
                );
                $rueckgabe = $users[$userid];
        }
        if($debug) echo "Username:".$rueckgabe." hat Tür geöffnet.\n";
        logging("User $rueckgabe hat die Tuer geöffnet");
        return($rueckgabe);
}
function logging($txt){
        global $logfile;
        $fp_log = fopen($logfile,"w");
        fwrite($fp_log, date("Y-m-d H:i:s").": $txt\n");
        fclose($fp_log);
}
?>
Wie gesagt, ist eher noch Bastelei und wohl noch lange nicht fertig. Bin aber für jeden Hinweis dankbar.
 
Zuletzt bearbeitet:
Zur Frage: Klar, ich betreibe meine VTO2000A (SIP) ohne wirkliche Innenstation. Hab mehrere IP-Telefone, Androide und den TV zur "Abfrage", wenn jemand anläutet.

Vielen Dank, das habe ich gehofft, war aber unsicher da ich auch schon gegenteilige Äußerungen erhalten habe.

Vielen Dank für die Infos / Skript !!
 
Hab auf die Schnelle noch den Snapshot ins Script eingebaut, der mit dem Unterprogramm "fotoversand.php" das Foto per Mail oder auf die App versendet.
Komfortabel testen kann man die Geschichte nun auch per WebIf ("System Config" -> "Video Set" -> "Open Door").
Ich muss auch noch erwähnen, dass die "UserID" die von der VTO kommt, eigentlich die "Room Number" ist, auf welche man die Fingerprints gescannt hat.
 
Zuletzt bearbeitet:
Meine Anlage ist gestern auch gekommen, so weit bin ich erstmal zufrieden konnte so weit erstmal alles einrichten der freundliche Händler hatte auch schon alles voreingestellt.
Was ich noch nicht testen konnte ist der Türöffner bzw. das DEE1010B wenn ich das jetzt richtig verstanden habe funktioniert der Fingerprint in Verbindung mit dem Access Control nicht?
Ich weiß auch noch nicht ob ich das DEE1010B benötige da ich 2 x VTO2000A habe, im Prinzip kann ich ja mit dem einem die Haustür öffnen und mit dem anderen das Hoftor.
Muss ich mal testen ob das geht!
 
Was ich noch nicht testen konnte ist der Türöffner bzw. das DEE1010B wenn ich das jetzt richtig verstanden habe funktioniert der Fingerprint in Verbindung mit dem Access Control nicht?
Bei mir gehts mit Firmware V4 hervorragend mit dem Fingerprint und dem DEE1010B

Ich weiß auch noch nicht ob ich das DEE1010B benötige
Ich würde sagen: Das sollten die meisten benötigen - andernfalls liegt der Türöffner von aussen zugänglich hinter der Klingel. Mit dem DEE1010B muss der Angreifer erst noch das RS485 Protokoll zum DEE1010B korrekt ansteuern was die Hürde deutlich steigert. Ist natürlich was anderes wenn der Türöffner sowieso dort liegt - dann nützt es nix mehr ;)
 
Ich fürchte für's Dahua Protokoll (non-SIP) gibts noch keine V4 Firmware.
 
Hallo,
ich würde gernen dieses Thema nochmals aufgreifen, da ich meinen Fingerprint noch nicht zum laufen gebracht habe.
Den TÖ habe ich über das DEE1010 zu laufen bekommen und funktioniert auch wunderbar (TÖ2 am Monitor drücken). Leider wird durch den Finger die Tür nicht geöffnet. Die VTO2000A meldet zwar "Tür geöffnet", aber der TÖ bekommt kein Signal.
Habe im A&C-Manager sowohl Local, als auch Extense probiert. Extense wird komischerweise nicht gespeichert.
Die "Zimmernummer" ist 9901(Lokale Konfig/Fassadengestalt) und auch so beim Fingerprint hinterlegt.
Nutze die deutsche FW 3.20 vom 2017-09-12.

Wäre für einen Tipp dankbar.

VG
kuzco-IP
 
Zuletzt bearbeitet:
Das erklärt ja einiges. Werde dann mal die 3.12 installieren. M.W. ist das aber doch eine signierte, oder ?
Wenn ich den Thread lese, dann ist der Upgrade auf diese Version jedoch etwas tricky, oder ?

Die einen sagen man soll das ConfigTool nehmen, die anderen VDPConfig.
Welche bin hast Du denn genommen ?
Customer_VTOXXX_EngItlFrnGerDutSpnPrt_P_16M_V3.120.001P000.0.T.20181025.bin oder
Upall_VTOXXX.20181025.bin ?

Die Customer_*.bin konnte ich entpacken und dort ist auch eine img-Datei für den Boot-Loader. Hier lese ich immer dass man den Boot-Loader nicht updaten soll - also kein dm365_ubl_boot_16M.bin installieren.
Das würde aber beim Benutzen der Customer_VTOXXX_EngItlFrnGerDutSpnPrt_P_16M_V3.120.001P000.0.T.20181025.bin passieren.

Und was ist mit der Customer_VTOXXX_EngItlFrnGerDutSpnPrt_P_16M_V3.120.001P000.0.T.20181025.language. bin ?
Die kann ich auch entpacken. Aber die 3 Dateien sind ebenfalls in Customer_VTOXXX_EngItlFrnGerDutSpnPrt_P_16M_V3.120.001P000.0.T.20181025- denke also dass ich diese nicht noch einmal "updaten" muss.

Die Upall_VTOXXX.20181025.bin konnte ich nicht entpacken. (Im Header stand kein DH, was ich in PK umbenennen konnte).


Du hast ja geschrieben, dass Du TFTP benutzt hast. Hast Du evtl. noch die upgrade_info_7db780a713a4.txt ?

Fragen über Fragen :).

VG
kuzco
 
Ich habe die Firmware über TFTP aktualisiert. Wobei ich ja zuvor andere Probleme hatte. Also probieren würde ich es erstmal immer über das ConfigTool (habe die stand-alone v3 verwendet). Die "Customer_VTOXXX_EngItlFrnGerDutSpnPrt_P_16M_V3.120.001P000.0.T.20181025.bin" ist die richtige Datei. Ich glaube bei der Upall_* würde das ConfigTool ohnehin eine Fehlermeldung zeigen. Die Language bin habe ich nicht installiert.

Die Update Textdatei habe ich leider nicht mehr, da ich inzwischen schon die Innenstation aktualisiert habe. Ein TFTP Update ist aber keine Hexerei, wenn man den Zusammenhang zwischen den img-Dateien und den Befehlen erstmal verstanden hat.

"run dr" spielt die Datei romfs-x.cramfs.img
"run dk" spielt die Datei kernel-x...
"run du" spielt die Datei user-x...
"run dw" spielt die Datei web-x...
"run dc" spielt die Datei custom-x...
ein, usw.
Nur die pd-x.squashfs.img wird anders installiert:
tftp 0x82000000 pd-x.squashfs.img; flwrite

D.h. du musst für jede img Datei, die du entpackt hast, ein passendes run-Kommando angeben (und nur für diese!). Der Bootloader wird über den Befehl "run da" installiert, d.h. solange dieser Befehl nicht in der Textdatei drin steht, bleibt der Bootloader unangetastet. Ich habe den Bootloader _NICHT_ aktualisiert!

Hier steht recht gut beschrieben, wie das TFTP Update funktioniert, bzw. sind auch notwendige Windows Tools bzw. Batch Files zu finden: https://ipcamtalk.com/threads/dahua-ipc-easy-unbricking-recovery-over-tftp.17189/

Wenn alles klappt, siehst du in der Konsole eine Meldung, dass "success.txt" nicht gefunden wurde. Im Fehlerfall, dass die Datei "failure.txt" nicht gefunden wurde.

Viel Erfolg!
 
  • Like
Reaktionen: pjotr_weliki
Alles klar. Danke für die Info.

Da in der Datei Customer_VTOXXX_EngItlFrnGerDutSpnPrt_P_16M_V3.120.001P000.0.T.20181025.bin auch den neuen Bootloader dm365_ubl_boot_16M.bin.img und sign.img enthält, werde ich es über das ConfigTool wohl NICHT versuchen wollen, da aus meiner Sicht dann auch der BootLoader geändert wird.

Bleiben also: data-x*.img, kernel-*.img, pd-x*.img, romfs-*.img user-x*.img und web-x*.img. Werde also das folgende für die VTO2000A probieren:

run dr (for romfs-x.cramfs.img)
run dt (for data-x.cramfs.img)
run dw (for web-x.cramfs.img)
run dk (for kernel-x.cramfs.img) ?
run du (for user-x.cramfs.img)
tftp 0x82000000 pd-x.cramfs.img; flwrite
tftp 0x82000000 .FLASHING_DONE_STOP_TFTP_NOW
sleep 5

Werde es nächste Woche mal versuchen.
 
Danke für die Korrektur.

Letzte Frage :).
Du sagtest:
"Nur die pd-x.squashfs.img wird anders installiert:
tftp 0x82000000 pd-x.squashfs.img; flwrite"

Diese Datei gibt es bei der VTO2000A ja nicht, sondern pd-x.cramfs.img.
Muss dies dann über:
ftp 0x82000000 pd-x.cramfs.img; flwrite
oder
run pd
geflasht werden ? Ichvermute mal das zweite.
Obwohl ich gelesen habe, dass man die eigentlich garnicht benötigt.

Also:
run dr (for romfs-x.cramfs.img)
run dd (for data-x.cramfs.img)
run dw (for web-x.cramfs.img)
run dk (for kernel-x.cramfs.img) ?
run du (for user-x.cramfs.img)
run pd (für pd-x.cramfs.img)
tftp 0x82000000 .FLASHING_DONE_STOP_TFTP_NOW
sleep 5
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.