All of these sound like they'd be very useful.
In regards to the OP, would it be possible to either add a time parameter to a trigger, or maybe even have "Timer" be an available "device" in the tool chain on the Cayenne side, where an event could trigger a timer to turn on, that then triggers another event when it times out. Ideally this could be set up as a one-shot or repeating event.
For custom device drivers, I would like to see a Python API that could be used on the RasPi side to communicate with a "User Device" Cayenne widget. To start with, the widget(s) wouldn't necessarily having to be directly modified by the user, they'd just respond to data coming from the API.
I realize that the more you open things up the more careful you have to be with implementation for security and reliability reasons, but these type of features also move the Cayenne product up to a whole new level of application applicability. They will also allow those that start using Cayenne for simple applications with little code, to stay with the platform as their applications grow in complexity.