Switch
Introduction
This tutorial will show you how to create a switch that when pushed will go in and tick for a certain amount of time, then pop back out.
Entity Creation
1. Using the Entity Tool, place a prop_dynamic where you would like the switch model. Set the properties to the following:
Property Name Value World Model models/props/switch001.mdl Name switch_model
2. Create a 16x16x16 block brush covering the button on the model textured with tools/toolsinvisible. Tie it to a func_button. Under Flags, check Don't move and change the Delay before Reset to however long you want to prevent the player from activating it again.

3. Create 3 ambient_generic entities near the switch. Give them the following properties: 1
Property Name Value Name switch_sound_up Sound Name Portal.button_up SourceEntityName switch_model
Property Name Value Name switch_sound_down Sound Name Portal.button_down SourceEntityName switch_model
Property Name Value Name switch_sound_tick Sound Name Portal.room1_TickTock SourceEntityName switch_model
For the switch_sound_tick entity, un-check Starts Silent under Flags.
4. Next create a logic_timer somewhere near the switch. Give it the following properties:
Property Name Value Name switch_sound_tickloop Starts Disabled Yes Refire Interval 1
And the following Output:
My Output Target Entity Target Input Parameter Delay Only Once OnTimer switch_sound_tick PlaySound <none> 0.00 No
5. Select the func_button and add the following outputs:

Add in your door open triggers with OnPressed and closing triggers with OnOut. You can also put in some indicator lights for added effect. Download the tutorial map here.