plugin reference report - DaveL17/indigo-scripts GitHub Wiki
The Plugin Reference Report is a simple report that lists 6 Indigo object types (device, schedule, trigger, etc.) and the plugins that "own" those objects. The purpose of the report is to identify Indigo objects a plugin interacts with. An example, might make this clearer:
Plugin Reference Report v1.2.3
====================================================================================================
Plugin Number One [com.someName.myPlugin]
====================================================================================================
Action Groups
None
Control Pages
Unit Test - Control Page | 37036932 | Control Z-4
Devices
None
Schedules
None
Triggers
None
Trigger Actions
None
====================================================================================================
Plugin Number Two [com.someOtherName.someOtherPlugin]
====================================================================================================
Action Groups
None
Control Pages
embedded script test | 113479333 | embedded script
Unit Test - Control Page | 37036932 | built-in control
Devices
Custom Formula Numeric (Temperature) | 1622579693
Custom Formula String (Humidity) | 15875701
Custom Formula String (Temperature) | 300881267
Custom Linear Scale Adapter (Temperature) | 1117235347
Predefined Scale (Length) | 1531657665
Predefined Scale (Temperature) | 178492169
Schedules
None
Triggers
None
Trigger Actions
NoneKey
====================================================================================================
Plugin Display Name [Plugin ID]
====================================================================================================
Indigo Object Type
Indigo object instance name | Indigo object ID number | additional description (if appropriate)
You can adjust where the report will be sent by changing the following three variables.
-
_print_to_event_log If
True, the report will be printed to the Indigo Events log. IfFalse, a short log message will be displayed to provide confirmation that the report was generated successfully. -
_print_to_file If
True, the report will be saved to a file. The file will be written to_path_to_print. The filename will include the date and time, ensuring that saved reports are not overwritten. For example,plugin_reference_report_2025-11-15_05-32-21.txt. - _path_to_print The target path for file output. The value in the example below will save the report to the logs folder of the current Indigo install.
_print_to_event_log = True
_print_to_file = False
_path_to_print = indigo.server.getInstallFolderPath() + "/logs/"This category lists all Action Groups that reference the plugin. It includes Actions that fire plugin actions as well as Actions that reference the plugin's ID in an embedded script.
This category lists all Control Page controls that reference plugin resources directly (like turning a plugin device on or off), controls that use built-in controls to manage a plugin resource directly (like Client Action -> Popup UI Controls), or Server actions that access plugin actions (like Server Action -> [Plugin Action]) including Server Actions that execute embedded scripts. The Control Page output lists the control Z-Order number to help identify which control on the page references the plugin id (where appropriate).
This category lists all Indigo devices that are "owned" by the plugin.
This category lists all Schedules that reference the plugin's resources. It includes Actions that fire plugin actions
as well as Actions that reference the plugin's ID in an embedded script. It includes any conditions that reference a
plugin ID in the If Python script returns True field. It also includes Actions that fire plugin actions that fire
plugin actions as well as Actions that reference the plugin's ID in an embedded script.
This category lists all Triggers "owned" by the plugin. It includes any conditions that reference a plugin ID in the
If Python script returns True field.
This category lists all Indigo Triggers that are "owned" by the plugin.
The description built-in control refers to a native Indigo control that causes something to happen that references the
plugin id. For example, Client Action -> Popup UI Controls or Server Action -> Device Action -> Light/Appliance Controls -> Turn On
The description embedded script indicates that the plugin id is referenced in an embedded script called by the object
type.
In some cases an Indigo object will reference the same plugin object multiple times. For example, an Action Group might
have multiple actions that use similar plugin resources. In instances where there is no meaningful way to distinguish
them, the report will show the number of references like this: My Indigo Action Group | 25278541 | 3 references.
The report may find a plugin ID that's related to a plugin that's no longer installed on your server. It will be listed as "Plugin Not Installed" followed by the plugin ID. This may be an indication of references that you can get rid of or that the plugin has been removed, or moved to a place that Indigo can no longer see.
The report is unable to identify Indigo variables that are updated by a plugin-owned object at this time.
The report is unable to identify plugin resource references in linked scripts.