Einbindung Codatex Reader

Hallo,

ich habe mir einen Codatex Leser 1 Plus (RFID Leser - IP-Symcon :: Automatisierungssoftware) zugelegt und hier im Forum allerdings keine Erläuterung zur Integration gefunden.

Verstehe ich es richtig, dass der Reader über die Serielle Schnittstelle mit dem PC verbunden und eine Codatex-Instanz angelegt wird? Wie geht es dann weiter?

Vielen Dank vorab,
Stephan

Einfach die Instanz erstellen und die ComPort Instanz aktiveren und den ComPort auswählen. Dann sollte es funktionieren.

paresy

habe jetzt auch einen Codatex-Leser und leider ein Problem:

sobald ich ein RF-ID Tag an die Antenne halte kommt eine Zugriffsverletzung (siehe Bild).

Halte ich einen andern Tag dran, als der der in der Variable steht, wird der Wert in dem passenden String hinterlegt. Halte ich ihn länger drauf, kommt wieder die Zugriffsverletzung. Auch wenn ich ihn absetze und den gleichen wieder dranhalte, kommt die Fehlermeldung.

Ich benutze die aktuelle 2.1 #1649.

Der Fehler wird zur 2.2 behoben sein. (Bin ich letztens auch drüber gestolpert)

paresy

Hallo,

ich versuche ein Lösung mit dem Codatex RFID Leser zu realisieren, leider fehlen mir dazu ein paar wichtige Informationen. Würde mich freuen hier ein paar Antworten zu finden:

  • kann der Codatex Leser in der IP-Symcon Version 2.1 überhaupt verwendet werden (siehe vorherigen Post)?

Aus meiner Sicht gibt es zwei Möglichkeiten:

Hat jemand eine der beiden Varianten in Verwendung?

Wir würde gerne drei Lesegeräte an IP-Symcon anschließen und damit drei Keymatic HM über die Homematic CCU steuern.

Freue mich auf eure Antworten!

Viele Grüße
danx

Ich habe die Codatex Reader installiert und das funktioniert. Wenn ich einen Transponder für das Lesegerät halte sehe ich die Wert in der Message View.

Meine Frage ist, wie Sie einen bestimmten Transponder selektieren konnte. Die Wert ist nicht gleich aber der Teil mit dem Trandponder oder.

Wie kannst du ein Teil des Wert wählen, für in ein Event?

Albert

Wenn ich dich richtig verstanden habe,
mußt du nur die Variable in der die ID steht mit einer if oder switch Abfrage auswerten.
In etwa so:

	if($rfid == "**********" AND $marcus == false)
	{
	  	SetValue(12490 /*[Geräte\Eingänge\Codatex\Person]*/ , "Marcus");
	  	SetValue(17213 /*[Skripts\1_Steuerung\Anwesenheid\Anwesend\Marcus]*/ , true);
	  	tts_play(1,"Check in, marcus, es ist $stu Uhr$min. Du hast,$mails emails.","hinweis",1);
	  	}
	  	if($rfid == "**********" AND $marcus == true)
		{
		   SetValue(12490 /*[Geräte\Eingänge\Codatex\Person]*/ , "Marcus");
	  		SetValue(17213 /*[Skripts\1_Steuerung\Anwesenheid\Anwesend\Marcus]*/ , false);
	  		tts_play(1,"Check out, einen schönen Tag marcus, es ist $stu Uhr$min.","hinweis",1);
	  		}

	else
	{
	  if($rfid == "**********" AND $titus == false)
	{
	  	SetValue(12490 /*[Geräte\Eingänge\Codatex\Person]*/ , "Titus");
	  	SetValue(42465 /*[Skripts\1_Steuerung\Anwesenheid\Anwesend\Titus]*/ , true);
	  	tts_play(1,"Check in, hallo Titus, es ist schön das du da bist","hinweis",1);
	  }
	  	if($rfid == "**********" AND $titus == true)
		{
		   SetValue(12490 /*[Geräte\Eingänge\Codatex\Person]*/ , "Marcus");
	  		SetValue(42465 /*[Skripts\1_Steuerung\Anwesenheid\Anwesend\Titus]*/ , false);
	  		tts_play(1,"Check out, einen schönen Tag Titus, es ist $stu Uhr$min.","hinweis",1);
	  		}

	else
	{
	  if($rfid == "**********" AND $leo == false)
	{
	  	SetValue(12490 /*[Geräte\Eingänge\Codatex\Person]*/ , "Leo");
	  	SetValue(36694 /*[Skripts\1_Steuerung\Anwesenheid\Anwesend\Leo]*/ , true);
	  	tts_play(1,"Check in, hallo Leo, es ist schön das du da bist","hinweis",1);
	  	}
	  	if($rfid == "**********" AND $leo == true)
		{
		   SetValue(12490 /*[Geräte\Eingänge\Codatex\Person]*/ , "Marcus");
	  		SetValue(36694 /*[Skripts\1_Steuerung\Anwesenheid\Anwesend\Leo]*/ , false);
	  		tts_play(1,"Check out, einen schönen Tag Leo, es ist $stu Uhr$min.","hinweis",1);
	  		}

	else
	{
		if($rfid == "**********")
	{
	  	SetValue(12490 /*[Geräte\Eingänge\Codatex\Person]*/ , "Gast");
	}
   }
   }
   }

Nicht ganz, Ich suche nur den Weg in ein Event die RFID zu selektieren. Mit einem Trigger Event du kannst ein spezifischer Wert geben, nur ein Teil von der RFID entspricht mit der RFID Wert im String (von der Codatex Module).

Die code ist: 5BEMxxxxxxxxxx281197661229 und nur die Teil xxxxxxxxxx ist der RFID.

Wie wählen Sie einen Teil des Wertes in ein Event?

Albert

Ich glaube die serielle Schnittstelle ist noch nicht richtig eingerichtet.
Hatte bei mir auch einen zu langen String. ComPort auf 57600 Baud stellen,
dann sollte nur noch die ID übrig bleiben, war zumindest bei mir das Problem.
Ansonsten den String mit

$id = substr ($id,3,10); // von 4 Stelle, 10 Zeichen ausschneiden

zerlegen

Es ist ein Serial und nicht einen ComPort, is das vielleicht das Problem? Ich konnte die ComPort nicht finden in IPS, aber nach der Installation der Driver konnte ich die ComPort verbinden.

Vielleicht der falsche Driver?

Albert

Der ComPort ist doch die Serielle Schnittstelle :confused:

Sie haben wahrscheinlich recht, hier weiß ich zu wenig über.

Albert

Ich habe zwar einen Codatex RFID Reader aber einen anderen.
Das Problem sollten wir aber lösen können.
Bei der Einrichtung des Lesers wurde doch eine RegisterVariable erstellt,
wenn man diese bearbeitet, sollte als übergeordnete Instanz der ComPort angegeben sein, ist das bei dir auch so?

Es funktioniert mit dem folgenden Code:


$rfid_leser = GetValue (22560 /*[Codatex Leser 1 Plus\RFID Code]*/  ) ;
$rfid = substr ($rfid_leser,4,10); // von 4 Stelle, 10 Zeichen ausschneiden

I lass die Werte Speichern in der Datenbank, wie kann man das im einen Tabelle Anzeige?

Danke für Ihre Hilfe

Albert

Ich verstehe den Sinn nicht ganz.
In der Variablen steht doch nur ein Wert, wofür eine Tabelle?
Man könnte eine StringVar mit HTMLBox Profil dafür hernehmen.
Ich habe bei mir für jeden Transponder eine BoolVar eingerichtet.
Dann werte ich die RegisterVar aus und melde den Chip entweder an oder ab.

Danke für die Antworten, ich habe jetzt ein paar Tipps wo ich weiter mit kann.

Was ich meine mit der Tabelle, einen Überblick geben der letzten Woche/Monat/Jahr mit allen Registrierungen.

Albert