Skip to main content

OpenERP module and library to manage multisite energy generation

Project description


CI Coverage Status PyPI - Downloads

OpenERP module and library to manage multisite energy generation

To be extinguished package

Most of the content of this packages is in progress of being moved to somenergia-generationkwh o generic packages like somenergia-utils.

Further development should consider continuing this transition.

Install and test

pip install -e .
pytest plantmeter # Run unit tests
pytest som_plantmeter/tests # Run erp tests (require a working local erp)

Some erp tests clean up collections on the mongo database the erp points to, which could be a disaster if your dbconfig is pointing to a production setup. So, those tests are disabled by default. In order to enable clean room test in erp tests:

  • Ensure your configuration is pointing to a testing database
  • Run from somenergia-utils
  • This enables an erp config flag, that makes destrutive testing not to be skipped.
  • If, later, you accidentally change dbconfig to point a production setup, and run those tests they won't actually be run

Code Map

Refer to somenergia-generationkwh documentation on tips on how the code is structured.

How to release

  • Update the version in README changelogs
  • Update the version in
  • Commit "Bump to plantmeter-M.m.p"
  • git tag plantmeter-M.m.p
  • git push && git push --tags
  • The later push will generate the source package in pypi for the non-erp module


plantmeter 1.7.5 2023-01-18

  • Add filter capabilities to MongoTimeCurve.get()

plantmeter 1.7.4 2022-01-08

"Keeping up with Python 2.7" Release

  • Github actions for CI
  • Moved isodates to somutils
  • Python 2.7 compatibility: added conditional dependencies

plantmeter 1.7.3 2019-07-29

Py3 portability back

  • MTC: mongo's bjson do not accept numpy types as attributes, so we are taking the native item when updating with numpy arrays.

plantmeter 1.7.2 2019-07-18

Not importing anymore release

  • Removing logic for importing metering since now is done by Gisce:
    • Removed Meter.last_commit related to the meter importing logic
    • Removed GenerationkwhProductionNotifier and related helpers
    • update_kwh methods removed
    • Removed all (metering) providers
    • Removed GenerationkwhProductionAggregator.getNShares()
  • genkwh_production script renamed as genkwh_plants
  • genkwh_production curve extracted as genkwh_mtc
  • genkwh_mtc: collections alias renamed:
    • gisce -> production
    • production -> production_old
  • genkwh_mtc: New collection rightscorrection
  • Plants have first/last_active_date
  • Meters have first/last_active_date
  • New Aggregator.firstActiveDate() returning the min of the plant's first_active_date
  • Functional tests moved to som_plantmeter/tests
  • FIX: Fontivsolar meter number was wrong
  • New migration script to perform the former fix and rewrite the rights

plantmeter 1.7.1 2019-04-04

  • Removed deprecated scripts genkwh_pull_status and genkwh_export
  • Removed deprecated genkwh_production subcommands: pull-status, load-meassures and update-kwh
  • Script installed by

plantmeter 1.7.0 2019-04-02

  • Meters and plants have first_active_date attribute
  • Built plant shares is not a constant curve anymore, changes when adding new plants
  • Meter first_active_date filters out earlier meassures
  • Fix: lastMesurement in a mix/plant is the first one of lastMeasurement of the childs
  • Script to migrate old plant and incorporate the new one
  • In general, fixes to really enable multiple plants
  • editmix, editplant, editmeter
  • editmix, editplant, editmeter
  • delmix, delplant, delmeter
  • meterset -> editmeter

plantmeter 1.6.2 2019-01-21

  • Deprecated and
  • added pull_status as subcommand
  • pull_status: nicer output and exit status
  • migration script

plantmeter 1.6.1 2019-01-03

  • Show erp configuration at the begining of every command
  • Protect clear againts lossy fingers

plantmeter 1.6.0 2019-01-03

  • Python 3 supported (python module, not yet the erp code)
  • Migrated to pymongo 3
  • MongoTimeCurve takes some field names as parameters (timestamp and creation)
  • Abstracted ResourceParent from ProductionPlant and ProductionAggregator
  • list: list all the resorce hierarchy (mixes, plants, meters)
  • addmix: to add an aggregator, now 'mix'
  • addplant: to add a plant
  • addmeter: to add a meter
  • curve: to extract stored curves as TSV (production, rights...)
  • commmand documentation

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plantmeter-1.7.11.tar.gz (30.4 kB view hashes)

Uploaded Source

Built Distribution

plantmeter-1.7.11-py3-none-any.whl (30.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page