home-assistant.io/source/_integrations/opengarage.markdown

3.8 KiB

title description ha_category ha_iot_class ha_release ha_domain ha_codeowners
OpenGarage Instructions on how to integrate OpenGarage.io covers within Home Assistant.
Cover
DIY
Local Polling 0.44 opengarage
@danielhiversen

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 %} covers: description: List of your doors. required: true type: map keys: identifier: description: Name of the cover as slug. Multiple entries are possible. required: true type: map keys: ssl: description: Use HTTPS instead of HTTP to connect. required: false type: boolean default: false verify_ssl: description: 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. required: false default: true type: boolean host: description: IP address of device. required: true type: string port: description: HTTP Port. required: false default: 80 type: integer device_key: description: Access key to control device. required: true default: opendoor type: string name: description: Name to use in the Frontend. If not provided, it will use name configured in device. required: false type: string {% endconfiguration %}

Example with more detail:

{% raw %}

# 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

{% endraw %}