Because the input is not a trigger and listener is not the same thing as a connection.
vcBooleanSignalMap has an event that can be used to listen for port value change. vcHelpers.Robot does have a method that allows you to wait for an input port connected to a signal to have a defined value, and it is the same as using a Wait Binary Input Statement in robot program.
A signal has a Connections property. And your script needs to be listed as a connection of that signal in order for the signal to be a trigger in the script. An input port is not a signal. So the expression in your triggerCondition returns a false value.
You have a few options.
Option 1 - Script behavior is added as connection to the signal connected to the input port, and then that signal is used as trigger NOT the port.
Option 2 - Refactor and use vcBooleanSignalMap event to listen for port value change.
Option 3 - Refactor and use the vcHelpers.Robot object to call the wait() method.
Option 4 - Refactor and create a loop that checks the value of the signal connected to the input port at a certain hertz, thereby delaying the script.
Personally, I would do option 3. I think there is a tutorial in academy that shows how to do option 2, but I don’t remember the lesson offhand.