Skip to main content

Assorted utility functions for working with data downloaded from Selectronics' SP-LINK programme which communicates with their controllers.

Latest release 20220606: Initial PyPI release.

I use this to gather and plot data from my solar inverter.

Function main(argv=None)

SP-Link command line mode.

Class SPLinkCommand(cs.timeseries.TimeSeriesBaseCommand, cs.cmdutils.BaseCommand)

Command line to work with SP-Link data downloads.

Command line usage:

Usage: splink [-d spdpath] [-n] subcommand...
    -d spdpath  Specify the directory containing the SP-LInk downloads
                and time series. Default from $SPLINK_DATADIR,
                or '.'
    -n          No action; recite planned actions.
  Subcommands:
    fetch [-F rsync-source] [-nx] [-- [rsync-options...]]
      Rsync everything from rsync-source into the downloads area.
      -F    Fetch rsync source, default from $SPLINK_FETCH_SOURCE.
      -n    Passed to rsync. Just more convenient than putting it at the end.
      -x    Delete source files.
    help [-l] [subcommand-names...]
      Print the full help for the named subcommands,
      or for all subcommands if no names are specified.
      -l  Long help even if no subcommand-names provided.
    import [-d dataset,...] [-n] [sp-link-download...]
      Import CSV data from the downloads area into the time series data.
      -d datasets       Comma separated list of datasets to import.
                        Default datasets: DailySummaryData DetailedData EventData
      -f                Force. Import datasets even if already marked as
                        imported.
      -n                No action. Recite planned imports.
      sp-link-download  Specify specific individual downloads to import.
                        The default is any download not tagged as already
                        imported.
    info
      Report infomation about the time series stored at tspath.
    plot [--show] [-f] [-o imagepath] days {mode|[dataset:]{glob|field}}...

Class SPLinkCSVDir(cs.fs.HasFSPath)

A class for working with SP-Link data downloads, referring to a particular PerformanceData* download directory.

Class SPLinkData(cs.fs.HasFSPath, cs.resources.MultiOpenMixin, cs.context.ContextManagerMixin)

A directory containing SP-LInk data.

This contains:

  • downloads: a directory containing copies of various SP-Link downloads i.e. this contains directories named PerformanceData_*.
  • events.db: accrued event data from the EventData CSV files
  • DailySummaryData: an SPLinkDataDir containing accrued data from the DailySummaryData CSV files
  • DetailedData: an SPLinkDataDir containing accrued data from the DetailedData CSV files

Class SPLinkDataDir(cs.timeseries.TimeSeriesDataDir, cs.timeseries.TimeSeriesMapping, builtins.dict, cs.resources.MultiOpenMixin, cs.context.ContextManagerMixin, cs.fs.HasFSPath, cs.configutils.HasConfigIni, cs.timeseries.HasEpochMixin, cs.timeseries.TimeStepsMixin)

A TimeSeriesDataDir to hold log data from an SP-Link CSV data download. This holds the data from a particular CSV log such as 'DetailedData'. The SPLinkData class manages a couple of these and a downloads subdirectory and an events SQLTags.

Method SPLinkDataDir.__init__(self, dirpath, dataset: str, step: int, policy=None, **kw): Initialise the SPLinkDataDir.

Parameters:

  • dirpath: the pathname of the directory holding the downloaded CSV files
  • dataset: which CSV file populates this time series, eg 'DetailedData'
  • step: optional time series step size, default SPLinkDataDir.DEFAULT_LOG_FREQUENCY, which comes from SPLinkCSVDir.DEFAULT_LOG_FREQUENCY
  • policy: optional TimespanPolicyinstance; if omitted anTimespanPolicyYearlyinstance will be made Other keyword arguments are passed to theTimeSeriesDataDir` initialiser.

Class SPLinkDataFileInfo(builtins.tuple)

SPLinkDataFileInfo(fspath, sitename, dataset, unixtime, dotext)

Method SPLinkDataFileInfo.__new__(_cls, fspath, sitename, dataset, unixtime, dotext): Create new instance of SPLinkDataFileInfo(fspath, sitename, dataset, unixtime, dotext)

Function ts2001_unixtime(tzname=None)

Convert an SP-Link seconds-since-2001-01-01-local-time offset into a UNIX time.

Release Log

Release 20220606: Initial PyPI release.

Release files for cs.splink 20220606

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cs.splink 20220606
File Size Uploaded
cs.splink-20220606.tar.gz 12.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cs.splink 20220606
File Interpreter ABI Platform
cs.splink-20220606-py3-none-any.whl Python 3 none any Details

Total release size: 24.4 kB

Release history Release notifications | RSS feed

This release

20220606 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page