diff --git a/CHANGES.rst b/CHANGES.rst index 5f6ae7ca..6e1bbd81 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -32,6 +32,7 @@ in progress - [grafana] Add mechanisms for taming the dashboard refresh interval - [core] Improve component loading robustness - [grafana] Refactoring. Robustness. Run GrafanaManager as service. Add worker service for taming dashboard refresh intervals. +- [command] Add ``kotori-selftest`` program, still in its infancy .. _kotori-0.20.1: diff --git a/kotori/vendor/selftest.py b/kotori/vendor/selftest.py new file mode 100644 index 00000000..ab8bfce0 --- /dev/null +++ b/kotori/vendor/selftest.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +# (c) 2018 Andreas Motl +import json +import delegator + +def run(): + realms = ['mqttkit-1', 'hiveeyes', 'luftdaten', 'weewx'] + measurements = {"temperature": 42.84, "weight": 84.85} + for realm in realms: + topic = '{}/testdrive/area-42/node-1/data.json'.format(realm) + command = 'mosquitto_pub -h "{host}" -t "{topic}" -m \'{message}\''.format( + host='localhost', topic=topic, message=json.dumps(measurements)) + + print 'Running command: {}'.format(command) + delegator.run(command) diff --git a/setup.py b/setup.py index eee104d6..c73a2b6e 100644 --- a/setup.py +++ b/setup.py @@ -28,6 +28,7 @@ 'python-dateutil==2.6.0', # 2.7.0 'arrow==0.10.0', # 0.12.1 'funcy==1.7.2', # 1.10.1 + 'delegator.py==0.1.0', # Bus adapters #'twisted-mqtt==0.1.4', # 0.2.1 @@ -200,6 +201,7 @@ 'h2m-csv-udp-fuzzer = kotori.vendor.hydro2motion.client:run_udp_fuzzer', 'lst-message = kotori.vendor.lst.shell:message', 'luftdaten-to-mqtt = kotori.vendor.luftdaten.luftdaten_api_to_mqtt:main', + 'kotori-selftest = kotori.vendor.selftest:run', ], 'paste.app_factory': [ 'main = kotori.frontend.app:main',