Technical Training 1

Training material used in conjunction or reference following a standard MobiusFlow training session 1.

Technologies Referenced

This section outlines the major technologies reference in this training. Learning about this technologies is recommended.

MQTT

MQTT (Message Queuing Telemetry Transport) is a lightweight and efficient publish-subscribe messaging protocol, commonly used in IoT (Internet of Things) applications.

MQTT is widely used for data transport throughout the MobiusFlow software.

JSON

JSON (JavaScript Object Notation) is a lightweight data interchange format that is easy for humans to read and write, and easy for machines to parse and generate.

Learn how JSON works here.

A basic knowledge of JSON is required when using the Flows (logic engine) within MobiusFlow.

EnOcean

EnOcean is a short distance wireless communication protocol used widely within the IoT space. Each EnOcean device has a unique identifier (UID) which is used to identify the sender of all EnOcean wireless telegrams.

During this training, EnOcean will be used as an exemplar IoT technology to demonstrate MobiusFlow from the device level.

MobiusFlow Overview

Structure

A MobiusFlow instance runs a central MobiusFlow Hub. Services, each of which have a function within the overall solution, reside on the hub, and use it as a relay to communicate information.

A MobiusFlow object often represents a virtual equivalent of a real-world device, however can represent non-physical entities such as calculated data.

Some services can have MobiusFlow objects reside on them, often when the service needs to directly interact with those objects in some way. For example, objects representing EnOcean devices will always reside on an EnOcean devices service.

Points / Resources

A MobiusFlow object contains many resources, each being its own individual data stream representing something about that object.

Below shows a screenshot from the MobiusFlow software of the list of resources associated to an EnOcean Temperature / Humidity / C02 sensor.

A point is a chargeable resource. Notice in the above screenshot, the points column is only populated for Temperature, Humidity and CO2.

Also notice how the MobiusFlow software calculates your total point usage and displays this at the bottom right hand corner.

URIs

All parts of the MobiusFlow hierarchy are assigned a unique URI with the following structure:

HID/SID/PID/INS/RID

ExplanationFormat

HID

Hub ID

6-Digit Hex

SID

Service ID

3-Digit Hex

PID

Profile ID (A MobiusFlow profile can be thought of as an object type)

4-Digit Hex

INS

Instance ID (The ID of that object instance)

4-Digit Hex

RID

Resource ID

2-Digit Hex

Example URIs

Service

Full example URI of a service:

000001/020

Representing service 020 on hub 000001.

Object

Full example URI of an object:

000001/020/0028/0001

Representing instance 0001 of object type (profile) 0028 on service 020 on hub 000001.

Resource

Full example URI of a resource:

000001/020/0028/0001/40

Representing resource 40 on instance 0001 of object type (profile) 0028 on service 020 on hub 000001.

Conclusion

Using the URI system, it is therefore possible to reference any component of a given MobiusFlow configuration.

Configuration Example

Example Overview

This aims to show how data taken from EnOcean sensors at a hardware level, is brought into and through the MobiusFlow system, and then presented in the form of a dashboard.

Project Schematic

The following shows a colorless project schematic representing lack of implementation. As the project is implemented, this diagram will be colored in so progress can easily shown.

Note that the EnOcean devices have been dropped from the diagram for simplicity

Explanation of Services

ServiceExplanation of requirement

MQTT Broker

To allow MobiusFlow connectors to connect to and send data to

Connector Service

To collect incoming messages from MobiusFlow connectors and bring the data into the MobiusFlow Hub

EnOcean Devices Service

To decode raw EnOcean messages from the MobiusFlow hub and populate this service's child MobiusFlow objects with human-readable data.

MobiusFlow Configuration

MQTT Broker

Add and start MQTT Broker service:

The MQTT Broker service has been added, configured and started.

Connector Service

Add connectors service, add a connector to the service, and finally start the service.

Add and start service:

Add a MobiusFlow connector object to the connectors service and configure:

The Connector service has been added, configured and started.

EnOcean Devices Service

Add EnOcean Devices service, add EnOcean device objects to the service, and finally start the service.

The EnOcean devices service has been added, configured and started.

Connecting Hardware

For full information on how to configure a MobiusFlow connector see here.

MobiusFlow connector is connected.

Service Status and Data

The status of all service can viewed. This is a helpful insight into the current state of the solution as well as aiding with diagnostics.

The data of any live object can viewed by navigating to that object and then clicking on resources.

Flows

Connecting the flows to the MobiusFlow engine, as well as the baseline principles of pulling into the flows is covered here.

Dashboard

In this example, the live state of the buttons on a 4-Rocker EnOcean switch is shown on a basic dashboard.

Using dashboard in the way illustrated can be as simple or as complex as required. Display widgets include graphs, charts and tables, as well input widgets such as switches, buttons, drop-downs and text inputs. Full documentation of the Flows dashboard can be found here.

Last updated

© 2023 MobiusFlow® - All Rights Reserved - MobiusFlow® is a registered trademark of Infrastructure Software Solutions Limited trading as MobiusFlow® - All other brand names, product names, or trademarks belong to their respective owners