OpenGarage


The opengarage cover platform lets you control the open-source OpenGarage.io device through Home Assistant.

Configuration

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:
      protocol: https
      verify_ssl: false
      host: garage.example.com
      port: 443
      device_key: opendoor
      name: Right Garage Door

Configuration Variables

covers map Required

List of your doors.

identifier map Required

Name of the cover as slug. Multiple entries are possible.

ssl boolean (Optional, default: false)

Use HTTPS instead of HTTP to connect.

verify_ssl boolean (Optional, default: true)

Enable or disable SSL certificate verification. Set to false if you have a self-signed SSL certificate and haven’t installed the CA certificate to enable verification.

host string Required

IP address of device.

port integer (Optional, default: 80)

HTTP Port.

device_key string Required, default: opendoor

Access key to control device.

name string (Optional)

Name to use in the Frontend. If not provided, it will use name configured in device.

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 %}'

binary_sensor:
  platform: template
  sensors:
    honda_in_garage:
      friendly_name: "Honda In Garage"
      value_template: "{{ state_attr('cover.honda', 'distance_sensor') < 100 }}"
      availability_template: >-
        {% if is_state('cover.honda','closed') %}
          true
        {% else %}
          unavailable
        {% endif %}
      icon_template: >-
        {% if is_state('binary_sensor.honda_in_garage','on') %}
          mdi:car
        {% else %}
          mdi:car-arrow-right
        {% endif %}
      unique_id: binary_sensor.honda_in_garage
      delay_on: 5
      delay_off: 5

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