I am curious ,can I set randomly on demand set light timers with a bulb or a zwave switch ?
For example , when i put my kids to bed which is slightly at a random time each night . I tell them they can read for 30 minutes.
What is the best way to do something that starts the 30 minute timer once I let them know they have thirty minutes so when it's up it turns the switch or bulb off.
One location it will be a switch , another location it will be a smart bulb.
Do you use Alexa or Google Home?
One simple solution would be to create a virtual switch, which is used to trigger a 30 minute timer, at the end of which the switch and/or bulb is turned off.
If the virtual switch is exposed to the Amazon Echo Skill (or the equivalent Google Home skill), you could start the timer with a vocal command.
I would use a pushbutton like maybe the Smartthings single button or similar.
Then you could have a very simple rule that when the button is pushed, delay 28-29 minutes, maybe flash or dim the bulb or give a spoken warning, then turn off the light after that final 1-2 minute delay. Make the rule NOT cancelable, so they can't push the button to get another 30 minutes.
Also along the lines of @aaiyar's suggestion... You could also do without the voice commands if you want, and just start the timer from a tile on a dashboard on your phone.
Those are all good suggestions and all doable. I see that you're using a smart switch and a smart bulb? will you be cutting power to the bulb? I wouldn't be a fan of cutting power to your smart bulb. We use a button timer and a virtual switch like @aaiyar suggested. it works great and a rule woudl be very easy to fashion. You'd just want to make sure that it's absolute, or you'll find your kids will figure out how to reset tht fairly quickly.
Here's a good virtual driver to use with @aaiyar suggestion.