Global Property Manager  

Developer: Indigo Domotics
Category: Miscellaneous
Assistance: Get help!   
Plugin ID: com.indigodomo.indigoserver
Latest release: v1.0.2 released on Jan. 23, 2015 (this release is only compatible with Indigo 2022.2 and earlier)
Requires: Indigo v6.1.0 thru v2022.2
  Download latest release

Note: this plugin is included with Indigo starting with Indigo 2021.1, so you only need to download it if you are using an older version.

This simple plugin allows anyone to add arbitrary properties to any device object. Properties are different than states - they are somewhat hidden bits of information that can be used by Python scripts or other Plugins. For example, if you have a script that needs to be able to connect a device to another Indigo object (like an Action Group), then in the past you'd have to store it somewhere else like a file. With global properties, you can add extra properties to a device that can be accessed by your script.

A couple of things to keep in mind: scripts can't add/change/delete these properties (for security purposes) - they are read-only. You must use the Plugins->Global Property Manager->Manage Device Properties... menu item to add/edit/delete the properties. Next, to access the properties from your script, you'll need to access them this way:

# First, get the device
myDevice = indigo.devices[DEVICEIDHERE]

# Next, get the props - we use the ID for the server for this particular set of properties
theProps = myDevice.globalProps["com.indigodomo.indigoserver"]

# Finally, access the value of the property. Use the get method here so that you can later test for None in case the property doesn't exist on the device
myPropertyValue = theProps.get("someKeyHere", None)

Because there is no way to segregate keys in this global space, I recommend that you prefix your keys with some combination of letters that is somewhat unique to your particular usage. We have a script called Low Battery Notification, so we named my keys with the lbn prefix, which will help distinguish them from other properties. It's just a suggestion of course, but it'll help eliminate naming conflicts.

Release details
Released on: Jan. 23, 2015
Requires: Indigo v6.1.0 thru v2022.2
Changes in this release

Initial plugin store release