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

coversmapRequired

List of your doors.

identifiermapRequired

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

sslboolean(Optional, default: false)

Use HTTPS instead of HTTP to connect.

verify_sslboolean(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.

hoststringRequired

IP address of device.

portinteger(Optional, default: 80)

HTTP Port.

device_keystringRequired, default: opendoor

Access key to control device.

namestring(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 %}'
    garage_car_present:
      friendly_name: 'Honda in Garage'
      value_template: '{% if states.cover.honda %}
          {% if is_state("cover.honda", "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