Skip to main content

An adapter to connect mosaik with InfluxDB 2

Project description

mosaik-influxdb2

This package contains an adapter to write data from a mosaik simulation into an InfluxDB 2 database.

Installation

This package is on pypi, so you can install it using pip:

pip install mosaik-influxdb2

Usage

To use the simulator, first add it to your sim_config:

sim_config = {
    "InfluxWriter": {"python": "mosaik_components.influxdb2.writer:Simulator"},
    # ...
}

Next, you need to start the simulator. Here, you have two choices to make:

  1. The simulator can run both in time-based mode with a fixed step size or in event-based mode without a step size. You can choose the time-based mode by giving the parameter step_size when starting the simulator. If you give step_size=None (or don’t specify anything), the simulator will use the event-based mode.
  2. You can either supply a start date (as a string parseable by Python’s datetime module) which will be combined with the (mosaik) time and time resolution to calculate each step’s time, or you can supply the time for each step on the local_time attribute (again, as a string). If you give both, the value on the local_time attribute will take precedence.

So one possible invocation would be

influx_sim = world.start("InfluxWriter",
    step_size=900,
    start_date="2022-01-01 00:00:00Z",
)

to start the simulator in time-based mode with a step size of 900 and times based on the given start date. You can leave off either argument with the effects described above.

Finally, the model needs to be started with your Influx credentials:

influx = influx_sim.Database(
    url="http://localhost:8086",
    org='.',
    bucket='my_bucket',
    token='secret_token',
    measurement='experiment_0001'
)

We recommend setting a new value for the measurement on each simulation run. (For example, you can use the start time of your simulation or a random UUID.)

Afterwards, you can define world.connect(other_entity, influx, attrs) as you like.

The simulator supports only one instance of the Database model. If you want to connect to several databases, you will need to start several instances of the simulator as well.

Other settings

By default, the adapter will save the simulator ID and entity ID of the producer of each data point in the src_sim and src_entity tags on that data point. You can change the name of these tags by passing the src_sim_tag and src_entity_tag to the start call. Setting them to None will disable writing the corresponding tag entirely.

Additionally, you can use the extra method register_src_types on the influx_sim object to pass a dict mapping entities' full IDs to arbitrary strings. Entities for which the full ID is registered in this way will have their data point augmented by the tag src_type, with the corresponding value in the dict as the tag value.

You would usually use this to store an entities "type" (for example, bus, line, PV system, etc.) as the adapter cannot reliably deduce this from the entity IDs. (Not every simulator uses the convention "ModelName-Index" for those.)

The name of this tag can be changed via the src_type_tag parameter to start.

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

mosaik_influxdb2-0.4.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mosaik_influxdb2-0.4.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file mosaik_influxdb2-0.4.0.tar.gz.

File metadata

  • Download URL: mosaik_influxdb2-0.4.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.19 Linux/5.15.154+

File hashes

Hashes for mosaik_influxdb2-0.4.0.tar.gz
Algorithm Hash digest
SHA256 cba138da1064c3a26a66ff155f024d8d54b2f541c1954965089d706504f6246d
MD5 3005e391a641f74907412f951f33da2d
BLAKE2b-256 e4bce906bd5d84de349790d8c14821d9af7ff0fed2476e3ce0cdd5634af33de7

See more details on using hashes here.

File details

Details for the file mosaik_influxdb2-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: mosaik_influxdb2-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.19 Linux/5.15.154+

File hashes

Hashes for mosaik_influxdb2-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7eeb88b87e753a6e35c156079925403bc12f8b86179674c4b29124c71d4cbb42
MD5 5be57b9acf7fd13ed92626510ea85ec3
BLAKE2b-256 52067462c5e5ff3bb561e84100af6557a5f8c47204ed04151c56d80134033cb1

See more details on using hashes here.

Supported by

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