Skip to content

Latest commit

 

History

History
197 lines (159 loc) · 7.17 KB

File metadata and controls

197 lines (159 loc) · 7.17 KB

v2025.2.3

  • Fixes process_triggers() accessing undefined statusValue state, which caused all trigger firing to silently fail; now checks is_renting boolean state.
  • Fixes TypeError in refresh_bike_data() where downloadInterval pref string was subtracted before casting to int.
  • Fixes incorrect fallback default of 15 (seconds) for downloadInterval in closed_prefs_config_ui(); now uses 900 to match the plugin default.
  • Removes redundant duplicate exception logging in get_bike_data() and get_system_list().
  • Fixes businessHours device state update passing a bool as uiValue; now passes a string.

v2025.2.2

  • Fixes redundant parse_bike_data() call in device_start_comm() that caused double-parsing on device start.
  • Fixes states_list accumulation across devices in refresh_bike_data() that caused prior device states to bleed into subsequent device updates.
  • Fixes unconfigured device handler in refresh_bike_data() that blocked the entire plugin thread for 60 seconds; now uses continue instead.
  • Fixes is_renting comparison in refresh_bike_data() that used == 1 after parse_bike_data() had already coerced the value to bool.
  • Fixes process_triggers() reading stationName from device states instead of plugin props, causing all trigger processing to silently fail.
  • Fixes get_system_list() exception handler missing return [], causing a TypeError when Indigo tried to populate the system dropdown after a network error.
  • Fixes business_hours() closing one minute early when stop time is "24:00"; now uses second=59 and <= comparison to correctly include the final minute.

v2025.2.1

  • Fixes bug where stop_time used start_time minutes when computing business hours end time.
  • Fixes inverted refresh logic that prevented device updates from running.
  • Fixes stale bike/dock counts displayed after a data refresh.
  • Fixes return in device loop that caused remaining devices to be skipped.
  • Fixes logger.exception() calls missing required message argument.
  • Fixes unguarded KeyError in get_station_list() when system data is unavailable.
  • Fixes malformed log message missing closing parenthesis in closed_prefs_config_ui().

v2025.2.0

  • Removes my_tests action and method.
  • Adds trigger tests.
  • Code cleanup.
  • Standardized project .gitignore file.
  • Removes unused variables from tests/.env file.
  • Removes empty plugin directories.

v2025.1.0 [released]

  • Fixes bug where dataAge and last_reported returned "Unknown".
  • Transitions from requests to httpx.
  • Stability and performance improvements.
  • Code cleanup

v2024.0.1

  • Adds unit test for refresh bike data action.

v2023.0.2

  • Fixes bug where a race condition may occur if pluginPrefs have not yet been written to disk when the plugin is first installed.

v2023.0.1

  • Code enhancements.

v2022.0.3

  • Adds foundation for API 3.1.
  • Code cleanup.

v2022.0.2

  • Adds _to_do_list.md and changes changelog to Markdown.
  • Moves plugin environment logging to plugin menu item (log only on request).

v2022.0.1

  • Updates plugin for Indigo 2022.1 and Python 3.
  • Moves "Refresh Bike Data" to Device Controls menu.
  • Eliminates need for the pandas module.
  • Reorganizes device states for better display in control page and trigger state lists.
  • Adds device state reflecting whether the system is within user-defined business hours (to show that data might be stale).
  • Standardizes Indigo method implementation.

v2.0.09

  • Implements constants.py
  • Code refinements.

v2.0.08

  • Fixes bug in readme.md file where logo did not display.

v2.0.07

  • Better addresses situations where bike service doesn't fully support the standard API.

v2.0.06

  • Better integrates DLFramework.

v2.0.05

  • Improvements to device configuration validation.
  • Code refinements.

v2.0.04

  • Removes all references to legacy version checking.

v2.0.03

  • For publication.

v2.0.02

  • Adds business hours feature.

v2.0.01

  • Complete rewrite of the plugin to use the standardized GBFS data sharing specification.

v1.1.07

  • Ensures that the plugin is compatible with the Indigo server version.
  • Standardizes SupportURL behavior across all plugin functions.

v1.1.06

  • Synchronize self.pluginPrefs in closedPrefsConfigUi().

v1.1.05

  • Changes "En/Disable All Devices" to "En/Disable all Plugin Devices".
  • Updates kDefaultPluginPrefs

v1.1.04

  • Changes Python lists to tuples where possible to improve performance.

v1.1.03

  • Adds Write Data to File option to plugin menu.
  • Removes plugin update notifications.
  • Code refinements.

v1.1.02

  • Fixes bug in plugin menu item to check for latest version.

v1.1.01

  • Updates to Indigo API 2.0 (Indigo 7 now required).
  • Converts testStation device state from string to boolean True/False.
  • Refactors 'dataAge' and 'executionTime' device states.
    • 'dataAge' now keyed to the last time the bike dock station communicated with the bike sharing service.
    • 'executionTime' now keyed to the last time the Indigo plugin communicated with the bike sharing service.
  • Removes legacy device state 'renting'. Users should use the state 'isRenting'.

v1.0.07

  • Updates plist link to wiki.
  • Updates plugin update checker to use curl to overcome outdated security of Apple's Python install.

v1.0.06

  • Moves documentation to GitHub wiki.
  • IPS Configuration
  • Fixes bug in info.plist (API reference)

v1.0.05

  • Code consolidation using DLFramework.
  • Code consolidation using pluginConfig templates.
  • Adds note to documentation that the plugin requires Internet in order to function.

v1.0.04

  • Standardizes plugin menu item styles. Menu items with an ellipsis (...) denotes that a dialog box will open. Menu items without an ellipsis will take immediate action.
  • Fixed bug related to version control for "Check for Plugin Updates" menu action.

v1.0.03

  • Stylistic changes to Indigo Plugin Update Checker module.
  • Improved exception logging.
  • Code simplification.
  • Adds remote debugging capability.
  • Moves updater config to template.

v1.0.02

  • Adds trigger to report when a station is not in service.
  • Add menu item to enable/disable all plugin devices.
  • Adds Indigo UI icon indicator control: (green = online, gray = offline/disabled/out of service, red = error/no comm)
  • Moves support URL to GitHub.
  • UI Refinements

v1.0.01

  • Updates version number to full release and moves the project to GitHub.

v0.1.4

  • String substitution updated for future functionality.
  • Updates error trapping for future functionality.

v0.1.3

  • Adds two new states: "isRenting" and "Renting".
  • Minimizes outreach to the sharing servers.
  • Ensures that devices are not restarted unnecessarily.
  • Implements setErrorStateOnServer() method.
  • Implements error screens in config dialog.
  • Further PEP8 refinements.
  • Updates plugin to use Python 2.6 as default.
  • Changes url for update checker to use https.
  • Simplifies imports.
  • UI Refinements.

v0.1.2

  • Fixes duplicate state label.
  • Increases compliance with PEP8.

v0.1.1

  • Better honors device start comm/stop comm.
  • Updates plugin with support URL.
  • Code refinements.

v0.1.0

  • Initial plugin version worthy of public alpha.