| Both sides previous revision Previous revision Next revision | Previous revision |
| indigo_2025.1_documentation:plugin_guide [2026/01/23 16:24] – [Device Specific Methods] davel17 | indigo_2025.1_documentation:plugin_guide [2026/03/13 01:46] (current) – [Color Picker] davel17 |
|---|
| {{:indigo_2025.1_documentation:color_picker.png?200|}} | {{:indigo_2025.1_documentation:color_picker.png?200|}} |
| |
| <code><Field id="exampleColorPicker" | <code><Field id="exampleColorPicker" type="colorpicker" tooltip="Click this button to select a color."> |
| type="button" | |
| tooltip="Click this button to select a color."> | |
| <Label>Color:</Label> | <Label>Color:</Label> |
| <CallbackMethod>ColorPickerPressed</CallbackMethod> | <CallbackMethod>ColorPickerPressed</CallbackMethod> |
| |//''enabledBindingNegate''//| No | 1.9 |Set this to "true" to negate the binding. So if the target binding field's value is true then the binding will be false. | | |//''enabledBindingNegate''//| No | 1.9 |Set this to "true" to negate the binding. So if the target binding field's value is true then the binding will be false. | |
| |//''id''//| Yes | 1.0 |This is a unique identifier for this Field within the context of this //''ConfigUI''// element.| | |//''id''//| Yes | 1.0 |This is a unique identifier for this Field within the context of this //''ConfigUI''// element.| |
| |//''type''//| Yes | 2.0 |This must be //''colorPicker''//.| | |//''type''//| Yes | 2.0 |This must be //''colorpicker''//.| |
| |//''visibleBindingId''//| No | 1.0 |If you want to conditionally show/hide this field based on the value of another field, set this value to the //''id''// of another field. If you set this, you must also include a //''visibleBindingValue''//| | |//''visibleBindingId''//| No | 1.0 |If you want to conditionally show/hide this field based on the value of another field, set this value to the //''id''// of another field. If you set this, you must also include a //''visibleBindingValue''//| |
| |//''visibleBindingValue''//| No | 1.0 |If you specify a //''visibleBindingId''//, you must specify the value(s) here. For instance, if you are binding to a checkbox, setting this to //''false''// will mean the menu field is visible only when the checkbox is unchecked, and a //''true''// means the opposite. To make the field dependent on another list or menu, set this value to a comma separated list of option values (//''item1, item2''//). You can even bind it to the value in a text field, but that’s probably of limited use. **Note**: the string comparison is a contains - so if any option contains the specified string it will match. This offers some extra flexibility in defining dependency groups.| | |//''visibleBindingValue''//| No | 1.0 |If you specify a //''visibleBindingId''//, you must specify the value(s) here. For instance, if you are binding to a checkbox, setting this to //''false''// will mean the menu field is visible only when the checkbox is unchecked, and a //''true''// means the opposite. To make the field dependent on another list or menu, set this value to a comma separated list of option values (//''item1, item2''//). You can even bind it to the value in a text field, but that’s probably of limited use. **Note**: the string comparison is a contains - so if any option contains the specified string it will match. This offers some extra flexibility in defining dependency groups.| |
| |<code>deviceDeleted(self, | |<code>deviceDeleted(self, |
| dev)</code>| No |Complementary to the ''//deviceCreated() method//'' described above, but signals device deletes. The default implementation just checks to see if the device belongs to your plugin and if so calls the ''//deviceStopComm()//'' method. If you implement this method you'll need to call ''//deviceStopComm()//'' yourself or duplicate the functionality here.| | dev)</code>| No |Complementary to the ''//deviceCreated() method//'' described above, but signals device deletes. The default implementation just checks to see if the device belongs to your plugin and if so calls the ''//deviceStopComm()//'' method. If you implement this method you'll need to call ''//deviceStopComm()//'' yourself or duplicate the functionality here.| |
| | |<code>getDeviceConfigUiValues(self, pluginProps, typeId, devId)</code>| No |This method will get called whenever an Device configuration is opened. Indigo will look for this method and, if it exists, will pre-populate the configuration dialog with the information created/modified in the method. This method is particularly helpful when you want an Device's configuration to be different from the default (set in the Device configuration XML file). A simple example is provided below.| |
| |
| ==== getDeviceConfigUiValues Example ==== | ==== getDeviceConfigUiValues Example ==== |
| return (valuesDict, errorsDict) | return (valuesDict, errorsDict) |
| </code> | </code> |
| |FIXME add action group documentation when it is complete (not currently available)||| | |
| |
| === Trigger Specific Methods === | === Trigger Specific Methods === |