Source

This section contains descriptions about implementation details.

models.py

All Model Classes for Resources

class models.TopicMappingV1(topic, sub_uuid)[source]

TopicMappingV1: Model Class to handle all Topic-Mappings

class models.MQTTSubscriptionV1(subregex=None, description=None)[source]

MQTTSubscriptionV1: Model Class to handle all MQTT-Subscriptions

main.py

Main entry-point of this project

class main.Home[source]
get()[source]
Returns:
class main.ApiV1[source]
get()[source]
Returns:
class main.TopicMappingListApiV1[source]
get()[source]
Returns:
class main.SubscriptionsListApiV1[source]
get()[source]
Returns:
class main.SubscriptionDetailsApiV1[source]
get(uuid)[source]
Parameters:uuid
Returns:
class main.TopicValueApiV1[source]
delete(uuid)[source]
Parameters:uuid
Returns:
get(uuid)[source]
Parameters:uuid
Returns:
put(uuid)[source]
Parameters:uuid
Returns:
class main.TopicDetailsApiV1[source]
get(uuid)[source]
Parameters:uuid
Returns:
class main.MappingValueApiV1[source]
get(topic)[source]
Parameters:topic
Returns:
class main.MappingDetailsApiV1[source]
get(topic)[source]
Parameters:topic
Returns:
main.create_app()[source]

Start Main Application

Returns:Flask-App Instance
main.start_mqtt_client()[source]

Start an MQTT-Client in a new Thread.

Returns:
main.start_persistent_client()[source]

Start an InfluxDB-Client in a new Thread.

Returns:
main.create_mapping()[source]

Create MQTT-Resources Mapping

Returns:
main.run_msq_queue()[source]

Run Queue for handle Resource-Mapping

Returns:
main.run_event_handlers(subscribtion, msg)[source]

Run defined Event-Handler for incoming massages

Parameters:
  • subscribtion
  • msg
Returns:

callbacks.py

All Callback Handler

class callbacks.Callbacks[source]
default_output_handler()[source]
Returns:
push_influxdb_handler(queue)[source]
Parameters:queue
Returns:

mqtt_base_client.py

Base MQTT Client

class mqtt_base_client.BaseClient(broker='iot.eclipse.org', port=1883, sub_queue=None, pub_queue=None, msg_queue=None, password=None, username=None)[source]

Base Class for MQTT-Client

start_pub_queue()[source]

Start publish queue for handel asynchronous callbacks

Returns:
start_sub_queue()[source]

Start subscribe queue for handel asynchronous callbacks

Returns:
mqtt_base_client.on_connect_callback(client, userdata, flags, rc)[source]

on_connect callback

Parameters:
  • client
  • userdata
  • flags
  • rc
Returns:

mqtt_base_client.on_message_callback(client, userdata, msg)[source]

on_message callback

Parameters:
  • client
  • userdata
  • msg
Returns:

mqtt_base_client.on_publish_callback(client, userdata, mid)[source]

on_publish Callback

Parameters:
  • client
  • userdata
  • mid
Returns:

mqtt_base_client.on_subscribe_callback(client, userdata, mid, granted_qos)[source]

on_subscribe callback

Parameters:
  • client
  • userdata
  • mid
  • granted_qos
Returns:

influx_base_client.py

Base InfluxDB Client

class influx_base_client.InfluxDBBaseClient(host='localhost', port=8086, database='iot', persistent_queue=None)[source]

Base Class for InfluxDB Client

run_persistent_queue()[source]

Start persistent queue for handle asynchronous callbacks

Returns:
start_client()[source]

Start InfluxDB Client

Returns: