I was able to figure this out. I had to completely abandon the garage door cover. I still use the input_booleans for each state, then I use automations to move the state machine through the states. Here is the code that works below. Notice that it is now a “sensor” and no longer a cover. All of the states work properly.
The only part I need to figure out is how to change the color of the icons in the various states. Anyone know how to do that? I tried adding an icon_color:
section but it didn’t like that one bit.
sensor:
- platform: template
sensors:
garage_door_controller:
friendly_name: "Garage Door Controller"
value_template: >
{% if is_state('input_boolean.garage_main_door_closing','on') %}
Closing
{% elif is_state('input_boolean.garage_main_door_open','on') %}
Open
{% elif is_state('input_boolean.garage_main_door_opening','on') %}
Opening
{% else %}
Closed
{% endif %}
icon_template: >
{% if is_state('input_boolean.garage_main_door_opening','on') %}
mdi:garage-alert
{% elif is_state('input_boolean.garage_main_door_open','on') %}
mdi:garage-open
{% elif is_state('input_boolean.garage_main_door_closing','on') %}
mdi:garage-alert
{% else %}
mdi:garage
{% endif %}