2n EntryCom Schnittstelle zu IPS

Hallo Zusammen,
Nachdem in einem anderen Thread die Diskussion zur Verso aufkam möchte ich hier mal meine Integration vorstellen und alle möglichen Infos sammeln.

Es geht um die IP Türsprechstellen des Herstellers 2n. Meine Angeben beruhen auf der 2n Entrycom Vario. Sollte aber für alle vergleichbaren Modelle anwendbar sein.
Die Sprechstellen werden auch unter dem Namen KEIL Telecom vertrieben.

1. Voraussetzungen:
Es sollte eine gültige Lizenz für die HTTP Api vorliegen.
Integrations Lizenz oder Gold Lizenz.
Download 2N® Helios IP Automation Manuals
akzelle Firmware

2. Mögliche Schnittstelle 2N --> IPS
Im Punt Serives --> Automatisierung können Regeln bei diversen Events angelt werden.

Beispiel 1: Klingel Taste wurde gedrückt ;

Beispiel 2: Eingabe einer Falschen PIN. Die laschen PINS sollen in IPS mit Datum und Uhrzeit gespeichert werden. Damit kann ermittelt werden, ob sich jemand an der 2n „Spielt“. Auf die Variablen können dann wieder beliebige Scripte getriggert werden.
–> Skript im IPS per WebHook starten und Variablen übergeben.

Dieses beispiel mögchte ich jetzt näher beschreiben:
Automatisiereung lösst sich in verschiedene Funktionen gruppieren (leider sind keine Überschriften zu vergeben)
Einer meiner Funktionen sieht wie folgt aus:


Zeile 2 vollständig: uri=http://<IPS-IP>:3777/hook/2n_invalid?Code=$(1.Code)&Time=$(1.TimeStamp); event=1

Das in IPS aufgerufene Script sieht wie folgt aus:



<?
IPS_LogMessage("WebHook GET", print_r($_GET, true));
# Uhrzeit und datum ermitteln
echo "Code: " . $_GET['Code'];
echo "Time: " . $_GET['Time'];
# Falsche PIN ermitteln
$code=$_GET['Code'];
$time=$_GET['Time'];
#Log schreiben in eine Variable
$log= "time: ".$time." code:".$code;
echo $log;
setValue(47658 /*[Hardware\2n\Türsprechstelle\LastWrongCode]*/,$code);
setValue(36745 /*[Hardware\2n\Türsprechstelle\LastWrongTime]*/,$time);
setValue(28942 /*[Hardware\2n\InvalidKeyHistory]*/,$log);
?>

Beispiel 3: Eingabe einer Pin die Für die 2n nicht ausgewertet wird (sie erkennt sie als Invalid, kann aber im IPS ausgewertet werden.
Wem das Invalid nicht gefällt, der kann die PIN in der 2n auch auf einen unbenutzten Schulter legen.

Screenshot von 2n siehe Beispiel 2:
uri=http://<IPS_IP>:3777/hook/2n_http?Code=$(3.Code)&Time=$(3.TimeStamp); event=3
Damnn ähnliches Vorgehen wie in beispiel 2!

Weitere Idee:
Ziel: Auf einen Anruf auf einer SIP Nummer im IPS eine Aktion ausfführen. Wobei die 2n den Anmruf annimmt und über die Autmatisierung an’s IPS als Hook weitergibt. Sollte gehen, aber noch nicht getestet!

So, jetzt erst mal den 2n Besitzern vel Spass beim Nachbauen oder und weitere Vorschläge, Ideen und Verbesserungen beitragen.

Stefan

.

Hallo Stefan,

zu allererst einmal vielen Dank für das Tutorial! Damit hab ich echt schon was anfangen können.
Die IPS Aktionen über Webhook funktionieren tadellos!!

Ich würde jetzt gerne noch folgende Automatik anlegen:
Ich gebe einen Code über das Keypad ein. Ist der Code richtig soll ein UserSoundFile abgespielt und eine Aktion in IPS ausgelöst werden.
Ist der Code falsch soll die 2N eine anderes definiertes UserSoundFile abspielen.

Wäre super wenn du mir helfen könntest das in der 2N anzulegen!!

Vielen Dank!!

LCNRookie

Hallo LCNRockie,

Hast du die erweiterte Audio Lizenz? Ich nicht! Kann das an we aber trotzdem mal versuchen aufzubauen…
Hast du schon ein Testsetup versucht?
Stefan

Ja, aktuell schon. Hab die Probelizenz laufen da ich erst ausloten will was für mich Sinn macht und was nicht.
Ich habs mal versucht anzulegen aber leider läuft das so nicht wie ich mir das vorstelle.
Iwie fehlt mir da auch die richtige Struktur das unter einer Funktion zu „programmieren“
Wäre toll wenn dus mal versuchen könntest dann würd ichs umgehend testen!!

Danke!!

Hallo,

So würde ich vorgehen:
1: Event.Code entered : Code=valid
2: Action.SendHttpRequest : uri=http://ips-ip:3777/hook/2n_valid?Code=$(1.Code)&Time=$(1.TimeStamp); event=1

das Even = 1 Ziegt, dass die Action durch zeile 1 ausgelöst werden kann

3: Action.PlayuserSound : Sound=1; Event=1

Der Sound den du an Position 1 Hochgeladen hast sollte abgespielt werden

Diese Szenario funktioniert, wenn der Key in der 2n definiert wurde (evtl an einen Dummy schalter.
Du kannst natürlich auch eine zeile wie diese als Event definieren
1: Event.Code entered : Code=0815

Ich hoffe die ein bischen auf die Sprünge geholfen zu haben.

Stefan

Hi Stefan,

ich komme mit dem Webhook und dem Script nicht klar bzw. verstehe das nicht.
Ist dies „2n_valid?Code=$(1.Code)&Time=$(1.TimeStamp)“ der Name des Scripts in IPS das angelegt ist?

Das Script aus deinem ersten Post


<?
IPS_LogMessage("WebHook GET", print_r($_GET, true));
# Uhrzeit und datum ermitteln
echo "Code: " . $_GET['Code'];
echo "Time: " . $_GET['Time'];
# Falsche PIN ermitteln
$code=$_GET['Code'];
$time=$_GET['Time'];
#Log schreiben in eine Variable
$log= "time: ".$time." code:".$code;
echo $log;
setValue(47658 /*[Hardware\2n\Türsprechstelle\LastWrongCode]*/,$code);
setValue(36745 /*[Hardware\2n\Türsprechstelle\LastWrongTime]*/,$time);
setValue(28942 /*[Hardware\2n\InvalidKeyHistory]*/,$log);
?> 

wird dieses automatisch generiert oder legst du das selber an?

Bin hier blutiger Anfänger und bin echt dankbar für deine Hilfe!!

Gruß
LCNRookie

Hallo lcnrocky,
Du musst ein Script mit x-beliebigen Namen anlegen! Kopiert meine Inhalt rein. Dann legt’s du ein Webhook mit dem Namen 2n_valid an. Dies sollte auf das Script zeigen. Das ?code=… Sind übergabeparameter an das Script!

Hilft dir das weiter?

Stefan

Ja, das hilft mir auf alle Fälle weiter. Zumindest kapier ich jetzt die Vorgehensweise.
Werd das heute Nachmittag dann mal umsetzen und Rückmeldung geben.

Danke dir Stefan!!

So, gerade mal getestet… Teilweise läuft das sogar!! :smiley:
Welchen Typ an Variable legst du für die 3 (WrongCode,WrongTime, usw.) an?

InvalidKeyHistory funktioniert nicht…
Hier der Fehler

Warning: bad lexical cast: source type value could not be interpreted as target in /usr/share/symcon/scripts/57009.ips.php on line 15

Hi,
Für dein Szenario kannst ja das invalide entfernen.
Ich glaub ich hab String Variablen verwendet.
Stuzi

Yes! So funktioniert es!
Eine History mit den z.B letzten 10 Nummern inkl Timestamp würde mir aber auch gefallen :smiley:

Hast du ne Idee warum der beschriebene Fehler bei mir auftritt??

Hi,

ich hab als History eine String Variable (Profil html-Box).
Beschrieben wird sie mit folgendenm Befehl:

setValue(28942 /*[Hardware\2n\InvalidKeyHistory]*/,$log);

Sollte eigentlich auch bei dir klappen!

Die Variable wird jeweils mit dem letzten Key überschrieben. Ich habe das Logging der Variable aktiviert.
Geht sicher auch eleganter, aber für mcih reichts im Moment!

Stuzi

Hallo,

ich habe mir auch eine Ip Verso zugelegt. Kann mir einer von euch vielleicht auf die Sprünge helfen? Und zwar möchte ich folgende Dinge die ich leider nicht hinbekomme realisieren:

Eingabe von einem Code zum öffnen der Tür.
Bei der Codeeingabe des richtigen Codes muss dafür ein http request gesendet werden an:
http://ip-der-anlage/config/xmlapi/statechange.cgi?ise_id=xxxx&new_value=true

für 4 Sekunden, danach dann

http://ip-der-anlage/config/xmlapi/statechange.cgi?ise_id=xxxx&new_value=false

zum ausschalten des Türöffners…

Darauf hin müsste die Tür öffnen.

Und muss auf der außentastatur der Code mit dem Schlüssel bestätigt werden?

Danke schonmal dafür.

Gruß Sven

Hallo,
Ich versteh deine Anforderung nicht ganz!
Erfolgt die Code Eingabe an der 2n? Wer soll den http request absetzen?
Stuzi

Hi!

Bzgl. Log habe ich hier was schönes für euch. Ist zwar im Beispiel für das Loggen von BOOL-Variablen, aber das könnt ihr euch ja entsprechend anpassen, falls ihr keine passende BOOL-Variable in eurem Projekt habt :slight_smile:

IP-Symcon - Wie kann ich… 2.0 - Seite 8

Grüße,
Chris

Wenn ich mir die URL von Sven so ansehe, dann möchte er von der 2n einen http-Request an seine CCU senden und nicht an IPS.
Dies ist eine URL des XML-Api-Patch der CCU.
Michael

Hey Leute,

vielen Dank, ich habe tatsächlich vergessen zu schreiben, das es sich um eine Ccu handelt.

Ich konnte das Problem auch lösen, in dem ich über den Reiter „Schalter“ erweitert meinen http request für Tür auf und Tür zu schalten kann.

Aber trotzdem vielen Dank.

Gruß Sven

Ich habe noch ein paar Fragen zu der Ip Verso…

Kann mir jemand von euch sagen wie ihr es hinbekommen habt, das der „öffnen“ Knopf im Telefon den Türsummer betätigt?

Ich nutze eine fritzbox 7490 und habe dort in den Einstellungen der Verso als Telefoniegerät die Möglichkeit eine Nummer anzugeben. Hier habe ich den Code des codeschlosses Versuch, das funktioniert aber leider nicht.

Wie habt ihr das hinbekommen?

Vielen Dank schon mal :-))

Gruß Sven

Stern am ende gewählt?

Hallo baba,

das war die Lösung. Perfekt, vielen Dank.

Gruß Sven