-
Notifications
You must be signed in to change notification settings - Fork 0
menu_items
The following description assumes that you have the plugin enabled in Indigo.
Select this option to disable the plugin.
Select this option to reload the plugin.
Select this option to reload the plugin in debugging mode. This option will only appear when debugging menus are activated from the Indigo "Manage Plugins" menu.
Select this option to load the plugin in interactive shell mode. This option will only appear when debugging menus are activated from the Indigo "Manage Plugins" menu.
Select this option to open the plugin configuration dialog.
Select this option to navigate to the Indigo Plugin Store page for the Multitool plugin.
Select this option to obtain a copy of the Indigo Plugin ID which is com.fogbert.indigoplugin.Multitool
Select this option to open this wiki.
The remaining menu items are the Multitool Plugin tools (and hence, the purpose for the plugin.) Menu items followed by an ellipsis will cause a dialog box to open (requiring additional steps). Menu items without an ellipsis will be executed immediately.
Selecting the Reports menu item will open a dialog where you can select from a number of Multitool reports. select the desired report from the dropdown menu and then click the Execute button.
Selecting the About Indigo menu item will cause Indigo status information to be printed to the log. The information will look something like this:
=================================================== Indigo Status Information ====================================================
Server Version: 2022.1.0
API Version: 3.0
Server IP Address: localhost
Install Path: /Library/Application Support/Perceptive Automation/Indigo 7
Database: /Library/Application Support/Perceptive Automation/Indigo 7/Databases/development environment.indiDb/development environment
Port Number: 1176
Latitude and Longitude: 12.3456789/-23.4567890
Connection Good.
Selecting the Battery Level Report menu item will cause a simple report to be written to the Indigo Events Log which will show the current battery level state for battery-powered Z-Wave devices. If no battery-powered devices are found, the plugin will note that. The output:
======================================= Battery Level Report =======================================
Basement - Flood (Water) |--------------------------------------------------| 100%
Basement - Smoke |----------------------------------------------| 92%
Foyer - Smoke (Main Floor) |----------------------------------------------| 93%
Foyer - Smoke (Upstairs) |----------------------------------------------| 92%
Garage - Motion |--------------------------------------------------| 100%
Garage - Side Door |--------------------------------------------------| 100%
Guest Bedroom - Motion |--------------------------------------------------| 100%
Main Attic - Motion |--------------------------------------------------| 100%
Master Bathroom - Motion |------------------------------| 61%
Master Bedroom - Motion |--------------------------------------------------| 100%
Master Closet - Motion |--------------------------------------------------| 100%
Office - Motion |-------------------------| 51%
Outdoor - Luminance |--------------------------------------------------| 100%
Parlor - Motion |--------------------------------------------------| 100%
Note that Insteon devices have been purposefully left off this list due to their inability to report battery level accurately.
Selecting the Environment Path menu item will cause the Indigo server machines' environment path variable to be written to the event log. The result is printed in its original order and also as a sorted list (to make it easier to find path elements.)
====================================================== Current System Path =======================================================
/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Multitool.indigoPlugin/Contents/Server Plugin
/Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg
/Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/PlugIns
/Library/Python/2.7/site-packages/BeautifulSoup-3.2.1-py2.7.egg
/Library/Python/2.7/site-packages/simplejson-3.6.5-py2.7-macosx-10.9-intel.egg
(etc.)
Selecting the Indigo Inventory menu item will cause a complete list of all Indigo objects (Devices, Schedules, Actions, etc.) to be printed to the Indigo Events Log.
Selecting the Plugin Inventory menu item will cause a list of installed plugins to be written to the Indigo event log. The list contains all installed plugins, with enabled plugins listed first.
======================================================= Installed Plugins ========================================================
('com.fogbert.indigoplugin.multitool', 'Multitool')
('com.perceptiveautomation.indigoplugin.airfoilpro', 'Airfoil Pro [Disabled]')
('com.fogbert.indigoplugin.announcements', 'Announcements [Disabled]')
('com.fogbert.indigoplugin.bikeShare', 'Bike Share [Disabled]')
('com.perceptiveautomation.indigoplugin.easydaq-usb-relay-cards', 'EasyDAQ Relay Card [Disabled]')
('com.fogbert.indigoplugin.GhostXML', 'GhostXML [Disabled]')
('com.indigodomo.indigoserver', 'Global Property Manager [Disabled]')
('com.fogbert.indigoplugin.groupedDevicePlugin', 'Grouped Device [Disabled]')
('com.perceptiveautomation.indigoplugin.growl', 'Growl [Disabled]')
('com.perceptiveautomation.indigoplugin.iCalAlarmProcessor', 'iCal Alarm Processor [Disabled]')
('com.perceptiveautomation.indigoplugin.itunes', 'iTunes [Disabled]')
Selecting the Plugins Online menu item will cause a list of currently enabled plugins to be writen to the Indigo event log. The list contains useful process information.
=============================== Running Plugins ================================
501 991 990 0 Tue07AM ?? 3:01.27 /Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/MacOS/IndigoPluginHost -p1176 -f.Action Collection.indigoPlugin
501 8643 990 0 6:50AM ?? 0:02.12 /Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/MacOS/IndigoPluginHost -p1176 -fMultitool.indigoPlugin
Selecting the Display Plugin Information menu item will print select plugin environment information to the Indigo Events Log. This information is helpful when reporting bugs.
Multitool =================================================== Plugin Environment Information ====================================================
Plugin name: Multitool
Plugin version: 2022.1.4
Plugin ID: com.fogbert.indigoplugin.multitool
Indigo version: 2022.1.1
Architecture: x86_64
Python version: 3.10.2 (v3.10.2:a58ebcc701, Jan 13 2022, 14:50:16) [Clang 13.0.0 (clang-1300.0.29.30)]
Mac OS Version: 12.4
Process ID: 24439
=======================================================================================================================================
Selecting the Color Picker menu item will cause a dialog box to open which displays the Indigo color selector tool. Click on the tool to open the OS X color selector, select any color, and click Execute. The plugin will print information about the selected color to the log:
Raw: 00 00 FF
Hex: #0000FF
RGB: (0, 0, 255)
Note: the color selector will open on the server machine and not on a remote client. Also, selecting Execute will cause the plugin dialog box to close but the OS X color selector window will remain open and will need to be closed manually.
Selecting the Device Beep menu item will cause a dialog box to open which displays a dropdown list containing all Indigo devices. Select a device and click Execute. Indigo will send a beep request to the selected device. Note: not all devices will support the beep request.
Device Dependencies... [Deprecated in v2022.1.8 - see the #Object Inspection...]
Selecting the Device Dependencies menu item will cause a dialog box to open which displays a dropdown list containing all Indigo devices. Select a device and click Execute. A dictionary of the current device dependencies will be written to the log.
================== Weather - Home Weather Dependencies ===================
Data : (dict)
actionGroups : (list)
controlPages : (list)
Data : (dict)
ID : 1020767026 (integer)
Name : climate (string)
Data : (dict)
ID : 1566813188 (integer)
Name : weather (gp) (string)
Data : (dict)
ID : 416482225 (integer)
Name : weather forecast (string)
Data : (dict)
ID : 1328150221 (integer)
Name : Weather at Home (string)
Data : (dict)
ID : 380447151 (integer)
Name : weather (rnm) (string)
devices : (list)
schedules : (list)
triggers : (list)
Data : (dict)
ID : 1920848198 (integer)
Name : test trigger (string)
variables : (list)
Selecting the Device Inventory menu item will cause a dialog box to open which displays a dropdown list containing various device classes (such as Thermostat Devices, Z-Wave Devices, or Everything). Select the desired class and an inventory of the desired devices will be written to the Indigo log. The inventory will look something like this:
==================================== Inventory of 'indigo.plugins' Devices =====================================
ID Addr Name Last Changed
================================================================================================================
1317167653 [ICHATTER4] 52.45,0.04 - Almanac 2018-01-19 17:05:29
1577528355 [ICHATTER4] 52.45,0.04 - Astronomy 2018-01-19 17:05:29
681229616 [ICHATTER4] 52.45,0.04 - Hourly Forecast 2018-01-19 17:05:29
726815807 [ICHATTER4] 52.45,0.04 - Ten Day Forecast 2018-01-19 17:05:29
1258561130 [ICHATTER4] 52.45,0.04 - Tides 2018-01-19 17:05:29
679433874 [ICHATTER4] 52.45,0.04 - Weather 2018-01-19 17:05:29
1710896037 [] Announcements Device - Affirmations 2018-01-19 17:06:42
24058256 [] Announcements Device - Salutations 2018-01-19 17:06:42
1990702686 [] Announcements Device - Weather 2018-01-19 17:06:42
Selecting the Device Last Comm menu item will cause a complete inventory of Indigo devices to be displayed along with information about the last known server communication (most recent comm listed first).
=================================== Device Last Successful Comm ====================================
ID Name Last Comm Success
====================================================================================================
1149686816 Estes Park - Weather 2018-01-19 17:06:43
1710896037 Announcements Device - Affirmations 2018-01-19 17:06:42
24058256 Announcements Device - Salutations 2018-01-19 17:06:42
1990702686 Announcements Device - Weather 2018-01-19 17:06:42
1103484845 Image Downloader 2018-01-19 17:05:33
618005167 Locks Heath 2018-01-19 17:05:33
582701385 Radar Device 2018-01-19 17:05:33
470570802 San Francisco - Tide Device 2018-01-19 17:05:33
587990389 Televænget Weather (Copenhagen) 2018-01-19 17:05:33
Plugin version 2022.1.5 adds a configuration dialog with a filter setting that allows the report to be limited to selected
device classes (for example, only Dimmer devices). See the tool settings configuration dialog for the full list of
device filters available.
Selecting the Device Ping menu item will cause a dialog box to open which displays a dropdown list containing Indigo devices. Select the device that you would like to ping and select execute. Note: not all Indigo devices support the ping function.
==================== Pinging device: Workshop - Fibaro RGBW ====================
sent "Workshop - Fibaro RGBW" ping request
Elem : (dict)
Success : true (bool)
TimeDelta : 20 (integer)
Selecting the Error Inventory menu item will cause a dialog box to open which provide instructions for using
the tool. Selecting the Execute button will cause the plugin to examine the current Indigo log file for lines that
contain error messages. The parsed list of error messages will be written to a new file within the Indigo logs folder
called error_inventory.txt.
Selecting the Lorem Ipsum menu item will cause a dialog box to appear where you can select among three options:
Multitool ===================================== Lorem Ipsum Output =====================================
Multitool Velit sit porro velit labore ipsum non ipsum.
Multitool ===================================== Lorem Ipsum Output =====================================
Multitool Sed voluptatem voluptatem tempora. Neque quaerat neque etincidunt numquam modi sit. Numquam voluptatem ut velit. Quiquia neque sit quaerat sed adipisci. Velit quisquam quiquia ut eius neque ut.
Multitool ===================================== Lorem Ipsum Output =====================================
Multitool Neque porro dolor voluptatem quiquia adipisci. Consectetur numquam voluptatem tempora. Dolorem dolore velit non quaerat dolore. Numquam sed non labore neque labore. Sit amet magnam neque quisquam eius labore. Neque velit ut numquam porro. Aliquam eius adipisci magnam eius labore non. Eius velit sit quiquia porro amet ut. Etincidunt adipisci sed velit quisquam non tempora.
Voluptatem neque modi ut. Magnam etincidunt dolorem amet est quaerat. Est non amet dolorem modi magnam quiquia. Neque sed numquam sed quiquia aliquam aliquam dolore. Numquam dolor amet tempora consectetur.
Etincidunt voluptatem dolore porro. Modi neque consectetur ipsum. Est aliquam modi magnam voluptatem modi. Modi aliquam tempora magnam consectetur. Non est dolorem neque dolor est porro eius. Labore consectetur adipisci sed. Modi magnam amet quiquia.
Eius non dolorem adipisci quisquam labore. Tempora neque numquam aliquam sed labore magnam. Magnam ipsum amet ut labore consectetur. Etincidunt magnam velit ut modi magnam dolor. Aliquam aliquam voluptatem voluptatem neque.
Amet quisquam neque magnam est velit. Neque dolore voluptatem numquam magnam velit sit. Etincidunt quiquia dolore est est. Etincidunt sit tempora dolore dolore velit. Labore voluptatem magnam eius. Tempora aliquam dolor neque amet non. Dolorem sit etincidunt eius non. Quisquam quisquam sit adipisci dolorem quiquia. Voluptatem aliquam neque voluptatem.
Tempora aliquam aliquam neque amet. Magnam amet dolore modi numquam. Numquam ut numquam voluptatem porro numquam. Consectetur ut dolore quaerat consectetur. Dolore adipisci velit magnam magnam eius. Quaerat modi sed tempora ut quisquam non.
After selecting the desired output, click Execute and the requested text will be output to the Indigo Events Log.
The Lorem Ipsum tools is based on the Python lorem library. credit: https://github.com/sfischer13/python-lorem
Selecting the Man Page... menu item will cause a dialog box to appear where you can enter terminal commands; clicking on the Execute button will cause the corresponding man page to appear. Use cautiously as there is no filtering for invalid commands.
Important
The Man Page tool has been deprecated because MacOS no longer supports scripting its display.
Selecting the Method Signature menu item will cause a dialog box to open which displays a dropdown list of all available Indigo methods. Selecting a method from the list will cause the method's signature to be printed to the Indigo log. You may select as many methods as you like; when you are finished using the tool, select the Close button to exit.
self.validatePrefsConfigUi: ArgSpec(args=['self', 'valuesDict'], varargs=None, keywords=None, defaults=None)
Docstring: None
Selecting the Network Quality Report tool will cause a dialog box to open which contains several options to
configure how the test will be done. The tool calls Apple's NetworkQuality command line tool and prints the results
in the Indigo Events Log. For more information on the NetworkQuality command line tool, open a terminal session and
type man networkQuality.
Selecting the Network Ping Host... tool will cause a dialog box to open which contains two options to configure
how the test will be done. Enter the Hostname you want to ping and the Timeout in seconds you want the test to
wait before declaring a host is offline. The test will block until completed, so there is a 5-second limit. For
timeouts greater than 5 seconds, you should create a ping device and test against that.
Selecting the Object Inspection tool will cause a dialog box to open which contains two dropdown lists:
- a dropdown list of object classes (Actions, Control Pages, Devices, Schedules, Triggers, Variables), and
- a dropdown list of the available objects within that class. Select an object class and an object.
Clicking the Print Dict button will cause the selected object's Indigo properties dictionary to be printed to the Indigo event log.
============================== WUnderstation Dict ==============================
address :
batteryLevel : None
buttonGroupCount : 0
configured : True
description :
deviceTypeId : wunderstation
displayStateId : onOffState
displayStateImageSel : SensorOff
displayStateValRaw : False
displayStateValUi : Disabled
enabled : False
energyAccumBaseTime : None
energyAccumTimeDelta : None
energyAccumTotal : None
energyCurLevel : None
errorState :
folderId : 1781830064
globalProps : MetaProps : (dict)
id : 978421449
lastChanged : 2017-10-22 21:02:35
lastSuccessfulComm : 2017-10-22 21:02:35
model : WUnderstation
name : WUnderstation
ownerProps : com.fogbert.indigoplugin.wunderstation : (dict)
pluginId : com.fogbert.indigoplugin.wunderstation
pluginProps : com.fogbert.indigoplugin.multitool : (dict)
protocol : Plugin
remoteDisplay : True
states : States : (dict)
lastUploadResult : INVALIDPASSWORDID|Password or key and/or id are incorrect
(string)
lastUploadTime : (string)
onOffState : false (bool)
onOffState.ui : Disabled (string)
subModel :
supportsAllLightsOnOff : False
supportsAllOff : False
supportsStatusRequest : False
version : None
================================================================================
Clicking the Print Dir button will cause the selected object's Python Directory to be printed to the Indigo event log.
=================================Trigger Timer==================================
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'configured', 'description', 'enabled', 'folderId', 'globalProps', 'id', 'name', 'pluginProps', 'refreshFromServer', 'remoteDisplay', 'replaceOnServer', 'replacePluginPropsOnServer', 'replaceSharedPropsOnServer', 'sharedProps', 'suppressLogging', 'upload', 'variableChangeType', 'variableId', 'variableValue']
================================================================================
The Object Directory tool was added with plugin v2022.1.5.
Selecting the Object Dependencies Select an object and click the Print Object Dependencies button. The object's dependencies
will be written to the log.
======================= Living Room - Vase Dependencies ========================
actionGroups:
Bedtime (967314384)
Entertain (607240692)
All Inside Lights On (1019613119)
All Inside Lights Off (544713761)
Good Morning Lights (1525493553)
Sunrise (1155985723)
controlPages:
Lights (338351693)
Scenes (1940996280)
Living Room (612623745)
devices:
schedules:
triggers:
Living Room Vase On (1090667670)
variables:
================================================================================
Selecting the Plugin Inventory menu item will cause a list of installed plugins to be written to the Indigo event log. The list contains all installed plugins, with enabled plugins listed first.
======================================================= Installed Plugins ========================================================
('com.fogbert.indigoplugin.multitool', 'Multitool')
('com.perceptiveautomation.indigoplugin.airfoilpro', 'Airfoil Pro [Disabled]')
('com.fogbert.indigoplugin.announcements', 'Announcements [Disabled]')
('com.fogbert.indigoplugin.bikeShare', 'Bike Share [Disabled]')
('com.perceptiveautomation.indigoplugin.easydaq-usb-relay-cards', 'EasyDAQ Relay Card [Disabled]')
('com.fogbert.indigoplugin.GhostXML', 'GhostXML [Disabled]')
('com.indigodomo.indigoserver', 'Global Property Manager [Disabled]')
('com.fogbert.indigoplugin.groupedDevicePlugin', 'Grouped Device [Disabled]')
('com.perceptiveautomation.indigoplugin.growl', 'Growl [Disabled]')
('com.perceptiveautomation.indigoplugin.iCalAlarmProcessor', 'iCal Alarm Processor [Disabled]')
('com.perceptiveautomation.indigoplugin.itunes', 'iTunes [Disabled]')
Selecting the Plugins Online menu item will cause a list of currently enabled plugins to be writen to the Indigo event log. The list contains useful process information.
=============================== Running Plugins ================================
501 991 990 0 Tue07AM ?? 3:01.27 /Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/MacOS/IndigoPluginHost -p1176 -f.Action Collection.indigoPlugin
501 8643 990 0 6:50AM ?? 0:02.12 /Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/MacOS/IndigoPluginHost -p1176 -fMultitool.indigoPlugin
Selecting the Remove Delayed Actions menu item will cause a dialog box to open which allows the user to elect to remove all delayed Actions from the Indigo queue. The dialog contains a warning that removing delayed cations cannot be undone.
The Scripts (Embedded) tool was added with plugin version 2024.1.0.
Selecting the Scripts (Embedded) tool will cause a dialog box to open which allows the user to enter a search string and, when executed, the tool will identify all Actions, Control Pages, Triggers, and Schedules that contain embedded scripts that contain the search term (the search term is a simple literal string). To see all objects with embedded scripts, leave the search field blank. The report will be printed to the Indigo Events log.
Indigo Objects with Embedded Scripts
Search Filter: [ None ]
====================== Action Groups =======================
1346544620 - .Send HTTP API Message to Server
148479294 - Run Shell Script - Get Calendar Events
====================== Control Pages =======================
37036932 - My Control Page
======================== Schedules =========================
1344493985 - Save NOAA State Name to Variable
1095234019 - Send Email
========================= Triggers =========================
1697968413 - Write to log at startup
The Scripts (Linked) tool was added with plugin version 2024.1.0.
Selecting the Scripts (Linked) tool will identify all Actions, Control Pages, Triggers and Schedules that contain linked scripts. There is no facility to enter a search term with this tool because the plugin does not interrogate the contents of the linked scripts. The tool will print the results to the Indigo Events log and contains the full path of the linked script.
Indigo Objects with Linked Scripts
====================== Action Groups =======================
1343982111 - Parse Log Entries [ /Library/Application Support/Perceptive Automation/Scripts/log_parse.py ]
546229086 - Sunrise [ /Library/Application Support/Perceptive Automation/Scripts/sunrise.py ]
1132206685 - Network Quality [ /Users/Hank/My Documents/Indigo Scripts/network_quality.py ]
====================== Control Pages =======================
37036932 - My First Control Page [ /Library/Application Support/Perceptive Automation/Scripts/control_page.py ]
======================== Schedules =========================
1525448375 - Every Hour [ /Users/Hank/My Documents/Indigo Scripts/network_quality.py ]
1525448375 - Every Hour [ /Users/Hank/My Documents/Indigo Scripts/save_data_to_ical.py ]
========================= Triggers =========================
501213286 - Startup Reflector [ /Library/Application Support/Perceptive Automation/Scripts/reflector.py ]
Selecting the Send Status Request menu item will cause a dialog box to open which contains a list of available Indigo devices. Select a device and then select Execute. Indigo will send a status request to the selected device. If the device supports status requests, the result of the status request will be written to the Indigo events log. Note: not all devices support status requests.
Selecting the Serial Ports menu item will cause a list of available serial ports to be written to the Indigo events log.
============================= Current Serial Ports =============================
{u'/beeper/cu.Bluetooth-Incoming-Port': u'Bluetooth-Incoming-Port'}
Selecting the Speak String menu item will cause a dialog box to open which contains a text field for use in testing strings for speech. Text entered here will be spoken on the server machine (Indigo's speech facility does not support speech for remote Indigo clients.) The tool supports Indigo's variable substitution.
Indigo supports the ability to "Subscribe to Changes" to capture information when Indigo elements are changed. This tool allows you to write these changes to the log. In order to use the tool, you must check the "Enable Subscribe to Changes" checkbox, and then you must enter a list of Indigo IDs for the devices and variables that you wish to track. Multitool will then log all changes to the tracked items to the Indigo Events log. It is recommended that you uncheck the "Enable Subscribe to Changes" checkbox when you are not actively using the tool to reduce the amount of traffic between the server and the plugin. The list of IDs will be retained even if you have disabled the tool.
Selecting the Substitution Generator will cause a dialog box to open which contains two dropdown lists: 1) a list of available Indigo devices and variables and a list of available values for that device or variable (note that Indigo variables have only) one value. After selecting the device or variable and value to substitute, click the Generate Substitution button. The resulting substitution string will be written to the Indigo events log. Note: not all devices will have values suited for substitutions.
Indigo Device Substitution: %%d:679433874:windStringMetric%%
Important
The Substitution Generator menu item was deprecated with Indigo 2024.1.0 and plugin version 2024.1.0.
Copyright DaveL17 2025 This plugin is distributed under the MIT license; however the author reserves the right to change the license at any time.