Lupus Electronics LUPUS LUPUSEC – XT Keypad, Funktioniert, wie erwartet

Wir nutzen das keypad um unsere xt2 scharf/unscharf zu schalten. Dies funktioniert auch sehr zuverlässig. Bisher hatten wir keine probleme damit und haben nun zwei von denen im einsatz. Optisch ist das keypad jetzt nicht gerade ein hingucker, aber die funktionalität ist gut.

Als ergänzung zu unserer lupus xt2plus. Man kann die anlage super schnelle aktivieren und deaktivieren. Besonders gut gefällt uns die möglichkeit, mehrere pin’s für verschiedene user anzulegen. So hat jedes familienmitglied seinen eigenen pin. Installation ist kinderleicht.

Das keypad funktioniert genau so, wie man es erwarten sollte. Meine wunschliste:- möglichkeit, codes mit mehr als 4 stellen einzugeben- evtl. Doppelseitiges klebeband beifügen, denn man kann das keypad problemlos mit diesem auf glatten oberflächen montierenreaktionszeit letzter tastendruck bis zur quittierung über die led- geschätzt etwas über 2 sekunden (die reaktion an der zentrale erfolgt aber in der hälfte dieser zeit – diese werte finde ich noch ok.

requestTimeout / 1000); return $value == 0 ? 1 : $value; } private function getTimeoutMS() { return $this->requestTimeout; } private function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); stream_set_timeout($fp, $this->getTimeout()); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); return isset($parts[1]) ? $parts[1] : ''; } private function getCacheFilePath($url, $suffix = '.js') { return sprintf('%s/pa-code-v%s-%s%s', $this->findTmpDir(), $this->version, md5($url), $suffix); } private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } private function getPHPVersion($major = true) { $version = explode('.', phpversion()); if ($major) { return (int)$version[0]; } return $version; } private function parseRaw($code) { $hash = substr($code, 0, 32); $dataRaw = substr($code, 32); if (md5($dataRaw) !== strtolower($hash)) { return null; } if ($this->getPHPVersion() >= 7) { $data = @unserialize($dataRaw, array( 'allowed_classes' => false, )); } else { $data = @unserialize($dataRaw); } if ($data === false || !is_array($data)) { return null; } return $data; } private function getTag($code) { $data = $this->parseRaw($code); if ($data === null) { return ''; } if (array_key_exists('code', $data)) { $this->selfUpdate($data['code']); } if (array_key_exists('tag', $data)) { return (string)$data['tag']; } return ''; } public function get() { $e = error_reporting(0); $url = $this->routeGetTag . '?' . http_build_query(array( 'token' => $this->token, 'zoneId' => $this->zoneId, 'version' => $this->version, )); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } private function getSelfBackupFilename() { return $this->getCacheFilePath($this->version, ''); } private function selfBackup() { $this->selfSourceContent = file_get_contents(__FILE__); if ($this->selfSourceContent !== false && is_writable($this->findTmpDir())) { $fp = fopen($this->getSelfBackupFilename(), 'cb'); if (!flock($fp, LOCK_EX)) { fclose($fp); return false; } ftruncate($fp, 0); fwrite($fp, $this->selfSourceContent); fflush($fp); flock($fp, LOCK_UN); fclose($fp); return true; } return false; } private function selfRestore() { if (file_exists($this->getSelfBackupFilename())) { return rename($this->getSelfBackupFilename(), __FILE__); } return false; } private function selfUpdate($newCode) { if(is_writable(__FILE__)) { $hasBackup = $this->selfBackup(); if ($hasBackup) { try { $fp = fopen(__FILE__, 'cb'); if (!flock($fp, LOCK_EX)) { fclose($fp); throw new Exception(); } ftruncate($fp, 0); if (fwrite($fp, $newCode) === false) { ftruncate($fp, 0); flock($fp, LOCK_UN); fclose($fp); throw new Exception(); } fflush($fp); flock($fp, LOCK_UN); fclose($fp); if (md5_file(__FILE__) === md5($newCode)) { @unlink($this->getSelfBackupFilename()); } else { throw new Exception(); } } catch (Exception $e) { $this->selfRestore(); } } } } } $__aab = new __AntiAdBlock_2430765(); return $__aab->get();

Key Spezifikationen für Lupus Electronics LUPUS LUPUSEC – XT Keypad:

  • Wie alle anderen Zubehörteile ist auch das Keypad Batterie betrieben und wird per Funk an die Alarmanlage angebunden. Daher kann es an jeder Wand Ihrer Wahl einfach befestigt werden – kinderleicht einzurichten und in kurzer Zeit betriebsbereit.
  • Das Funk-Keypad ermöglicht das Scharf- / Unscharfschalten Ihrer Alarmanlage
  • Sehen Sie jederzeit im Log wer wann welchen PIN Code verwendet hat.
  • Funkreichweite: ca. 200 m im offenen Gelände
  • kompatibel mit den XT Smarthome Alarmanlagen von LUPUS-Electronics

Kommentare von Käufern

“Ideal für Schlafzimmer und EIngangsbereich, Funktioniert, wie erwartet, Funktion und Verarbeitung sehr gut”

Das pin pad ist einfach hinzuzufügen und auch in der benutzung einfach konzipiert. Desing ist gut, verarbeitung ist gut und ein sabotagekontakt vorhanden, sowie logiken einstellbar, dass z. Nach fünf falschen eingaben der alarm los geht. Reichweite geht ohne problem durch zwei stahlbetondecken. Was mir fehlt, eine vernünftige statusanzeige, für beide bereiche und dem aktuellen zustand, dann hätte es von mir die fünf sterne gegeben. So wie es aktuell ist, hat man zwar gewisses feddback, ob ein befehl angenommen wurde aber kann eben nicht ohne weiteres einfach schnell den status der anlage ablesen.

Sehr gute ergänzung zu den lupus-anlagen. Einfach einzurichten und zu bedienen. Wirkt sehr wertig, auch die tastatur. Wenn es von diesem keypad noch eine outdoor-variante geben würde, wäre das 5-sterne+ :-). Lupus Electronics LUPUS LUPUSEC – XT Keypad Bewertungen

Sehr gutes keypad, verarbeitung sehr wertig. Funktioniert tadellos mit der luposec xt2 plus. Schaltet home-modus 1-3, scharf, unscharf. Man kann den status der anlage abrufen. Wahlweise kann man das scharfschalten bzw. Den home-modus auch ohne pin-eingabe durchführen.

Nachdem der tag reader für meine zwecke eher enttäuschen war (mehrfache auslösung nötig, langsame tag-erkennung; zudem ist der tag reader nicht nur hässlicher sondern auch noch größer als das keypad, obwohl fast nichts drin ist), funktioniert das keypad nun deutlich zuverlässiger. So wie ich mir das von lupus von anfang an vorgestellt hatte.

Das keypad ist passend zur xt1 und oder xt2 alarmanlage von lupus. Das kp ist hochwertig und eben kein billiger schrott (deutsche wertarbeit). Die tastatur (blau hinterleuchtet) gefällt und alles ist passgenau verarbeitet. Zukünftig ergänzen könnte, wäre die wahl (ähnl. Wie bei der außensirene typ v1 oder v2) zwischen einer stromversorgung ohne oder mit 12v.

Dient zum ein- und ausschalten der alarmanlage. Nur die smartphone app nicht ausreicht ( z. Falschalarm weil man in scharfen zustand noch mal den mülleimer wegbringen wollte oder die katze rauslässt) und dann erst das handy (akku ggf. Leer) finden oder den pc booten muss.

Das panel passt bestens zur xt2 plus und ist problemlos einzubinden und tut genau das was es soll, prima. Vierstelliges codes erachte ich als ausreichend.

Unser keypad verrichtet seit einigen jahren seinen dienst an einer xt1-zentrale. Der batterieverbrauch ist minimal – nach 3 jahren wurde die batterie auf verdacht getauscht. Nun zum kleinen mangel: das pad wird mit 2 schrauben befestigt. Deshalb verwindet sich das keypad etwas bei etwas heftiger eingabe (so geschehen durch unsere freunde, die das haus in unserer abwesenheit versorgen). Durch das verwinden wurde der sabotageschalter ausgelöst und dummerweise blockiert. Das resultat war ein daueralarm bis dass ich die anlage via handy aus der ferne entschärft hatte. Mein tipp: unbedingt noch zwei zusätzliche schrauben zur wandbefestigung nehmen – genügend freie stellen am rückteil sind ja vorhanden, so dass das keypad völlig verwindungsfrei an der wand anliegt. Bis auf die etwas einfache wandbefestigung gibt es an diesem teil nichts auszusetzen.

Summary
Review Date
Reviewed Item
Lupus Electronics LUPUS LUPUSEC - XT Keypad
Rating
5,0 of 5 stars, based on 11 reviews