Issue
A door created using the SOAP API was successfully added, but the ControllerID stored in the database was 1 instead of the expected controller. The issue was reproduced using both a Python script and SOAP UI.
Product Line
EcoStruxure Security Expert
Environment
- Security Expert SOAP API (SX-SOAP-SDK)
- Python script
- SOAP UI
Cause
This behavior is expected when creating a door using the SOAP API AddRecord/AddRecordSC methods. The SOAP API automatically determines the controller assignment for doors based on the assigned hardware, including reader expanders and configured inputs/outputs. The HostController is not directly assigned by the AddRecord/AddRecordSC request for door records. If the required hardware relationships are not established at creation time, the system may fall back to a default controller association.
Resolution
Ensure that the door is linked to a reader expander and inputs/outputs that belong to the intended controller when the door is created, or immediately afterward. Confirm that the reader expander, inputs, and outputs used by the door are created before the door is created using SOAP. The SOAP API specification states that the host controller is automatically assigned based on the inputs/outputs associated with the record, and there is no need to specify the HostController directly.