ETA Nexus
#########
*ETA Nexus* is a Python package designed to manage and facilitate inbound as well as outbound connections to various endpoints, including PLC controllers, field devices, and API services. The package aims to provide standardized connectivity through one unified notation across multiple communication protocols, currently supporting OPC UA, Modbus TCP, and REST.
If you want to record timeseries continuously, you can also use the `Datarecorder Application <https://git.ptw.maschinenbau.tu-darmstadt.de/eta-fabrik/public/eta-datarecorder>`_ which uses the *eta_nexus* package. Currently, only StatusConnectionType-Connections are supported by the Datarecorder.
Docs
****
Full documentation can be found here: https://eta-nexus.readthedocs.io/en/stable/
.. warning::
This is beta software. APIs and functionality may change significantly in major releases, and old major releases do not receive bug fixes.
Currently Available Connection Protocols
=========================================
.. image:: _static/eta_nexus.svg
:alt: See the docs for ETA Nexus's Class structure
There are two interfaces for connections: ``StatusConnectionType`` and ``SeriesConnectionType``.
While ``StatusConnectionType`` implements ``read()`` and ``write()``, to handle the current value of the endpoint,
``SeriesConnectionType`` implements ``read_series()``, yielding historic data without an ability to write to endpoints.
``Connection`` s can implement both interfaces.
.. list-table:: Connection Types
:widths: 30 20 20
:header-rows: 1
* - Connection
- StatusConnectionType
- SeriesConnectionType
* - Emonio (``Emonio``)
- ✓
-
* - Modbus TCP (``Modbus``)
- ✓
-
* - OPC UA (``Opcua``)
- ✓
-
* - ENTSO-E (``Entsoe``)
-
- ✓
* - ForecastSolar (``Forecastsolar``)
-
- ✓
* - Wetterdienst (``Wetterdienst``)
-
- ✓
* - EnEffco (``Eneffco``)
- ✓
- ✓
* - etaONE (``Etaone``)
- ✓
- ✓
Contributing
=============
Please read the `development guide <https://eta-utility.readthedocs.io/en/main/guide/development.html>`_ before starting development on *eta_nexus*
Citing this Project / Authors
================================
See `AUTHORS.rst` for a full list of contributors.
Please cite this repository as:
.. code-block::
Grosch, B., Ranzau, H., Dietrich, B., Kohne, T., Fuhrländer-Völker, D., Sossenheimer, J., Lindner, M., Weigold, M.
A framework for researching energy optimization of factory operations.
Energy Inform 5 (Suppl 1), 29 (2022). https://doi.org/10.1186/s42162-022-00207-6
Raw data
{
"_id": null,
"home_page": "https://www.ptw.tu-darmstadt.de",
"name": "eta-nexus",
"maintainer": "Andreas Clement",
"docs_url": null,
"requires_python": "<3.12.0,>=3.10.16",
"maintainer_email": "A.Clement@PTW.TU-Darmstadt.de",
"keywords": "connectivity, servers, iot, multi-protocol, eta-fabrik",
"author": "Technical University of Darmstadt, Institute for Production Management, Technology and Machine Tools (PTW)",
"author_email": "info@ptw.tu-darmstadt.de",
"download_url": "https://files.pythonhosted.org/packages/a9/30/fb7ea08581fa744297084ee817dcc8f50e1a540bc72388b1b2ef85b72f3f/eta_nexus-0.1.1.tar.gz",
"platform": null,
"description": "ETA Nexus\n#########\n\n*ETA Nexus* is a Python package designed to manage and facilitate inbound as well as outbound connections to various endpoints, including PLC controllers, field devices, and API services. The package aims to provide standardized connectivity through one unified notation across multiple communication protocols, currently supporting OPC UA, Modbus TCP, and REST.\n\nIf you want to record timeseries continuously, you can also use the `Datarecorder Application <https://git.ptw.maschinenbau.tu-darmstadt.de/eta-fabrik/public/eta-datarecorder>`_ which uses the *eta_nexus* package. Currently, only StatusConnectionType-Connections are supported by the Datarecorder.\n\nDocs\n****\nFull documentation can be found here: https://eta-nexus.readthedocs.io/en/stable/\n\n.. warning::\n\n This is beta software. APIs and functionality may change significantly in major releases, and old major releases do not receive bug fixes.\n\nCurrently Available Connection Protocols\n=========================================\n\n.. image:: _static/eta_nexus.svg\n :alt: See the docs for ETA Nexus's Class structure\n\n\nThere are two interfaces for connections: ``StatusConnectionType`` and ``SeriesConnectionType``.\nWhile ``StatusConnectionType`` implements ``read()`` and ``write()``, to handle the current value of the endpoint,\n``SeriesConnectionType`` implements ``read_series()``, yielding historic data without an ability to write to endpoints.\n``Connection`` s can implement both interfaces.\n\n.. list-table:: Connection Types\n :widths: 30 20 20\n :header-rows: 1\n\n * - Connection\n - StatusConnectionType\n - SeriesConnectionType\n * - Emonio (``Emonio``)\n - \u2713\n -\n * - Modbus TCP (``Modbus``)\n - \u2713\n -\n * - OPC UA (``Opcua``)\n - \u2713\n -\n * - ENTSO-E (``Entsoe``)\n -\n - \u2713\n * - ForecastSolar (``Forecastsolar``)\n -\n - \u2713\n * - Wetterdienst (``Wetterdienst``)\n -\n - \u2713\n * - EnEffco (``Eneffco``)\n - \u2713\n - \u2713\n * - etaONE (``Etaone``)\n - \u2713\n - \u2713\n\n\nContributing\n=============\n\nPlease read the `development guide <https://eta-utility.readthedocs.io/en/main/guide/development.html>`_ before starting development on *eta_nexus*\n\nCiting this Project / Authors\n================================\n\nSee `AUTHORS.rst` for a full list of contributors.\n\nPlease cite this repository as:\n\n .. code-block::\n\n Grosch, B., Ranzau, H., Dietrich, B., Kohne, T., Fuhrl\u00e4nder-V\u00f6lker, D., Sossenheimer, J., Lindner, M., Weigold, M.\n A framework for researching energy optimization of factory operations.\n Energy Inform 5 (Suppl 1), 29 (2022). https://doi.org/10.1186/s42162-022-00207-6\n",
"bugtrack_url": null,
"license": "BSD-2-Clause",
"summary": "Provides a standardized way to connect to machines and devices in a factory or other factory systems",
"version": "0.1.1",
"project_urls": {
"Documentation": "https://eta-nexus.readthedocs.io/",
"Homepage": "https://www.ptw.tu-darmstadt.de",
"Repository": "https://git.ptw.maschinenbau.tu-darmstadt.de/eta-fabrik/public/eta-nexus",
"issues": "https://git.ptw.maschinenbau.tu-darmstadt.de/eta-fabrik/public/eta-nexus/-/issues"
},
"split_keywords": [
"connectivity",
" servers",
" iot",
" multi-protocol",
" eta-fabrik"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "24d49e19b122057b6c8ce62239fb7437270ceae5c394433a77e4acd85382624b",
"md5": "036d15d26bd16ccecb25067b94f6ae34",
"sha256": "a637cf6c4b26bc84b9a8ddf84c7c19e2af31c40c3328f6c7422b94b474befa83"
},
"downloads": -1,
"filename": "eta_nexus-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "036d15d26bd16ccecb25067b94f6ae34",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12.0,>=3.10.16",
"size": 391730,
"upload_time": "2025-08-21T12:48:50",
"upload_time_iso_8601": "2025-08-21T12:48:50.270842Z",
"url": "https://files.pythonhosted.org/packages/24/d4/9e19b122057b6c8ce62239fb7437270ceae5c394433a77e4acd85382624b/eta_nexus-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a930fb7ea08581fa744297084ee817dcc8f50e1a540bc72388b1b2ef85b72f3f",
"md5": "a7453c84e62d688baece698c0f0d6fbe",
"sha256": "957dac25298eeed297046961dba235320329fd5476315e11ab0b455f55e39698"
},
"downloads": -1,
"filename": "eta_nexus-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "a7453c84e62d688baece698c0f0d6fbe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12.0,>=3.10.16",
"size": 364370,
"upload_time": "2025-08-21T12:48:51",
"upload_time_iso_8601": "2025-08-21T12:48:51.664177Z",
"url": "https://files.pythonhosted.org/packages/a9/30/fb7ea08581fa744297084ee817dcc8f50e1a540bc72388b1b2ef85b72f3f/eta_nexus-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-21 12:48:51",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "eta-nexus"
}