Door Opening
A visitor opens a door with their phone. VisitorPass asks the integration over its channel, and the integration presents the visitor's badge on a door reader, as if a card had been held to it. AEOS decides whether the door opens, exactly as for a physical card, and keeps the audit trail.
The badge must already be on a carrier in AEOS — put there by Visitor Provisioning or by Credential Issued.
Requirements
- Connection 1 in the network requirements: TCP 8001 from the AEOS server to each AEpu door controller.
- An AEmon user that can edit and deploy the configuration of each AEpu.
- The doors to be opened already exist in AEOS and work with a physical reader.
Prepare each AEpu
In AEmon, for each AEpu with doors to open:
-
Add a GenericDeviceInterface with these properties:
Field Value Channel connection provider TCP transport layer, listening port8001Address offset 500Address range per device master 1Message syntax version 0Message logging off -
Under Device channel addresses, add device number
1, channel address00000001, Enabled. - Deploy the configuration to the AEpu.
Configure the service
Add a dip section to server.json, with one entry per AEpu:
"dip": { // (1)!
"enabled": true,
"aepus": [
{
"host": "<aepu-host>", // (2)!
"port": 8001, // (3)!
"readers": [ // (4)!
{ "readerId": "<reader-uuid>", "label": "Main entrance" }, // (5)!
{ "readerId": "<reader-uuid>", "label": "Side entrance" }
]
}
]
},
- The AEpu door controllers the service presents badges at. Used by Door Opening only; leave the section out without it.
-
The address of the AEpu door controller, not the AEOS server.
Value: the controller's IP address or host name, as AEmon shows it.
-
The port the AEpu listens on for the service.
Value: the listening port of the AEpu's GenericDeviceInterface from Prepare each AEpu,
8001. -
One reader per door wired to this AEpu. Each becomes an output on the AEpu's
DipBriblock in AEmon, in list order.Add new readers to the end of the list. Reordering or removing a reader moves every door after it onto a different output, and the wrong door opens.
A spare reader at the end costs nothing, and saves a restart when a door is added.
-
One door.
readerId: a UUID that identifies the reader, unique across all AEpus. Partisia makes it, together with the reader's door QR code: the code names this id.label: the door's name, shown on theDipBrioutput in AEmon.
Each reader gets a door QR code, which visitors scan with their wallet to open the door. A door with an in and an out reader has two. Partisia makes the codes and the stickers.
Partisia staff
PRODUCTION.md in the visitorpass-aeos-integration repository › Door Opening › Create a door
QR code
Restart the service:
.\servy\servy-cli.exe restart --name visitorpass-aeos-integration
Wire the doors
In AEmon, for each AEpu:
- Open the configuration diagram. A
DipBri (501)block has appeared, with one output per reader inreaders. - Wire each output to its door, through a
BadgeMuxwhere the door also has a physical reader. -
On each door wired to a
DipBrioutput, add an identifier type entry:Field Value Identifier type GenericTarget identifier type GenericSub type 3Data type filter ffffBadge number Binary,Hex, bit position0, length128Customer code length 0, fixed code offReverse bytes off -
Deploy the configuration to the AEpu.
Verify
-
Check that the service has connected to every AEpu:
Select-String -Path logs\out.log -Pattern 'Connected to AEpu','Failed to connect to AEpu' | Select-Object -Last 10 -
Open a door from a test visitor's phone, and check that the badge was presented:
Select-String -Path logs\out.log -Pattern 'Emitting badge' | Select-Object -Last 5 -
Check in AEOS that the door event names the test visitor.