OpenGarage Cover
The opengarage cover platform lets you control the open-source OpenGarage.io device through Home Assistant.
To enable OpenGarage Covers in your installation, add the following to your configuration.yaml file:
# Example configuration.yaml entry
cover:
  platform: opengarage
  covers:
      garage:
        host:  192.168.1.12
        device_key: opendoor
        name:  Left Garage Door
      garage2:
        host:  192.168.1.13
        device_key: opendoor
        name:  Right Garage Door
Configuration variables:
- covers array (Required): List of your doors.
    - identifier  (Required): Name of the cover as slug. Multiple entries are possible.
        - host (Required): IP address of device.
- port (Optional): HTTP Port. Default is 80.
- device_key (Required): Access key to control device. Default is opendoor.
- name (Optional): Name to use in the Frontend. If not provided, it will use name configured in device.
 
 
- identifier  (Required): Name of the cover as slug. Multiple entries are possible.
        
Example with more detail:
   
# Related configuration.yaml entry
cover:
  platform: opengarage
  covers:
      garage:        
        host: 192.168.1.12
        device_key: opendoor
        name: honda
sensor:
  platform: template
  sensors:
    garage_status:
      friendly_name: 'Honda Door Status'
      value_template: '{% if states.cover.honda %}
          {% if states.cover.honda.attributes["door_state"] == "open" %}
            Open
          {% elif states.cover.honda.attributes["door_state"] == "closed" %}
            Closed
          {% elif states.cover.honda.attributes["door_state"] == "opening" %}
            Opening
          {% elif states.cover.honda.attributes["door_state"] == "closing" %}
            Closing
          {% else %}
            Unknown
          {% endif %}
          {% else %}
          n/a
          {% endif %}'
    garage_car_present:
      friendly_name: 'Honda in Garage'
      value_template: '{% if states.cover.honda %}
          {% if states.cover.honda.state == "open" %}
            n/a
          {% elif ((states.cover.honda.attributes["distance_sensor"] > 40) and (states.cover.honda.attributes["distance_sensor"] < 100)) %}
            Yes
          {% else %}
            No
          {% endif %}
          {% else %}
          n/a
          {% endif %}'
group:
  garage:     
    name: Garage
    entities:
      - cover.honda
      - sensor.garage_status
      - sensor.garage_car_present     
customize:
  cover.honda:
    friendly_name: Honda
    entity_picture: /local/honda.gif
  sensor.garage_car_present:
    icon: mdi:car
