Overview
At the time of writing this article, when a NAC's Relays are assigned to a Lift's floors, they cannot be controlled by DGP Macros. This is just a current limitation at this stage.
So this article describes a way to achieve this type of control where needed.
Limitations and Information:
Note that this method can use more DGP Macros, and there is a maximum of 48 DGP Macros per NAC, so you will find that this workaround may be limited to only up to 19 floors, and will depend on your individual setup. This workaround is only suited to smaller setups, or where only some Lift Floor relays need external control.
Note that you CAN apply this process to just the Lift Floor relays that require control by DGP Macros, and leave the rest as directly programmed to the Physical relays.
The Process
To implement this workaround, we will be using what we call "virtual" relays, which are relay numbers that aren't connected to any real physical relays in the system.
The process is as follows:
- Step 1 - Assign the lift's Floor relays to Relay numbers that are higher than the Physical relays present.
- For example, if this NAC has 1x 8-way relay expanders connected, this would mean we have the 4 onboard relays, plus the 1x 8-way relay expander = Physical relays 1-12. These are the Physical relays that will control the floors, but for this workaround we won't assign them to the Lift floors.
- Since in this example, the Physical relays present are 1-12, this then means that all relay numbers above 13 will be virtual relays, since they don't have any real Physical relays on expanders associated with them in this example system.
- So we will then assign relays 13 onward to be the floor relays for each lift. They won't be connected to any real relays at this stage, but in the next step, we will then link them to the Physical relays with DGP Macros.
- On your system, you would pick a starting number that is higher than the total number of relays you have physically present on the NAC in question.
- Step 2 - Create DGP Macros to link the virtual relays to the real relays
- For each lift floor with a relay, now make a DGP Macro that links the Virtual relay that was assigned to it in the step above, to the real relay.
So lets say that Lift 1, Floor 1, has Virtual relay 13 assigned to it from Step 1 above, and you want it to control Physical relay 1, then create a DGP Macro that activates Physical relay 1, when Virtual relay 13 is activated. It would look something like this:

- Then create one of these DGP Macros for each Lift / Floor to link the Virtual relays assigned to the floor, to the Physical relay that they actually want to control.
The above method will then mean that the Physical relays are no longer tied to being used only as a Lift relay, because the Virtual relays are now tied to the Lift Floors instead.
So now these physical relays can also be controlled by whatever other Macros are needed on the site, and these will now work, since they are not tied to the Lift Floors.
Continuing from the example above, as a further example, if you wanted Input 1 on the NAC to activate the Lift 1, Floor 1 button, you could then program as follows:
Note that in the example above, the "Not" tick box is ticked in the Activate section, because Lift Floor relays work inverted, where an Active relay usually means the floor is locked out, and an Inactive relay means access is allowed to the floor. Ticking the "Not" box achieves this, so that when the input is unsealed, access will be allowed to the floor.
While this workaround method does use more DGP Macros, and a number of Virtual Relay numbers, it can help in achieving DGP Macro control of any relays for Lift Floors for smaller setups.