What is the name of the protocol(s) used to let an automatic garage door opener know which button I've pushed on the wall control panel?
I did a little probing with my oscilloscope on my Chamberlin liftmaster pro formula 1 opener wires. There are 2 wires that connect to a 3 button wall switch (door open/close, light on/off, lock on/off). It's a PWM encoded DC signal with highs around 18v. When no buttons are pressed, there is a low pulse @ 80Hz periods that lasts for 200us.  When the light button is pressed, the two wall wires are connected to a 1uF electrolytic capacitor which alters the PWM signal to have low periods of ~3ms.  The lock button has a 22uF cap on it, so the low signal will be even longer.  When the door button is pressed, the wires are shorted (0V, no PWM). 

Also worth noting is when the opener is "locked", the wall switch LED flashes. So effectively there are 2 PWM signals on the line now: one wide low pulse so that us humans can see the LED turn off, and the regular 80Hz pulses during the high periods (LED on) for wall panel button detection. 

Given all of this, there are 2 possible ways they measure this. One would  be a digital sampling circuit in the opener that is measuring the widths of the low pulses to detect a button press. Another is using an ADC input pin to measure the slope of the falling edge/discharge. The larger cap will be slower. 

I don't have any other openers to sample, but I suspect they all could be different. They may all utilize PWM encoding since there are only 2 wires for the wall panel, but the pulse patterns used are most likely different. Thus, you may not be able to make one device that can control every device. 

For my solution, I bought a home security reed switch that connects when a magnet is nearby (called a normally open (NO)). I mounted the magnet on the door, and the reed switch on the door jam. One switch pin goes to ground, the other to an input pin on my microcontroller that is configured to have an internal pull up resistor.  This way, when the door is closed, the switch closes and the input pin goes to zero. Keep in mind you might want to have some sort of de-bounce detection in your microcontroller code as the reed switch can bounce around before it settles.  Since the door control is simply shorting the two controller wires together, this was done with a simple relay controlled by the microcontroller. 

As for controlling the light, you would need to get some sort of light detector for the microcontroller to know the state of the light. To control the light operation, you would need to implement another relay, but this one has a 1uF cap in series with the relay. This would nearly perfectly emulate the different PWM signal just like the wall switch does. 

To know what lock state the opener is in, you would need to build a PWM detector inside your microcontroller to look for those very wide low pulses (LED off). Sending the lock command to the opener would be like the light switch, but with a 22uF cap in series.