This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
`|Build Status| <https: travis-ci.org="" zoetropelabs="" keenmqtt="">`_
`|Documentation
Status| <https: readthedocs.org="" projects="" keenmqtt="" ?badge="latest">`_
`|Coverage
Status| <https: coveralls.io="" github="" zoetropelabs="" keenmqtt?branch="master">`_

keenmqtt
========

A MQTT client which will send configured MQTT messages to keen IO as
events for later analysis.

.. figure:: docs/system_diagram.png
:align: center
:alt: System Diagram of keenmqtt

System Diagram of keenmqtt
The problem
~~~~~~~~~~~

IoT data platforms are often a big investment in time and sometimes
money, so often a simple MQTT set up is used. This should not prevent
one from being able to perform historical analysis of data points.

See the **`blog
article <https: zoetrope.io="" tech-blog="" simple-mqtt-iot-logging="">`_** with
a live example.

The solution
~~~~~~~~~~~~

keenmqtt is a simple bridge which will listen for specified MQTT
messages and log them on your KeenIO project. This complete history of
events will allow you to:

1. Create graphs of old data, such as temperature.
2. Use this data to refine your system.
3. Display this data to your users.

keenmqtt can be run as a standalone daemon, or used in a python program.

Installation
------------

::

pip install keenmqtt

Or clone/download the repo, run ``python setup.py install`` in the root.

Usage
-----

Command Line
~~~~~~~~~~~~

Running the stand alone package requires a config file, see
``example/config.yaml`` for a template.

After installing, run the following to log events:

::

keenmqtt -c config.yaml

In your program
~~~~~~~~~~~~~~~

keenMQTT has been specifically designed so that almost any part of the
pipeline can be overriden or customised.

The source is well documented, `see
readthedocs <http: keenmqtt.readthedocs.org="" en="" latest="" keenmqtt.html#module-keenmqtt.keenmqtt="">`_

**Example: Custom payload formats** As an example; if you had a sensor
which publishes an ascii format sensor reading, you can define a custom
payload decoder for topics which match that sensor value as follows:

::

from keenmqtt import KeenMQTT

class CustomDecoder(KeenMQTT):
def decode_payload(self, topic, payload):
"""Decode a plain ASCII format sensor reading"""
if 'humidity' in topic:
event = {
"value": int(payload)
}
else:
#Assume default JSON encoding
event = KeenMQTT.decode_payload(self, topic, payload)
return event

Contributing
------------

1. Fork it!
2. Create your feature branch: ``git checkout -b my-new-feature``
3. Commit your changes: ``git commit -am 'Add some feature'``
4. Push to the branch: ``git push origin my-new-feature``
5. Submit a pull request

History
-------

0.0.1: Working version of the CLI app.

Credits
-------

Written by Ben Howes & Richard Webb of `Zoetrope <https: zoetrope.io="">`_

With thanks to:

1. `KeenIO <https: keen.io="">`_ for a super service.
2. `Eclipse Paho <https: www.eclipse.org="" paho="" clients="" python=""/>`_ for a
great MQTT client.

License
-------

MIT Licence

.. |Build
Status| image:: https://travis-ci.org/ZoetropeLabs/keenmqtt.svg?branch=master
.. |Documentation
Status| image:: https://readthedocs.org/projects/keenmqtt/badge/?version=latest
.. |Coverage
Status| image:: https://coveralls.io/repos/ZoetropeLabs/keenmqtt/badge.svg?branch=master&service=github
Release History

Release History

0.0.10

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.9

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.8

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
keenmqtt-0.0.10.tar.gz (6.7 kB) Copy SHA256 Checksum SHA256 Source Jul 27, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting