NEWS
WIEGAND TCP/IP Adapter (Alias UHPPOTE)
-
Vielen Dank für Deine Unterstützung.
Nur als Anregung. Eigentlich gibt es Zwei Arten von Karten/Codes:- Das eigentliche Tag (also den Chip) und
- einen Code den man z.B. verschicken kann und den man manuell über ein Zahlenfeld eingeben kann. Der Zugangscode wird manuell (bzw. in meinem Fall im Buchungssystem) erzeugt und dann am Anreisetag an den PHPPote mit einem Zeitprofil übertragen,
Ich habe für meine Anwendung folgendes programmiert.
- Der Zugangscode wird um 8:00 Uhr früh in den PHPPOte übertragen und ist dann ab 16:00 Uhr (ist ein Profil im PHPPote, das man erstellen kann) z.B. für 2 Tage gültig.
2 Tage deshalb da ein Profil im PHPPote immer nur einen Zeitraum 0:00 - 24:00 oder in meinen Fall 16:00 bis 24:00 umfaßt. Ich kann aber kein Profil erstellen von 16:00 Uhr bis 5:00 Uhr des nächsten Tags. - Daher lösche ich um 5:00 Uhr am nächsten Tag den Zugangscode. Ist ein Workaround funktioniert aber gut.
Für sehr wichtig hat sich erherausgestellt, dass man einen Tag oder einen Zugangscode sperren kann. Das hat uns wirklich in Corona viel Zeit erspart. Ohne Impfnachweis, Test usw. der nicht vorliegt konnten wir kurzfristig den Code sperren (nicht löschen) und nach Übermittlung dann wieder freigeben.
Ich habe das dann direkt an eine MYSQL Datenbank in der die Zugangsdaten gespeichert sind dran gehängt und alles funktioniert tadellos. Ist aber natürlich ein eigener RaspberryPi mit Web-Server, Apache Server usw der das alles verwaltet.
Angesprochen wird das über php-Skripte die aus iobroker heraus aufgerufen werden.Bitte das alles nur als Anregung ansehen. Da gebe ich am Ende meine Erfahrung wieder die wir in den letzten Jahren zusammengetragen haben.
Andreas
-
@randyandy sagte in WIEGAND TCP/IP Adapter (Alias UHPPOTE):
... Zwei Arten von Karten/Codes ...
Für den ioBroker-Adapter ist dies irrelevant da unabhängig vom Ursprung die Logik dahinter immer die gleiche ist.
Stimmt er == granted oder eben nicht == denied
Selbst der triviale "Button"-Klick wird intern mit einer Pseudo-Id gearbeitetIch habe für meine Anwendung folgendes programmiert...
Hier muss ich ganz klar auf das Schichtenmodel verweisen...
Du hast hier eine Business-Logik programmiert die in dem Adapter nichts zu suchen hat.
Der Adapter wird zwar im End-Ausbau Schnittstellen für deine Belange haben aber nichts von deinen Logiken enthalten.
Dies wird man dann in JS-Adapter, Scenen, Vis oder sonst wo implementieren müssen.Sorry, aber das würde dann jeglichen Modellen (SOC, OSI, ISO OO-Template...) kontraproduktiv entgegen wirken.
Aber als Anregung "Welche SSt/API benötigt wird" willkommen...
-
Als solches war es auch gedacht damit man auf diese Anforderungen bei der Implementierung gleich eingehen kann.
Vielleicht noch ein interessante Information, das wäre die ultimative Lösung. Unser Lesegerät reagiert auch auf NFC und mit dem Mobiltelefon kann man den Leser triggern und es wird eine ID im Controller generiert. Leider konnte ich keine Abhängigkeiten erkennen die ID ändert sich willkürlich. Mein Hoffnung war das das wie in einem Tag ist und dann immer die gleiche ID ist, ist es aber nicht.
Andreas
-
@randyandy sagte in WIEGAND TCP/IP Adapter (Alias UHPPOTE):
... Lesegerät ... NFC ... Mobiltelefon ... eine ID im Controller ... willkürlich ID ...
Das ist leider so (zwischen Reader und Controller und kann aus diesem Grund nicht geändert werden)
-
Hallo @kbrausew , erstmal vielen vielen Dank für die Arbeit, die Du Dir machst!
Allgemein läuft der Adapter jetzt bei mir und ich kann zuverlässig sehen, wer die Tür öffnet. Eine Sache konnte ich allerdings nicht umsetzen. Und zwar würde ich gerne über das Pinpad auch Funktionen auslösen, die nichts mit der Türöffnung zu tun haben. Beispiel: Wenn wir zu Hause sind, können die Kinder mit dem Pin 1111 die Garage öffnen. Leider wird aktuell das Objekt lastSwipe nur aktualisiert, wenn die Tür auch geöffnet wurde. Die EventNr. zählt allerdings hoch und im Webinterface vom Controller kann ich die Eingabe auch sehen. Kannst Du das eventuell in einer der nächsten Versionen anpassen?
Danke im Voraus!!
-
@dominic151617 sagte in WIEGAND TCP/IP Adapter (Alias UHPPOTE):
... können die Kinder mit dem Pin 1111 die Garage öffnen ...
Das must du im Kontroller einstellen...
Angenommen:
Deine Garage ist am Relais Door-3. Dann musst du Pin '1111' an Türe '3' zulassen.Wenn dir dann nur der physische Draht von Relais-3 zum Garagenöffner fehlt, spielt das keine Rolle...
Durch diese Konfig bekommst du am Door-3 im ioBroker am Datenpunkt ".unlocked" einen kurzen Impuls den du in JS oder Szeneadapter für was-auch-immer benutzen kannst... z.B. die Garage öffnen.Ich habe z.B. kein Relais physisch beschaltet, alles läuft über ".unlocked" zum SmartDoor-Locker (z.B. TEDEE oder NUK...)
Hast du nur ein TO so muss der wohl über den Kontakt geschaltet werden?!Schlecht wird es erst wenn du keine Relais mehr "frei" hast... da deine Anforderung nicht umsetzbar ist, da ich vom Kontroller nichts bekomme (Hast du v0.4.6 installiert? dann schau dir ".unauthorized" an... wenn hier nichts steht, bekomme ich im Pin-denied-Fall keine ?Nummer? vom Kontroller zurück)
-
@Dominic151617
Hat's funktioniert... ich weiß es ja, aber für die anderen -
@kbrausew, sorry, dass es mal wieder länger gedauert hat. Ich bräuchte mal son Sabbatjahr nur für private Projekte...
Und dann sollte ich mir noch mal selber auf die Finger hauen. Man sollte nicht daran glauben, dass die 0.4.6 installiert ist, sondern dies auch einfach kontrollieren. Dann hätte man nicht den ganzen geschriebenen Text wieder löschen müssen. Aber egal.
Fazit: jetzt funktioniert es.
Vielleicht etwas Info:
Board für zwei Türen. Zweite Tür bekommt aber kein Wiegand Signal.
Board hat die Firmware V6.56.50703
Adapterversion ist jetzt die 0.4.6
Garage wird über einen Homematic Aktor geöffnet.Eingestellt habe ich einen User, für die Garage, der für Tür 2 berechtigt ist.
Ob das überhaupt nötig ist, kann ich garnicht sagen, da eigentlich nur Tür 1 ausgewertet wird. Vermutlich weil der Wiegand Controller nur an Tür 1 angeschlossen ist.
Das ganze kann man dann einfach auf .eventNr triggern lassen und eine beliebige Aktion ausführen lassen.
Noch mal besten Dank für den tollen Adapter!
-
@dominic151617
Diese Konfig kann ich nicht empfehlen:
Irgendein Event tritt ein bei der die CardID nicht neu geschrieben wird...
EventNr wird hochgezählt, CardID bleibt vom letzten Zugriff '1111' Eltern sind zuhause: Tor geht wie von Geisterhand aufSchnelle Abhilfe: Trigger die CardID direkt (NICHT auf "wurde geändert", sondern auf "wurde aktualisiert" + '1111')
Korrektes Setup: Schleife den Reader-1-Out zu Reder-2-In (Nur Wiegand D0 + D1) durch.
Trenne alle Zugangsberechtigungen strickt (so das nicht irgend ein Pin, Karte oder FingerPrint beide "Türen" öffnet!!
Jetzt kannst du an Türe-2 "...unlocked" (auf "ist Wahr") dein Garagentor öffnen wenn Eltern-Zuhause.Sollte es kein Reader-1-Out geben, kannst du bei den meisten Readern auch einfach D0 + D1 direkt durchschleifen (Das hängt aber von den Reader ab, nicht von dem Controller). Sollte der Reader zuwenig Pegel liefern für's durchschleifen, gibt es noch den "Multikanal-Wiegand". Wie gesagt, nur wenn's nicht mit ner trivialen Drahtbrücke klappt
-
@dominic151617 ... hast du es geändert?
-
@kbrausew Sorry, bin jetzt erst dazu gekommen. Danke auf jeden Fall noch mal für die Warnung.
Die Lösung, den zweiten Türeingang zu nutzen, setzte ich mal auf die ToDo Liste. Ich hab mich jetzt erstmal für die Softwarelösung entschieden. Das geht einfach schneller. Ich hab es noch etwas anders gemacht. Ich Trigger auf LastEvent ist größer geworden und kontrolliere dann auch noch mal den Zeitstempel. Mal schauen wie robust das ist. Geht das Tor auf bekomme ich bis auf weiteres eh noch ne Nachricht.
Besten Dank nochmal!
-
... LastEvent ...
Darf ich hier EventNr unterstellen.
Du hast mich nicht ganz verstanden! Trigger gar nicht auf EventNr, das ist viel zu unsicher ( siehe mal hier Zeile 17 bis 48 ) Hier können viel zu viele Events die nichts mit der Türe zu tun habe aufschlagen.
Nimm einfach lastSwipe, der ist zuverlässig...
-
@kbrausew OK, interessant. Dann stelle ich das doch noch mal um. Danke!
-
@kbrausew also ich habe jede erdenkliche möglichkeit ausprobiert ich bekomme den adapter nicht zum laufen. es endet eigentlich immer mit "Problem with controller 4250XXXXX: timeout" habe so ziemlich alles gelesen und befolgt keine chance.
-
Ich habe leider genau das gleiche Problem
Auch Timeout Fehler. ioBroker läuft bei mir in nem Docker. Ist das evtl. ein Problem?
-
-
@samson71 vielen dank für deine antwort. also ich habe jede erdenkliche art der konfiguration ausprobiert.
iobroker läuft in einer proxmox VM und die VM hat mehrere netzwerkinterface (es macht keinen unterschied welcher verwendet wird). am selben proxmox node läuft auch ein windows 10 wo die uhppote software läuft diese kann die uhppote controller per broadcast wie vorgesehen finden. iobroker läuft auf einem debian und kann es leider nicht.
nodejs v14.19.3
npm 6.14.17werden für verwendet iobroker host inkl. admin ist am letzten stable stand.
bei remote-einrichtung werden keine controller gefunden
bei der manuellen einrichtung nur mit seriennummern der controller kommt der timeout fehler
bei der manuellen einrichtung mit netzwerk informationen kommt der timeout fehlerwas könnte ich noch probieren?
vielen dank und lg
-
Mit Broadcast habe ich schon rausgelesen. Aber egal was ich eingebe, es funktioniert leider nicht
-
@warp735
Mir fällt auf den 1. Blick nur auf, dass die Netzwerkschnittstelle von der offengelegten Server-Host-Adresse abweicht (sollte beides die IP vom ioBroker sein).
Controller IP ist natürlich die der Karte.Sieht bei mir so aus:
-
@samson71
Weiter oben stand, man solle die IP vom Host nehmen auf dem der Docker läuft?
Aber hatte auch schon die andere IP drin. Ändert leider auch nichts.