Virtual Garage Door  

Developer: papamac
Category: Security & Locks
Github: Github Repo
Assistance: Get help!    Check the online documentation
Plugin ID: net.papamac.indigoplugin.virtualgaragedoor
Latest release: v1.2.6 released on Dec. 19, 2023
Release downloaded: 0 times
Requires: Indigo v2022.1.0 or higher
(Check the Releases tab below for older releases that may have different requirements)
  Download latest release

Monitoring and control of conventional garage door openers in Indigo

The Virtual Garage Door (VGD) plugin monitors one or more Indigo devices to track the garage door as it moves through its operational cycles. It saves the door states in the states dictionary of a VGD opener device. The states are displayed in the Indigo Home window and are available for use by scripts, action groups, control pages, triggers, and other plugins. The VGD plugin also provides actions to open, close and toggle the garage door.

VGD opener devices work with Apple HomeKit by using the HomeKitLink Siri (HKLS) plugin. After installation and setup, you can use the Apple Home application to monitor and control your garage doors. With any Apple device, you can also monitor and control your doors verbally using Siri. Say "Siri, check the garage door status" or "Siri, open the garage main door".

The VGD plugin can monitor a wide variety of optional devices that are already available in Indigo as supported devices or through existing 3rd party plugins. These include both z-wave devices and custom/wired devices. Device types include relays, contact sensors, tilt sensors, and multisensors. Please see the latest list of supported devices.

The garage door tracking accuracy depends upon which _monitored devices_ are selected and the door's operational cycle. The wiki Design page (Section 3.4) contains a detailed discussion of the tracking performance under a wide range of conditions. This allows the user to select the set of _monitored devices_ to best meet his specific needs.

The following table lists the top level requirements for the Virtual Garage Door plugin:

Requirement Description
Indigo Version 2022.1.0 or higher
Python Library (API) Official (3.x)
Requires Local Network Yes
Requires Internet Yes
Hardware Interfaces Various z-wave / custom devices from the supported devices list.

Please see the VGD wiki for details on the design, configuration, and use of the plugin.

You can download the latest version of the plugin at the Indigo Plugin Store. Your bug reports, comments and suggestions will be greatly appreciated. Please post them on papamac's VGD user forum.

Release details
Released on: Dec. 19, 2023
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

Rename hlksConfig.png to hklsConfig.png.

Release details
Released on: Dec. 18, 2023
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

Correct errors in Wiki Sections 4.2 and 4.3 that reference ConfigUi images. Delete the image file hkbConfigUi.png and replace the file hklsConfigUi.png.

Release details
Released on: Nov. 27, 2023
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

Correct a bug that causes messages from class VirtualGarageDoor to refer to an old opener door name if the name was changed by the user after initialization.

Improve the travel timer device management process. Standardize travel timer device names and restore them if they are changed. This change is explained in detail in a new Wiki Section 5.4

Release details
Released on: Nov. 12, 2023
Requires: Indigo v2022.1.0+
Changes in this release

Correct a minor omission in v1.2.2 that adds an incorrect note in the PluginConfig GUI.

Release details
Released on: Nov. 11, 2023
Requires: Indigo v2022.1.0+
Changes in this release

The bug fix in v1.2.1 doesn't work. It erroneously assumes that the Indigo server initializes the pluginPrefs directly from the PluginConfig.xml file. It does not; it loads pluginPrefs from a different preferences file written by a prior plugin execution. For a true first time execution (with no prior file), the pluginPrefs are still not initialized properly. The replacement fix in this release assigns the default INFO loggging level in pluginPrefs when there is no prior file. It works and has been tested thoroughly.

Release details
Released on: Oct. 9, 2023
Requires: Indigo v2022.1.0+
Changes in this release

In v1.2.0 the key loggingLevel is not found in the pluginPrefs dictionary after the plugin is loaded for the first time. v1.2.1 moves this reference from the __init__ method to the startup method to allow the Indigo server to initialize the pluginPrefs dictionary from the PluginConfig.xml file.

Release details
Released on: Sept. 24, 2023
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

1. Refactoring to improve code readability and maintainability:

(1) Divide the _Plugin_ class into two classes: _Plugin_ which encapsulates the Indigo device behavior and _VirtualGarageDoor_ which encapsulates the detailed door behavior. The _VirtualGarageDoor_ class has instances for each VGD plugin device.

(2) Move startup functions from the _startup_ method into the _init_ method. Remove the _startup_ method override and use the superclass method. Remove the do nothing _del_ method and use the superclass method.

(3) Consolidate multiple ConfigUi callback methods (one for each monitored device type) into a single method (_setMDevConfig_) that works for all types.

2. Documentation:

Update module headers, add/update class/method docstrings, and update the wiki. Of particular note is the revised wiki Section 3.1.5 Apple HomeKit Integration.

3. A few minor improvements:

(1) Add the _pseudoRelay_ device type id to the genericSensorTypeIds. This will allow Indigo virtual devices to be used as VGD sensor devices.

(2) Ignore multiple consecutive reports for the same monitored device event within a 1 second time interval. Log a warning mesage when duplicates are detected. This change will minimize the impact of sensor errors and monitored device configuration errors. It will facilitate problem diagnosis and resolution.

(3) Use monitored device ids to initialize opener devices instead of the monitored device names. This allows monitored devices to be renamed if desired without immediately reconfiguring.

Release details
Released on: Jan. 29, 2023
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

When upgrading VGD from v1.0.6 to v1.1.1, a "key not found in dictionary" error occurs during the first execution of the plugin. It is an initilization error that disappears when the plugin is configured and reloaded. VGD 1.1.2 fixes the error for those who have not yet upgraded. If you have already upgraded to v1.1.1 and are running successfully after configuring/reloading, there is no need to install this version.

Release details
Released on: Jan. 22, 2023
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

This release includes major updates the wiki to (1) correct errors, (2) improve discussions of door state tracking/tracking performance, (3) add a new section on error detection, reporting, and recovery, and (4) document the plugin.py changes introduced in the interim version v1.1.0. Several new plugin.py changes are also included. These relatively minor changes are listed in the CHANGE LOG in the plugin.py module docstring.

GitHub release v1.1.1 provides a fully documented, formally released Virtual Garage Door (VGD) plugin that can fully integrate with Apple HomeKit. The version allows the use of the Apple Home application to close the door when it is not fully open. This facilitates recovery from obstructed states after the obstruction has been cleared. It also enables two new capabilities using the Home application: (1) continuous state tracking, and (2) obstruction detection and reporting. To use these new capabilities, the VGD opener devices must interface to HomeKit using a future release of the HomeKitLink Siri (HKLS) plugin. The HomeKit capabilities provided by the various combinations of VGD versions and HomeKit integration plugins is explained in the wiki Design pages (see Table 2).

Release details
Released on: Sept. 9, 2022
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

This release provides a significant update to the wiki, organizing it into multiple pages, and including new supported devices and references pages.

The supported devices page includes an number of new devices and plugins that are now usable with the Virtual Garage Door plugin, but have not all been tested. The specs for these devices and plugins have been reviewed by papamac and they seem to be suitable for the functions listed. The new deviceTypeIds are included in the plugin so they will be available in device selection, but they are not guaranteed to work. If you use any of these with the plugin please share experience (positive or negative) on papamac's Virtual Garage Door user forum.

This change is intended to satisfy user requests to support a number of Aeotec devices, Shelly devices, Zooz devices, Virtual Devices, Masqueraded devices, et al. papamac does not have the resources to test all of these. If users provide feedback on their experiences, however, we should be able to update the supported devices page to include only fully-tested devices and plugins in future releases.

Release v1.0.6 also fixes a bug in state tracking that incorrectly equated a timer inactive event (tt-off) with an expired timer. The fix definitively detects a new timer expired event (tt-exp) to simplify tracking. The old tt-off event is ignored.

The release also increases the default value for the vibration sensor reset delay time from 1.5 to 2 seconds. This was needed to eliminate false vs-on activations in papamac's home system. The user must set this value for each of his door openers.

Release details
Released on: Aug. 16, 2022
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

This release allows supported z-wave relay devices to be used with the plugin. It was specifically added to support the ZooZ Zen 17 z-wave relay, but should now work with other z-wave relays as well.

Release details
Released on: Aug. 5, 2022
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

Improve README and Wiki documentation

Release details
Released on: July 27, 2022
Requires: Indigo v2022.1.0+
Downloaded: 0 times 
Changes in this release

This release increases the maximum value of the vibration sensor reset delay time from 2 to 5 seconds. The default delay remains at 1.5 seconds. Recent experience with papamac's vibration sensor suggests that the user should have more lattitude in setting this value.

v1.0.3 also removes the plugin bundle zip file from the repo. A new indigoplugin.zip file will now be attached to each release for the user's convenience when downloading from the Indigo Plugin Store.

Release details
Released on: July 25, 2022
Requires: Indigo v2022.1.0+
Changes in this release

This release changes some comments and URLs for the initial Indigo release.

Release details
Released on: July 23, 2022
Requires: Indigo v2022.1.0+
Changes in this release

This release adds a new user-specified vibration sensor reset delay time to delay the sensor reset after the door stops. This prevents false vibration sensor activations from residual actuator shaking. The delay time defaults to 1.5 seconds. This value works for papamac's opener, but may not be sufficient for yours. You may need to increase it if you experience false vibration sensor activations after the door stops.

The change adds a new field in the opener device configuration UI. This requires that you delete and re-create your opener devices to use the change.

Release details
Released on: July 22, 2022
Requires: Indigo v2022.1.0+
Changes in this release

Initial release for the Indigo Plugin Store.