Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

volttron-topic-watcher

The Topic Watcher Agent listens to a set of configured topics and publishes an alert if they are not published within some time limit. In addition to for individual messages or data points, the Topic Watcher Agent supports inspecting device "all" topics. This can be useful when a device contains volatile points that may not be published.

Requires

  • python >= 3.10
  • volttron >= 10.0

Installation

Before installing, VOLTTRON should be installed and running. Its virtual environment should be active. Information on how to install of the VOLTTRON platform can be found here.

Create a directory called config and use the change directory command to enter it.

mkdir config
cd config

After entering the config directory, create a file called topic_watcher.json. Use the instructions below to populate that file with the correct JSON.

Topics are organized by groups in a JSON structure with the group's identifier as the key. Any alerts raised will summarize all missing topics in the group.

There are two configuration options for watching topics. For single message topics (such as a single device point), configuration consists of a key value pair of the topic to its time limit.

{
    "groupname": {
        "devices/campus/building/point": 10
    }
}

For points published in an "all" style publish, configuration consts of a key mapping to an object as follows: A seconds key for the time limit in seconds, and a points key consisting of a list of individual points in the all publish.

The following is an example "all" publish configuration which configures the Topic Watcher to check for the temperature and PowerState points which are expected to be inside the "all" publishes.

{
    "groupname": {
            "devices/fakedriver1/all": {
            "seconds": 10,
            "points": ["temperature", "PowerState"]
        }
    }
}

It is possible to configure the Topic Watcher to handle both "all" topics and single point topics for the same group:

{
    "groupname": {
        "devices/fakedriver0/all": 10,
        "devices/fakedriver1/all": {
            "seconds": 10,
            "points": ["temperature", "PowerState"]
        }
    }
}

After populating your configuration file, install and start topic watcher in VOLTTRON.

vctl install volttron-topic-watcher --agent-config topic_watcher.json --vip-identity platform.topic_watcher --start

View the status of the installed agent

vctl status

Development

Please see the following for contributing guidelines contributing.

Please see the following helpful guide about developing modular VOLTTRON agents

Disclaimer Notice

This material was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the United States Department of Energy, nor Battelle, nor any of their employees, nor any jurisdiction or organization that has cooperated in the development of these materials, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness or any information, apparatus, product, software, or process disclosed, or represents that its use would not infringe privately owned rights.

Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.

Metadata

Release files for volttron-topic-watcher 2.0.0rc0

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

Source distribution (sdist)

Source distribution for volttron-topic-watcher 2.0.0rc0
File Size Uploaded Provenance Actions
volttron_topic_watcher-2.0.0rc0.tar.gz 10.3 kB Without provenance Details for volttron_topic_watcher-2.0.0rc0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for volttron-topic-watcher 2.0.0rc0
File Interpreter ABI Platform Actions
volttron_topic_watcher-2.0.0rc0-py3-none-any.whl Python 3 none any Details for volttron_topic_watcher-2.0.0rc0-py3-none-any.whl

Total release size: 20.1 kB

Release files / volttron_topic_watcher-2.0.0rc0.tar.gz

Download URL volttron_topic_watcher-2.0.0rc0.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ece3543c11054d7a1b62db0e36cad4417a3dc2d57acfed0efcc43c9765a5f6f0
BLAKE2b-256 checksum
How to use checksums
0b0523aff7d1ac7ed5d590c57580ad7018b0dbee3eec3e33e4120f238bcdf7a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.12 Linux/5.15.153.1-microsoft-standard-WSL2

Release files / volttron_topic_watcher-2.0.0rc0-py3-none-any.whl

Download URL volttron_topic_watcher-2.0.0rc0-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4937c16f765bc10d98c5c9a718c23f926adcc4fe581a1908307545039a639c0f
BLAKE2b-256 checksum
How to use checksums
0b24392450370af80f8cd768a2f964fa12d6ccdccdbcab2759a2addc3d23f0d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.12 Linux/5.15.153.1-microsoft-standard-WSL2

Security for volttron-topic-watcher 2.0.0rc0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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