eKey - Anbindung an iP-Symcon

Hallo zusammen - hier schreibt ein Neuer, der aber schon seit einigen Woche bei Euch mitliest :slight_smile: Super-Forum, ich habe schon gaaanz viele (zu viele?) Ideen für mein Haus bekommen!!!

Da bei mir die Planung für einen Neubau in die heiße Phase geht, stehen jetzt ein paar Detailentscheidungen an. Und bei (mindestens) einer komme ich gerade nicht weiter: Ich liebäugele mit dem eKey-Fingerprint-System.

Folgende Konstellation:

  1. Haustüre
  2. Balkontüre mit Zugang zum Garten

Beide Türen sollen ein eKey-Scanner bekommen, mit dem die Türen von außen zu öffnen sind.

Bei einer Tür eingelernte Fingerabdrücke möchte ich - wegen meiner auch via PC-Software dezentral - auch bei der anderen Türe einlernen.

ZUDEM: IP-Symcon soll mitbekommen, WESSEN Finger gescannt wurde, um damit weitere Funktionen zu steuern. Also z.B. linker Zeigerfinger = Tür auf; rechter Zeigefinger = Garagentüre auf; rechter Mittelfinger = Tür verriegeln, Alarmanlage an; rechter kleiner Finger = Tür verriegeln, Garage auf, Alarm an usw.

Zudem sollten noch Zugriffe möglich, z.B. für die Putzfrau, die nur zwischen 10-12 Uhr rein darf…

Nun gibt es ja sogar für das „kleine“ System, also die „eKey Home“-varianten einen RS485-auf-UDP-Adapter. Ich bekomme also Telegramme ins LAN, das IP-Symcon auslesen und auswerten könnte.

Gefunden habe ich leider bisher keine Infos, ob das so leicht geht, wie ich mir das gerade vorstelle. Denn die UDP-Diagramme sind wohl irgendwo dokumentiert (im KNX-Forum hat jemand für nen Homeserver ein Modul geschrieben), aber lieber wäre mir, IP-Symcon könnte die direkt und ohne weiteres Programmieren auslesen. Und KNX wollte ich eigentlich nicht installieren (außer Ihr überzeugt mich recht bald - noch wär’s möglich :wink:

Weiß jemand mehr dazu?

Danke für Eure Hilfe! :slight_smile:

Jürgen

Für dein Vorhaben, benötigst Du normalerweise ekey net. Ein direktes Auswerten in IPS ist nicht möglich. Das Net generiert ein Logfile was man eventuell auswerten könnte.
Den Zustand kann man über potenzialfreie Kontakte in IPS abbilden.

Inwieweit das ganze jetzt mit UDP zusammen arbeitet, kann ich dir im Moment auch nicht sagen.

Nachtrag: UDP funktioniert nur mit der Net Variante!

Soweit ich weiß bekommst du alle Informationen direkt per UDP in Echtzeit zugeschickst. Du könntest es also auswerten. Leider hat noch keiner hier ein Skript dafür erstellt. Möglich sein sollte es auf jeden Fall.

paresy

mit dem ekey udb konverter (100460) bekommst du auch bei der home bzw. home pc Variante Datenpakete, wenn ein Finger gescannt wurde. Da brauchst du keine Net -Variante.

auf http://www.ekey.net/ekey/spool/download/1250835635-CONVERTER%20UDP%20Spezifikation.pdf auf Seite 4 stehen die UDP Datagramme beschrieben

Ich muss mir auch mal einen UDP Konverter kaufen. Dann kann ich mal mit den Script basteln anfangen. Steht auch noch irgendwo auf meiner To-Do Liste.

garfi

… ob mein Haus zuerst steht - oder Dein Script :wink:

Sonst muss ich mich wohl selbst reinarbeiten. Aber das klingt genau nach der Lösung, die ich suche. Die Tür soll erstmal selbständig arbeiten, aber ggf. (durch andere Finger) weitere Funktionen auslösen können.

Danke Euch!
Jürgen

@Jürgen,

schau ma mal wer dann schnelller ist mit einem Script. Ich muß heuer nur noch schnell mal den Vollwärmeschutz machen, Holz auf der Terasse legen und die Einfahrt pflastern. Dann hab ich prinzipiell Zeit um mich um meinen ekey zu kümmern.
Ich hab einen Ekey home 3 und öffne derzeit 2 Türen. (Haustür und Garagentür) mit verschiedenen Fingern. Ich möchte aber ein paar Zuatzfunktionen machen z.B.: Radio zu gewissen Uhrzeiten automatisch einschalten, wenn ich den Finger drüber ziehe usw.
Also gegen Ende des Jahres werd ich mich damit genauer beschäftigen. Insgeheim hoffe ich ja immer, dass bis dorthin schon wer eine fertige Lösung hat.

Gruß garfi

Hallo miteinander. Ich habe auch ekey-net, und würde gerne die Ereignisse an IPS weietergeben. Bloss habe ich keine Vorstellung, wie das gehen soll! Hat jemand zwischenzeitlich eine Lösung für die Auswertung der UDP-datagrams gefunden? Vielen Dank für Eure Mühe!

ich habe an 2 Türen einzelne Ekey integra mit je 3 Relais,
das reicht bei uns mit 2 Personen zur Anwesenheitserkennung
bzw. Identifizierung. Relais 3 bleibt für diverse Zutritte.

Jedes Relais hängt auf einem Motorschloss + einem Binäreingang und so bekomme ich via KNX/EIB die Schaltungen in IPS.

Die ekeys sind extra abgesichert und das bringt doch eine
gewisse Redundanz ggü. der net-Variante.

Hat diese Anbindung nun noch wirklich keiner im Einsatz mit IP-Symcon? Entsprechende Diagramme auswerten etc als Vorlagescript?

Ich bin gerade dran, mir eine E-Key Lösung mit einer neuen Türe anzulachen und werde vermutlich den Konverter mitbestellen. Wollte wissen ob das einer schon erfolgreich am laufen hat mit IPS?

Hi,

hab ne eKey Home mit UDP Konverter laufen… Anbindung an IPS war kein Problem… die scripte sind auch nix besonderes… nen paar checks… und auf die Tür :stuck_out_tongue:

Supi, danke das scheint ja gut zu klappen. Ich frage mich gerade wie ich vorher gesucht habe… ist ein eher alter Thread und nur mit ekey hats sogar ein Beispielscript für das Auslesen der UDP-Meldungen.

Aber egal, noch eine andere Frage, neben dem Leser welche Zentrale verwendest du denn? Die günstigste Variante hat ja ein Relais also damit krieg ich mit wenn jemand die Türe öffnet oder kann etwas signalisieren. Dann gibts die erweiterte Zentrale wo es auch Tastereingänge gibt… hier denke ich kann man eben kommandieren Türe auf. Wenn man nun den Konverter nimmt kannst du da alles auch ganz ohne die Relais oder Tastereingänge… sprich kannst du aktiv etwas auslösen wie

  • per Script / UDP Command die Türe öffnen

Das man alles mitbekommt wie türe wurde geöffnet und mit welchem Finger etc. ist klar… und dann das letzte

  • Kannst du per Script abfragen ob die Türe gerade geöffnet oder abgeschlossen ist?

Ich nehme an für den letzten Status nämlich ist die Türe offen hast du einen HM oder anderen Türöffnerkontakt…?

Gruss

Hi,

Ich verwende die kombi aus ekey home AP2, REG2, UDP converter… als fingerprint, zum öffnen der Tür verwende ich nen Homematic Keymatic an einer CCU2 … da alles USV (140 minuten Batterielaufzeit) gestützt ist habe ich somit auch kein Problem bei einem Stromausfall :slight_smile:

Verstehe Dave, alles klaro. Naja vielleicht kann ja noch jemand sich melden der mit der Zentrale selbst ein autom./integriertes Türschloss verwendet. Aber wenn ich das Protokoll so anschaue und das Manual kriegt man einfach Statusmeldungen aber kann nicht über den Konverter also als Befehl an den UDP Konverter etwas senden wie:

öffne die Türe (schalte Ausgang xy)
den aktuellen Stand abfragen von der Türe (oder eben Ausgang/schalter xy)

Dann müsste man das doch über die Relays Ein/Ausgänge mit Drittkomponenten an IPS-Übermitteln. (Mit Home Variante)

Mit lesen über verschiedene alte Threads kommt man zum Ziel… braucht einfach wahnsinnig viel Zeit. Also mal alles zusammen in einem Beitrag

IPS->Ekey geht vermutlich über einen „Workarround“ aus IPS wird das Webinterface simuliert und damit geschaltet… dürfte klappen frage mich dann nur ist das Webinterface in der Software die man downloaden kann mit drin sprich klappt das mit der Homevariante?

Ekey->IPS klappt mit dem neuen Converter UDP der die RS Befehl eifach auf TCP umsetzt und IPS oder jede andere Software mit UDP Paketen über jede Änderung informiert

Eine Zustandsabfrage sprich ist abgeschlossen oder geöffnet könnte über das Webinterface funktionieren in ähnlicher Weise wie IPS an Ekey oben sofern der Status da gelistet ist.

Also wenn jemand noch etwas mehr zu der Software verraten könnte… wäre es super. Ich studiere dann mal das Handbuch dazu :slight_smile:

hier ist ein kleiner Skript, mit heisser Nadel gestrickt, um die UDP broadcasts aus dem Ekey zu verwerten.


<?
// UDP Data Block Structure
// long nVersion; // Version of the data (3)
// long nCmd; // action code (TERMCMD_ENTER,...)
// long nTerminalID; // Terminal ID
// char strTerminalSerial[14]; // Serial number of the Terminal (for net)
// char nRelayID; // Relay number
// char nReserved; // unused
// long nUserID; // User
// long nFinger; // Finger ID
// char strEvent[16]; // Event, which is to be triggered
// char sTime[16]; // yyyymmdd hhmmss
// unsigned short strName[1]; // Name of the User in Unicode, if available
// unsigned short strPersonalID[1]; // Personal ID + \0 (used only in Version 2)






$ekeyStringHex = "";
if ($IPS_SENDER == "Execute")
	{
   $ekeyStringHex ="0300000001000000f903100074657374383530393039303030390000680000000f0000000000000000000000000000000000000032303131313131392031323337323500610061006700000031000000";
	}
	else
	{
		 $data = $IPS_VALUE;
		  for ($i=0; $i < strlen($data); $i++)
		  {
		    $ekeyStringHex .= str_pad(dechex(ord($data[$i])), 2, '0', STR_PAD_LEFT);
		  }
	}
 $ekeyString = preg_replace('/[\x00-\x1F\x7F]/', '', hextostr($ekeyStringHex))."
 ";
 setvalue (38729 /*[ekey\EkeyAuswertung\EkeyString]*/, $ekeyString); // schreibt String in Variable EkeyString
$lenEkeyStringHex = strlen($ekeyStringHex);


$nVersion = intval(substr($ekeyStringHex,0,8)); // Version of the data (3)
$nCmd = intval(substr($ekeyStringHex,8,8)); // action code (TERMCMD_ENTER,...)
$nTerminalID = intval(substr($ekeyStringHex,16,8)); // Terminal ID
$strTerminalSerial = hextostr(substr($ekeyStringHex,24,28)); // Serial number of the Terminal (for net)
$nRelayID = intval(substr($ekeyStringHex,52,2)); // Relay number
$nReserved = intval(substr($ekeyStringHex,54,2)); // unused
$nUserID = intval(substr($ekeyStringHex,56,8)); // User
$nFinger = intval(substr($ekeyStringHex,64,8)); // Finger ID
$strEvent = hextostr(substr($ekeyStringHex,72,32)); // Event which is to be triggered
$sTimeStamp = hextostr(substr($ekeyStringHex,104,15)); // yyyymmdd hhmmss
$ekeyYear = hextostr(substr($ekeyStringHex,104,8));
$ekeyMonth = hextostr(substr($ekeyStringHex,112,4));
$ekeyDay = hextostr(substr($ekeyStringHex,116,4));
$ekeyHH = hextostr(substr($ekeyStringHex,122,4));
$ekeyMM = hextostr(substr($ekeyStringHex,126,4));
$ekeySS = hextostr(substr($ekeyStringHex,130,4));
$strName = preg_replace('/[\x00-\x1F\x7F]/', '', hextostr(substr($ekeyStringHex,134)));
$ekeyTimeStamp = $ekeyDay . "-" . $ekeyMonth . "-" . $ekeyYear . "  " . $ekeyHH . ":" . $ekeyMM . ":" . $ekeySS;
$TerminalName = "no terminal defined";

echo "*" . $strTerminalSerial . "*";

switch ($strTerminalSerial) {
    case "70008539090511":
        $TerminalName = "Tiefgaragentor";
        break;
    case "80032703100503":
        $TerminalName = "Treppenhaus_UG";
        break;
    case "70008509090009":
				switch ($nFinger) {
         	case "9000000":
		         $TerminalName = "Erster Keller";
	      	break;
				default:
					$TerminalName = "Lift";
				}
        break;
    case "80100507100744":
        $TerminalName = "Haustür_EG";
        break;
    case "70009006090011":
        $TerminalName = "SE_Lift";
        break;
    case "80034024080052":
        $TerminalName = "SE_Aussenhuelle";
        break;
	 case "test8509090009":
        $TerminalName = "Software-triggered";
        break;
}

echo "*".$TerminalName."*";

$emailDebugBody = "nVersion : " . $nVersion . " 
 "
	. "nCmd : ".$nCmd. " 
 "
	. "nTerminalID : ".$nTerminalID. " 
 "
 	. "strTerminalSerial : ".$strTerminalSerial. " 
 "
	. "nRelayID : ".$nRelayID. " 
 "
	. "nReserved : ".$nReserved. " 
 "
	. "nUserID : ".$nUserID. "
 "
	. "nFinger : ".$nFinger. "
 "
	. "ekeyYear : ".$ekeyYear. "
 "
	. "ekeyMonth : ".$ekeyMonth. "
 "
	. "ekeyDay : ".$ekeyDay. "
 "
	. "ekeyHH : ".$ekeyHH. "
 "
	. "ekeyMM : ".$ekeyMM. "
 "
	. "ekeySS : ".$ekeySS. "
 "
	. "lenEkeyStringHex : ".$lenEkeyStringHex. "
 "
	. "strName : " . $strName. "
 "
	. "ekeyTimeStamp : " . $ekeyTimeStamp ;

$emailHeader = $strName . " - " . $TerminalName;

if ($nCmd == "4000000")
	{
	// SMTP_SendMail(18471 /*[Email IPS an aag]*/ ,
	//	$emailHeader." Finger not recognized",
	//	$emailDebugBody . "
 "
	//	. $ekeyStringHex . "
 "
	//	. $ekeyString . "
 ");
	}
else
	{
	//Alarm unscharf stellen!
	setvalue (55493 /*[Zugang\AlarmLogik\AlarmArmed]*/, false);
	
	//send email
	SMTP_SendMail(18471 /*[Email IPS an AAG]*/ ,
		$emailHeader,
		$emailDebugBody . "
 "
		. $ekeyStringHex . "
 "
		. $ekeyString . "
 ");

	//Gong läuten
	FS20_SwitchMode(19035 /*[Sportzimmer\FS20 Gong]*/, true); //Gong läuten
	}

// the next line executes a cmd that sends a MsgBox to select computers (HTPC, AAG laptop).
IPS_ExecuteEx ("C:\IP-Symcon\msg.exe", "aag /SERVER:xy.xy.xy.23 /TIME:15 ".$emailHeader, false, false, 2);
IPS_ExecuteEx ("C:\IP-Symcon\msg.exe", "aag /SERVER:xy.xy.xy.8  /TIME:15 ".$emailHeader, false, false, 2);




echo $strEvent;



function hextostr($x) {
  $s='';
  foreach(explode("
",trim(chunk_split($x,2))) as $h) $s.=chr(hexdec($h));
  return($s);
}

function strtohex($x) {
  $s='';
  foreach(str_split($x) as $c) $s.=sprintf("%02X",ord($c));
  return($s);
}

?>


Danke dir, das werd ich testen. Bis meine Tuere mit dem EKey kommt dauerts nun 8 Wochen. Dann kann ich mal berichten…

Hallo,

ich möchte auch den Fingerprint home ( pin1+2, RS485) einbinden.

Ist der spezielle teuer Adapter notwendig
http://www.ekey.net/files/media/downloads/Datenblatt_ekey_converter_UDP_RS485.pdf
http://www.ekey.net/downloads?download=c4e8dd9c-076b-3250-c3b8-51ad982c7eb8&name=Bedienungsanleitung_ekey_converter_UDP_RS485_ID51.pdf

oder geht das direkt über RS485 zu USB-Adapter mit Zerlegen auch?
Wahrscheinlich nein, deshalb „Converter“ und nicht „Adapter“…

http://www.idealo.de/preisvergleich/Liste/63748277/ekey-converter.html

Wann UDP und wann LAN?

Gruß Konny

Kommt am ehesten drauf an was du da schon hast oder einfach hinkriegst… Funktionieren könnte der Umbau wuerd ich aber nicht machen. LAN ist bei neu sicher die bessere Variante. USB kann die Hölle sein mit Treiber und Aktivierung beim Start. Teils klappt das gut wie beim eaton oder fhz GW aber nur teils mit Support und das hättest du dann nicht.

Ich glaube ich hatte bei denen auch mal nach dem LAN Konverter gefragt und als Antwort erhalten, dass der mit der Home Version nicht funktioniert.

Wobei ich mich schon gefragt habe, ob ich den eKey nicht auch über meinen RS485-LAN Adapter den ich sowieso schon nutze abfragen könnte.

ich hab mal einen ganz normalen USb RS 485 Konverter auf den ekey gehängt. Prinzipiell funktioniert das schon mit dem Ekey. Man bekommt die ganzen Meldungen mit. Nur sendet der ekey ziemlich vie auf der RS 485, daher könnte es passieren, dass der Konverter irgendwann mal aussteigt, oder auch der PC. Da kommt eine ziemlich große Datenflut daher.
Beim ekey UDP Konverter werden die Daten dann schon gefiltert. Dann kommt da nicht mehr so viel an.

gruß garfi