|Latest release:||v1.0.2 released on Jan. 23, 2015|
|Requires:||Indigo v6.1.0 or higher|
|Download latest release|
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.
|Released on:||Jan. 23, 2015|
|Download this release|
Initial plugin store release