Developer: | Dave's Plugins Like this plugin? Show your appreciation! |
Category: | Reporting/UI/Control Pages |
Github: | Github Repo |
Assistance: | Get help! Check the online documentation |
Plugin ID: | com.fogbert.indigoplugin.matplotlib |
Latest release: | v2022.1.7 released on March 8, 2023 |
Release downloaded: | 0 times |
Requires: | Indigo v2022.1.0 or higher |
(Check the Releases tab below for older releases that may have different requirements) | |
Download latest release |
The Matplotlib plugin allows you to easily create attractive charts for display on Indigo Home Control Server control pages. The plugin also includes a facility to create necessary CSV data for display.
Highlights:
- Easily create visually appealing charts for Indigo control pages.
- Seamlessly manage attributes like color, fonts, sizes (and more!) for all charts at once.
- Customize individual charts with markers, annotations, minimums and maximums, and user-defined constants.
- Chart types Include: Line Charts, Bar Charts, Polar Charts, Multiline Text Charts, and WUnderground Plugin Charts.
- Chart data that is created with the plugin, or incorporate your own (CSV).
- Charts update automatically.
The Matplotlib plugin is designed to make creating visually appealing charts for Indigo control pages easy. Many of the chart attributes, such as background color, font styles and chart size can be managed centrally--for example, you can change the background color of all your charts simultaneously. You can add additional customizations to each individual chart if you like, such as overriding the default chart size or displaying a chart legend only on selected charts. The overriding emphasis in designing the plugin is simplicity. The instructions below seem like a lot, but almost all of the settings can be left at their default when you begin. It's probably best to read through all these instructions before getting started.
Note: The Matplotlib plugin does not require Internet access in order to function; however, it does require Internet access to check for plugin software updates. These features are not required to use the plugin.
Released on: | March 8, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
This update contains a few bug fixes (no new features). You are encouraged to apply the update; however, if you're not seeing errors in your implementation, you can hold off.
Matplotlib Paramters Device
incorrectly labelled in error state.PluginAction' object has no attribute 'PROPS'
.v2022.1.6 | Requires Indigo v2022.1.0+ | Released Feb. 4, 2023 | UI Enhancements, Code Refinements and Bug Fixes |
Released on: | Feb. 4, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
rcParamsDevice
devices were not skipped when user elects to redraw all charts from the plugin menu.validate
and moves validation code to that module.Released on: | Jan. 25, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
This release contains a new enhancement to choose a precision level for chart annotations (i.e., 12, 12.3, 12.30) and a significant change to the Theme Manager Save action. It also contains several important bug fixes.
All Indigo 2022+ users are encouraged to apply this update.
step
, steps-mid
, and steps-post
line styles which are no longer supported by Matplotlib.Released on: | Aug. 2, 2022 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
feature_requests.txt
to _feature_requests.md
.3.1
.'list' object has not attribute 'lower'
.'list' object has not attribute 'strip'
.Redraw Charts Now...
Menu Item without first selecting an option._to_do_list.md
and changes changelog to markdown.Redraw Charts Now...
Menu Item.Released on: | May 11, 2022 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
Removes dummy testing data for battery charts.
Released on: | May 10, 2022 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
Updates plugin for Indigo 2022.1 and Python 3.
- Polar charts are back!
- Standardizes Indigo method implementation.
- Deprecates step
, steps-mid
, and steps-post
line styles which are no longer supported by matplotlib. Step charts
will return in the future as a separate chart type.
- Fixes bug where Stylesheets folder is not present.
- Adds additional logic for instances where data are None values (or otherwise unavailable).
- Streamlines Devices.xml (~800 lines moved to dynamic list callbacks).
Released on: | Nov. 21, 2021 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 0 times |
Download this release |
v0.9.51 | Requires Indigo v7.0.2 thru v2022.2 | Released July 27, 2021 | Addresses `queue module not found` error |
Released on: | July 27, 2021 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 0 times |
Download this release |
Addresses queue module not found
import error.
On some earlier versions of Python, it is possible that the plugin is unable to import the needed queue
module (lower case q). This update attempts to address this by also attempting to import the Queue
module (upper case Q).
Released on: | June 28, 2021 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 0 times |
Download this release |
Released on: | Dec. 8, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 1 times |
Download this release |
Released on: | Dec. 8, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 0 times |
Download this release |
Released on: | Dec. 7, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 0 times |
Download this release |
Released on: | Oct. 16, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 0 times |
Download this release |
Released on: | Sept. 22, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 0 times |
Download this release |
Consolidates versioning.
Released on: | April 4, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 20 times |
Download this release |
Another long list of changes.
Although the changes and potential bugs should be low risk, those choosing to update should make a backup of CSV data. Although it shouldn't be necessary, a full backup would include the prior plugin file, and the prior plugin preferences file located at: /Library/Application Support/Perceptive Automation/Indigo 7.2/Preferences/Plugins/com.fogbert.indigoplugin.matplotlib.indiPref
adjusted for whatever your current version of Indigo may be.
Please post any questions or bugs to the Indigo forum or here on GitHub.
Here is a consolidated list of changes since the prior version:
v0.8.01 - Plugin should shut down more gracefully. - Code refinements.
v0.7.57 - Moves 'None' options in drop-down lists to bottom of list (per Indigo standard.)
v0.7.56 - Adds check to ensure that the plugin is compatible with Indigo version.
v0.7.55 - Re-fixes float error in the duration value for CSV refreshes.
v0.7.54 - Fixes float error in the duration value for CSV refreshes. - Moves dev prop maintenance routine to deviceStartComm.
v0.7.53 - Adds tests to alert the user that they're saving charts to the wrong location (when the Indigo version is updated.) - Fixes bug where battery level being displayed regardless of setting.
v0.7.52 - Better handles long device names in Battery Health chart. - Plots title relative to figure instead of to plot. - Fixes KeyError bug in pluginEnvironmentLogger 'isChart'.
v0.7.51 - Adds control to hide device names on battery health charts. - Improves plotting of battery level values on battery health charts. - Code refinements.
v0.7.50 - Consolidates chart plot logging into single method. - Help bubble refinements. - Code refinements.
v0.7.49 - Standardizes plotting of X axis label across all devices. - Standardizes plotting of chart title across all devices. - Standardizes save image code across all devices. - Refines <SupportURL> behavior across all plugin elements.
v0.7.48 - Adds support for charting 'Armed' and 'Disarmed' values.
v0.7.47 - Improves handling of CSV data updates when duration is set to zero (no limit.)
v0.7.46 - Fixes empty text instances for custom Y tick labels (where locations are defined but labels are not.)
v0.7.45 - Adds feature to Battery Health Device to plot a background box for battery level values. - Improves validation for chart axis limits (Y Min, Y Max, Y2 Min, Y2 Max). - Improves code for plotting Y1 and Y2 axis limits (Y Min, Y Max, Y2 Min, Y2 Max). - Code refinements.
v0.7.44 - Updates config dialog text for Battery Health Chart - excluded devices (language referred to legacy control.) - Adds requirement that the custom Y tick labels field and custom Y tick values field be the same length. - Fixes bug for Battery Health Chart to remove "No Battery Devices" dummy device when actual devices present.
v0.7.43 - Adds default entries for legend labels (will only be displayed if Display Legend option is enabled.)
v0.7.42 - Refines configuration dialog control labels. - Deletes unneeded Fill control from Bar Devices (bar 4).
v0.7.41 - Fixes bug in format_axis_y_ticks where error was thrown under certain conditions (including 'None', '', and ' '.) - Improved error logging.
v0.7.40 - Fixed bug in line charting for TypeError: list indices must be integers, not str'
v0.7.39 - No longer allows creation of CSV device without establishing at least one data source. - Fixes bug in validation of plugin configuration settings for change logging. - Improves docstrings.
v0.7.38 - Adds process garbage collection to runConcurrentThread().
v0.7.37 - Chart update processes are no longer blocking. - Puts CSV refreshing back in the main thread.
v0.7.36 - Moves CSV refreshing to its own process.
v0.7.35 - Fixes bug in custom line segments where only the first custom line is plotted.
v0.7.34 - Fixes bug in duration setting for CSV devices.
Released on: | Feb. 17, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 2 times |
Download this release |
Rather than try to single out meaningful changes, I'll list them all (it may also be helpful to those that might want to isolate a specific build.) This series of changes also completely eliminates any hooks into the pandas library (as of build v0.7.22.)
This represents a huge update to the plugin and, while it has been running very stably in testing, there could be some lingering bugs. It is recommended that you backup any data files before installing this update.
v0.7.33 - Further improves maintenance of legacy props in all chart devices. - Moves maintenance tasks to separate module.
v0.7.32 - Further improves maintenance of legacy props in all chart devices. - Set all device UI icons to off state when comm killed through plugin menu action. - Fixed bug in snappy config menus which created unneeded device props.
v0.7.31 - Fixed bug in bar chart config dialog where X axis grid setting not hiding properly.
v0.7.30 - Improves logging of plugin prefs when changes made using configuration dialog. - Fixes placement of line 6 suppression option in line chart device configuration dialog.
v0.7.29 - Improves resiliency to CSV files that contain 1 or fewer observations. - Changes the default timestamp from the epoch to current time (retains the epoch as the default device last refresh). - Adds trap for RuntimeError when trying to save chart image to address the 'too many ticks' error. - Adds trap for TypeError when trying to generate a best fit line segment to address the 'int' object is not iterable error. - Adds number of chart devices and CSV engine devices to plugin environment logging.
v0.7.28 - Improved conversion of legacy line fill properties to bool type.
v0.7.27 - Reorders plugin device model list when editing device. - Improves error logging. - Cleans up XML attributes.
v0.7.26 - Revises chart device names for consistency. - Fixes bug in battery chart device "KeyError: 'customSizeChart'. "
v0.7.25 - Adds choice to bar, line and scatter charts to suppress the plotting of individual data elements. The data and all settings are retained.
v0.7.24 - Synchronize self.pluginPrefs in closedPrefsConfigUi().
v0.7.23 - Adds choice to set bar width to make it simpler for first time device creation. If the value is set to zero, the plugin will attempt to set an attractive bar width automatically. Zero is now the new default for new bar chart devices. - Changes menu items from "En/Disable All Devices" to "En/Disable All Plugin Devices". - Changes default font for Calendar Devices to 12 pt (to better fit the default image size for non-retina screens.) - Changes behavior of custom size chart checkbox so that now, custom size values will only be honored when the custom size checkbox is checked. - Improves validation of plugin device configuration settings. - Improves setting of Y1 limits and better handles condition where limits set improperly when all observations are the same value. - Updates CSV device validation for duration (data to keep). - Updates behavior so that if all CSV data are older than the time limit, the plugin will return the original data and warn the user. - Refines grid settings for Polar Chart Devices. - Fixes bug in Line Chart devices where customizations (like best fit or fill) would result in an 'argument dimensions are incompatible' error. - Fixes bug in default line color settings for Weather Forecast devices. - Fixes bug in new CSV data source names that contain extended Unicode characters. - Fixes bug in new and existing Polar Chart data source names that contain extended Unicode characters. - Fixes bug where data header name was converted to 'NaN' while data quality repairs were made. - Fixes bug where line chart best fit property incorrectly stored as a string. Will convert legacy devices in this state to boolean. - Changes Python lists to tuples where possible to improve speed. - Updates kDefaultPluginPrefs. - Code refinements.
v0.7.22 - Removes dependence on pandas library. - Code refinements.
v0.7.21 - Removes default location from plugin preferences for data and chart save locations.
v0.7.20 - Improves resiliency in dealing with malformed CSV files. - Adds new date formats for chart axes: - Jan 16 [M D] - Jan 16 2019 [M D Y] - 16 Jan [D M] - 2019 Jan 16 [Y M D] - [Line Devices] Hides the best fit color control until the "Plot Best Fit" checkbox is selected. - Fixes bug in date/time format specifiers. - Improves CSV item processing performance. - Fixes bug in manual refresh Action. - Attempts to work around pandas bug in rare csv write bug where the string '-01-01 00:00:00' is added to observation data. - Refines plugin logging. - Improves under-hood maintenance to ensure that the plugin and its devices are up to date for the installed version (plugin preference, device properties, etc.) - Code refinements.
v0.7.19 - CSV Engine / Edit Data Item / Data Source control now returns a case- insensitive sorted list. - Fixes bug in naming of CSV Engine data items that contain Unicode characters. - Ups the default duration limit to no limit (where it should have been in the first place.)
Released on: | Dec. 30, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 52 times |
Download this release |
Released on: | Dec. 30, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 0 times |
Download this release |
Released on: | Dec. 16, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 21 times |
Download this release |
v0.7.09 - Settings for manual CSV refresh actions retained when CSV Engine device source names changed.
v0.7.08 - Adds Action item to update CSV device set to manual update only - Adds Action item to update CSV device set to manual update only for single CSV data source.
Released on: | Oct. 17, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 45 times |
Download this release |
Released on: | Sept. 11, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 39 times |
Download this release |
Fixes datetime bug in new CSV Engine devices (csvLastUpdated).
v0.7.05 | Requires Indigo v7.0.2 thru v2022.2 | Released Aug. 22, 2018 | Adds Support for Fantastic Weather Devices |
Released on: | Aug. 22, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 19 times |
Download this release |
v0.7.04 | Requires Indigo v7.0.2 thru v2022.2 | Released Aug. 16, 2018 | Moves Refresh Interval to Devices |
Released on: | Aug. 16, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 9 times |
Download this release |
Released on: | Aug. 9, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 11 times |
Download this release |
v0.7.03 - Fixes bug in setting of marker style for lines 5 and 6. - Fixes bug in setting of marker color for all lines. - Fixes bug in sorting of data source names for device configuration. - Code refinements.
v0.7.02 - Moves charting code into separate class.
v0.7.01 - Adjusts chart output logging for consistency between enabled and disabled devices. - Fixes bug where legacy devices not updated for missing line5Annotate and line6Annotate props.
v0.6.06 | Requires Indigo v7.0.2 thru v2022.2 | Released July 21, 2018 | Now with More Lines (and Less Bugs) |
Released on: | July 21, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 19 times |
Download this release |
v0.6.06 - Adds two more lines to the line charting device. - Fixes bug where best fit line affected legend entries.
v0.6.05 - Fixes bug in Scatter Chart devices to plot points when marker is set to None. (This is a bug in matplotlib, plugin overrides the behavior). - Fixes bug in naming of PluginConfig.xml (which caused problems on systems set up as case sensitive.
Released on: | May 1, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 47 times |
Download this release |
v0.6.04 - New Feature: optional 'best fit line' for line and scatter charts. - Polar charts will now plot when CSV records are fewer than the desired number of observations. - Significantly reduces the amount of information written to the log unless verbose logging is enabled.
v0.6.03 - Improves placement of legend for 10 day and 24 hour forecast devices. - Base CSV file now created at the time new item added to CSV engine.
v0.6.02 - Adds feature to battery health chart to select devices to exclude from the list of devices charted. - Fixes bug in grid setting for battery health chart.
v0.6.01 | Requires Indigo v7.0.2 thru v2022.2 | Released April 18, 2018 | New Features and Other Improvements |
Released on: | April 18, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 10 times |
Download this release |
Released on: | March 11, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 25 times |
Download this release |
Released on: | Feb. 5, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 19 times |
Download this release |
Released on: | Feb. 1, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 1 times |
Download this release |
This release of the Matplotlib plugin contains:
Released on: | Nov. 21, 2017 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 39 times |
Download this release |
The Matplotlib plugin requires system resources that should be available with basic OS X installations, and should run "out of the box". I can't guarantee compatibility with newer versions of the resources listed below,
Resource | Version |
---|---|
Indigo | the plugin requires Indigo 7 and is not compatible with prior versions. |
Internet | the plugin does not require Internet access to function; however, certain features -- such as the plugin update checker -- will only function with Internet access. |
Matplotlib | tested as compatible with v1.3.1 (although older versions may work.) |
Numpy | tested as compatible with v1.8.0rc1 (although older versions may work.) |
Python | tested as compatible with v2.7 (although older versions may work.) |
Released on: | Oct. 22, 2017 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Downloaded: | 33 times |
Download this release |
v0.4.16 - Under-the-hood code refinements. - Adds note to documentation that the plugin requires Internet access to function.
v0.4.15 - Moves Redraw Single Chart action to the device actions submenu and renames it to 'Redraw Chart'. - Moves Redraw All Charts action to the device actions submenu.