Matplotlib Plugin Updates

Posted on
Mon Feb 05, 2018 12:56 pm
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.5.05 is now available.

  • Adds line chart device validation to disallow fill with steps line style.
  • Updates plugin update checker to use curl to overcome outdated security of Apple's Python install.

You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sat Mar 10, 2018 9:33 pm
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.5.07 is now available.

  • Improves handling of nonsense values (-99 values).
  • Suppresses non-chart device types from displaying in Update Chart Actions.
  • Adds separators and labels to dropdown menus for context and visual clarity.
  • Improves code commenting and adds Sphinx compatability to docstrings.
  • Code consolidation and refactoring.

You can download it here.
You can view the plugin instructions here.

I think I may have found a more stable way of handling situations where Weather Underground data is out of bounds. WU will send a variation on '-99.0' when it's not sure the data are good ('-999.0, '-9999.0', etc.).

So rather than having charts look like this:
chart_precipitation.png
chart_precipitation.png (9.96 KiB) Viewed 1908 times

We can instead have this (both charts plotted with the same CSV):
chart_precipitation_1.png
chart_precipitation_1.png (8.59 KiB) Viewed 1908 times

If you look closely at the second chart, the data are discontinuous where the source data equals -99. Please let me know if anything about this update doesn't seem right; there's fair bit of changes under the hood.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Tue Apr 17, 2018 6:21 am
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.6.01 is now available.
  • New Battery Health Device: plots the battery level of all Indigo devices that report a battery level value.
  • Adds new daylight indicator to 24 hour forecast device. The default is to display daylight on the chart; the setting can be disabled from the device configuration dialog.
  • Adds delay between updates of CSV data and processing of charts to ensure data writing steps have completed.
  • Improves polar device handling of condition where the number of csv observations is less than the number wanted by the device.
  • Improves error handling for situations where a fatal error might cause a device to hang during refresh.

You can download it here.
You can view the plugin instructions here.

chart_battery.png
chart_battery.png (36.64 KiB) Viewed 1846 times

img_chart_24_hour_forecast.png
img_chart_24_hour_forecast.png (32.64 KiB) Viewed 1822 times

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Tue May 01, 2018 5:52 am
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.6.04 is now available.

  • 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.
  • 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.
  • 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.

You can download it here.
You can view the plugin instructions here.

chart_line.png
chart_line.png (25.43 KiB) Viewed 1799 times

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Fri Jul 20, 2018 7:59 pm
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.6.06 is now available.

Line charting device now supports six lines.

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.

You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Thu Aug 09, 2018 6:07 am
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.7.03 is now available.

  • 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.
  • Fixes bug where legacy devices not updated for missing line5Annotate and line6Annotate props.
  • Adjusts chart output logging for consistency between enabled and disabled devices.
  • Code refinements.
You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Thu Aug 16, 2018 6:07 am
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.7.04 is now available.

  • Moves refresh interval to charts. Users can now establish individual refresh rates for each chart separately.
  • Adds weekly option to refresh interval.
  • Better sorting of CSV sources within device configuration dialogs.
  • Significantly reduces debug logging.
  • Code refinements.
You can download it here.
You can view the plugin instructions here.

A note about the new refresh interval settings. After the plugin update is applied, the (old) global refresh interval should be applied to each device automatically. If you continue to want all devices to update at that frequency, there should be nothing else to do. If you have a chart device set to refresh more frequently than the CSV engine device, the plugin will redraw the same chart because the underlying data will be unchanged. Obviously, this rule doesn't apply if you are charting your own CSV data (not using the CSV engine to generate the data files). The plugin will check every 15 seconds to determine whether a chart should be updated.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Wed Aug 22, 2018 6:05 am
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.7.05 is now available.

  • Adds support for Fantastic Weather forecast devices.
  • Fixes bug in Refresh Charts menu item.
  • Fixes bug in Refresh Charts action item.
You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Tue Sep 11, 2018 4:15 pm
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.7.06 is now available.

  • Fixes datetime bug in new CSV Engine devices (csvLastUpdated).
You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Tue Oct 16, 2018 7:55 pm
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.7.07 is now available.

  • Fixes bug for rare circumstance where chart device's 'csvLastUpdated' state did not save in expected timestamp format.

You'll know if you've encountered this bug because your charts will stop updating on their own, but you will be able to update them successfully if you choose to update them manually (from the plugin menu or from an Action Item).

You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun Dec 16, 2018 5:49 am
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.7.09 is now available.

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.

You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun Dec 30, 2018 3:58 pm
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Matplotlib Plugin v0.7.18 is now available.

  • Adds filter to CSV Engine Add Data Item and Edit Data Item controls to allow source menu to be filtered to show all sources, just devices, or just variables.
  • Adds CSV Engine device limit based on time (in hours).
  • Includes pandas library in base installation (v0.19.1) and consolidates csv_refresh_process() under pandas.
  • Improves device configuration dialogs (battery health, line).
  • Removes plugin update checking.
  • Fixes bug where manual update charts were updating every 15 seconds.
  • Fixes bug where device comm not honored for chart devices when called by single chart refresh action.
  • Code refinements.

In addition to the new features and bug fixes, this update reflects a fairly significant number of changes to the way the plugin functions under the hood.

IMPORTANT: It is highly recommended that you back up your CSV files and disable all CSV Engine devices prior to applying this update to ensure that the CSV duration limit value is appropriate for your application. If you fail to do this, the plugin will automatically delete any data older than 7200 hours.

You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun Feb 17, 2019 3:54 pm
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Version 0.7.33 of the Matplotlib Plugin is now available.

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.)

You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Thu Apr 04, 2019 1:22 pm
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Version 0.8.01 of the Matplotlib Plugin is now available.

I'll single out the most meaningful changes here, but have listed them all on the GitHub releases page. Please post bugs to these forums or open an issue on GitHub.

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.34 - v0.8.01

  • Adds check to ensure that the plugin is compatible with Indigo version.
  • Adds tests to alert the user that they're saving charts to the wrong location (when the Indigo version is updated.)
  • Adds control to hide device names on battery health charts.
  • Adds support for charting 'Armed' and 'Disarmed' values (Armed = 1, Disarmed = 0).
  • Adds feature to Battery Health Device to plot a background box for battery level values.
  • Adds default entries for legend labels (will only be displayed if Display Legend option is enabled.)
  • Better handles long device names in Battery Health chart.
  • Improves validation for chart axis limits (Y Min, Y Max, Y2 Min, Y2 Max).
  • No longer allows creation of CSV device without establishing at least one data source.
  • Chart update processes are no longer blocking.

You can download it here.
You can view the plugin instructions here.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun May 12, 2019 10:58 am
DaveL17 offline
User avatar
Posts: 5020
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Matplotlib Plugin Updates

Beta Version: v0.8.16 is now available. It has not been pushed as an official release and is not available in the Indigo Plugin Store (the version available from the store is the latest official release), therefore, the update will need to be downloaded directly from GitHub. Changes in Beta v0.8.16 (new features over 0.8.01 in blue text):

v0.8.16
  • Audits save paths to ensure they exist and are writeable at startup.

v0.8.15
  • Adds feature to limit the number of days of data to display to bar, line, and scatter charts.
  • Fixes bug in setting of Y1 axis limits where max or min of data are negative.

v0.8.14
  • Removes development logging.

v0.8.13
  • Fixes bug in line chart legend layout where colors didn't match chart.

v0.8.12
  • Converts all static menu callbacks to hard-coded XML list items to make selection of default option more seamless and converts them to XML templates for consistency and lightness.
  • Indicates default menu item options with a star (*); only applies to static menu lists (not dynamic lists).

v0.8.11
  • Adds lines 7 and 8 to Line Charting device.

v0.8.10
  • Adds test at plugin startup which will review each device's properties and bring it up to date with the latest base configuration. Any changes are written to the plugin log.

v0.8.09
  • Adds test at plugin startup which will review CSV Engine device sources and issue a warning when more than one CSV device is writing to the same CSV file.

v0.8.08
  • Adds device/variable filter to Multiline Text devices.

v0.8.07
  • Fixes bug where the legend colors didn't match plot for select column number settings for Scatter Charts.
  • Fixes bug where the Display Legend? control did not appear for scatter charts.

v0.8.06
  • Improves and expands options for X axis bins.
  • Adds section text and tooltips to show/hide controls for bar, line, scatter, and weather devices (other device types don't have show/hide controls.)

v0.8.05
  • At plugin startup, iterate through all CSV Engine devices, audit CSV files, and create any missing ones.

v0.8.04
  • Traps OSError when plugin cannot connect to the CSV storage location.
  • Refactors battery charting code.

v0.8.03
  • Highlights battery devices with dead batteries (level of 0) by coloring the label using the warning color setting.

v0.8.02
  • Adds control to vary the number of legend columns for bar, line and scatter charts.
  • UI Refinements

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Who is online

Users browsing this forum: No registered users and 1 guest