The WUnderground plugin allows users to create Indigo Home Control Server devices which provide a facility to create individual weather devices that will be linked to Weather Underground. The plugin provides a bridge between the Weather Underground API service and Indigo.

Note: The WUnderground plugin requires access to the Internet in order to work with the Weather Underground API service.


Plugin Configuration Dialog Window
Plugin Configuration Dialog

Installing the WUnderground Plugin is accomplished in the same way that you would install other Indigo plugins. There are no additional steps or other Python packages that need to be installed. From the computer where the Indigo Server resides (you can’t directly install plugins from a client machine), download the current plugin archive from the Indigo File Library and then double-click on the archive file. Indigo will prompt you to install the plugin. Once the plugin has been successfully installed, you will need to configure the plugin to work with your desired implementation. During installation, Indigo should present you with the Plugin Configuration dialog. If for some reason that doesn’t happen, or if you want to make additional changes later, you can always get to the Plugin Configuration dialog by going to the Indigo main menu and selecting Plugins —> WUnderground —> Configure

All settings that affect the plugin’s overall operations are found in the Plugin Configuration dialog. The settings are divided into six sections: Plugin Settings, Download Settings, Value Precision Settings, Alert Logging Settings, Update Notification Settings, and Debug Settings. Let’s look at each of these in turn.


WUnderground devices are where most of the plugin’s magic happens and there are myriad device types that the plugin supports. Each weather device type has a custom-tailored configuration dialog that contains settings specific to the implementation for that individual type of device. As usual, we start by creating a new Indigo device, selecting WUnderground as the Device Type. Next, select the Device Model drop-down menu and the list of currently supported devices will appear. The list of devices is arranged alphabetically. Once you have selected the appropriate device type, you should select Edit Device Settings… Selecting the Edit Device Settings… button will cause the device’s custom-tailored configuration dialog to appear. The available options will vary based on the type of device selected. The following devices are presently supported within the WUnderground Plugin:

The location specified for each weather device type controls how data will be sourced for the device. The following location formats are currently supported by the plugin:


The WUnderground Plugin supports the following actions.


Weather Location Offline Trigger

The WUnderground Plugin supports the following triggers.

Menu Items

Indigo Plugin Menu Items

In addition to the standard plugin menu items, the WUnderground plugin also provides:


The framework of the entire pluginEnvironment as it relates to Indigo is very straightforward. Indigo talks through the plugin to the Weather Underground (WU) servers which return formatted JSON data pertaining to individual geographic locations. Communication is bi-directional, and presently happens through routine calls using common Python communication protocols. Plugin users choose a predefined polling interval through a standard plugin configuration setting, the plugin reaches out to the WU servers and requests data, interprets the results and passes the results back to user-defined WUnderground devices (Indigo Custom Devices.)


This plugin is designed to work with Indigo 6.0 and above and is therefore compatible with Python 2.6. I will do my best to account for other implementations where possible, but sometimes I will not be able to do that when it would cause a loss of functionality or break existing frameworks. I will also work to continue to keep the plugin current as Indigo, its Python implementation and WU API evolve over time.


If things aren't working the way that you expect them to, turning on the debugging facility within the plugin can help us isolate the cause, and the output is tremendously useful when reporting bugs. There are three levels of debug logging—Low, Medium and High. Selecting Low, provides a minimal amount of debug logging (still a lot, really.) Medium provides for a pretty massive amount of logging (but keeps all sensitive data like API Keys, and email address from being displayed.) A setting of High will allow this sensitive information to be logged, so use with care when posting log results to a public place. That’s the extent of the settings that affect the overall operation of the plugin.

Scripting and Technical Details

Under construction.

Powered by: