Configuring the IzoT REST Server
The IzoT REST API Server is a Python-based REST API Server based on Django and the Django REST Framework. It is configured using the standard Django configuration file mechanism in files under $IZOT/izot/server/project/settings. Default settings are stored in default.py. Local settings are stored in local.py, if it exists (copy example.py to create a new local settings file).
Most of the IzoT Server specific settings are specified under the IZOT section:
# IzoT Server configuration settings IZOT = {     # A (named) collection of IzoT Server Collectors that will     # be started to collect and update devices and datapoints.     # Names must be no longer than 30 characters and consist only of     # letters, numbers, underscores or hyphens.     'COLLECTORS': {         # NOTE: add additional collectors in "settings/local.py"                 # local LonBridge Server collector         'lonbridge': {             'class': 'collectors.lonbridge.LonBridgeCollector',             'args': {                 'host': 'localhost',                 'port': 3050             }         },                 # localhost collector            'localhost': {             'class': 'collectors.localhost.LocalhostCollector',             'args': {                 'poll': 10             }         }     },                        # A (named) collection of IzoT Server Publishers that will     # be started to publish datapoint updates.     'PUBLISHERS': {         # NOTE: add additional publishers in "settings/local.py"     },                        # A (named) collection of IzoT Server Subscribers that will     # be started to subscribe to device commands and datapoint updates.     'SUBSCRIBERS': {         # NOTE: add additional subscribers in "settings/local.py"     }, }
where​
Setting | Description |
---|---|
COLLECTORS | IzoT Collectors are 'plug-in' components used to extend the IzoT Server to provide datapoint collectors. Two standard collectors are supplied by default: LonBridgeCollector collects datapoints from the IzoT Network Server (LonBridge); LocalhostCollector collects CPU, Disk and Memory usage datapoints from the local host. Custom collectors can be created and added to the local settings file (see example.py). The supplied IzoT Collectors (including a sample MQTT collector) are located in the izot.server.collectors package. |
PUBLISHERS | IzoT Publishers are 'plug-in' components used to extend the IzoT Server to provide external datapoint publishers (e.g., to a cloud service). By default, there are no standard publishers (the only way to monitor datapoints is via the REST API). Custom publishers can be created and added to the local settings file (see example.py). The supplied IzoT Publishers (including sample publishers for MQTT, SeeControl's Nexus Cloud service, InSync's SensorNet Cloud service, and Xively's Cloud service) are located in the izot.server.publishers package. |
SUBSCRIBERS | IzoT Subscribers are 'plug-in' components used to extend the IzoT Server to provide external datapoint subscribers. By default, there are no standard subscribers (the only way to control datapoints is via the REST API). Custom subscribers can be created and added to the local settings file (see example.py). The supplied IzoT Subscribers (including a sample subscriber for SeeControl's Nexus Cloud service) are located in the izot.server.subscribers package. |
class | All plug-ins are defined by specifying (a unique name and) the module's full name. |
args | A dictionary of custom arguments to configure the plug-in. See the appropriate plug-in source file for a description of valid custom arguments. |
For further details on these and other settings, see the source for the individual plug-ins and the Django and Django REST Framework documentation.