-
Notifications
You must be signed in to change notification settings - Fork 0
devices

The Network Ping Device is used as the basis for tracking the ability to ping a network device. Upon creating a new device, a configuration dialog will appear to enter the IP or hostname of the target. Three common formats are supported. Only one target is allowed per device. The purpose of the device is to become a part of a broader monitoring scheme rather than a tracking device on its own. Note that the device does not track anything other than its online state (or, more accurately your ability to reach it.) Note that it doesn't track things like response times, packet loss, or anything like that.
-
IP: 10.0.1.1 -
Hostname: google.com -
Hosts Alias:MyIndigoServer, localhost
There are two Network Ping Device states status which contains the current state of the target resource and
last_checke which contains a Posix timestamp of the last ping. The last_checked timestamp will be largely equal to
Indigo's "Last Update" value, but the timestamp also serves the purpose of ensuring that something about the device is
changed with each ping so Last Update will change regardless of whether the status value remains the same.
If the ping is successful, the state will be set to true. If not, it'll be set to false. The state is a boolean,
so it'll work with simple Python logic:
dev = indigo.devices [12345678]
status = dev.states['status']
if not status:
# do something
To initiate a network ping, create a new Indigo Action Group, select the Network Ping Report action under the Multitool Actions menu, and select the Network Ping Device you want to run. Once the Action item is created, you can then call it as a part of a broader automation scheme where the device/action combo can be used to establish whether a target resource is available.
If you want to test a target resource at regular intervals, create an Action within an Indigo Schedule.
If you create a Network Ping Device Trigger, whenever a target resource is reported as offline (or False), the event will be triggered. The process goes like this:
Device Update Action > Device Updated > Device Status is False > Device Trigger is Fired

The Network Quality Device presents a more structured method to track Network Quality Test results. It implements the same tests as the Network Quality Report menu item, but retains the results within the device's custom states. The options to configure the test are the same for both tools.
- Download - Run a download test.
- Upload - Run an upload test.
- Private Relay - Use iCloud Private Relay.
- Sequential Tests - Run tests sequentially instead of parallel upload/download.
- Verbose - Verbose output.
- Verification - Disable verification of the server identity via TLS.
It may take some time for the results to appear in the Indigo events log. Report output depends on the options selected. The resulting report is output to the device's states but confirmation is output to the Indigo Events log. The following shows the state values using the default options.
[!Important] The Network Quality Device does not run tests on its own. Device updates are achieved by executing a Network Quality Device update action. See the next section for more information.

In order to run a test using the Network Quality Device, you must run an update action. Select the device you want to update in the Actions configuration dialog. Then fire the action at your discretion (Schedule, Trigger, etc.) Alternatively, you can run tests on demand by using the Network Quality Report plugin menu item.

The Network Quality device maintains 7 custom states.
From the man page:
- base_rt - The calculated idle latency of the test run (in milliseconds).
- dl_throughput - The measured downlink throughput (in bytes per second).
- elapsed_time - The time in seconds that it took to run the test.
- end_date - Time when test run was completed (in local time).
- responsiveness - The responsiveness score (in RPM)
- start_date - Time when test run was started (in local time).
- ul_throughput - The measured uplink throughput (in bytes per second).
The plugin doesn't include all the possible tests and information that can be achieved using the macOS networkQuality
command line application. For more information about the possible tests and further details about the test results,
open a macOS Terminal window and enter the command man networkQuality.
Copyright DaveL17 2025 This plugin is distributed under the MIT license; however the author reserves the right to change the license at any time.