To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.
If timeout-rt is a positive number, the command will run for at most that many seconds of real time.
A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.