MobiusFlow Uniform Resource Identifiers (URIs)

Within a MobiusFlow system all hubs, services, objects and resources are identified by a unique address known as a Uniform Resource Identifier or URI. These URIs are hierarchical so given the URI for a Mobius resource it is possible to identify which object the resource belongs to, what the object type is, which service the object belongs to and which Mobius node the service is running on.

Mobius URI Definition

An object’s URI (or name) is defined in 4 parts, namely the hub ID (HID), service ID (SID), object profile ID (PID) and instance number (INS). A fifth part is added when accessing a specific resource, the resource ID (RID).

Each part of an object’s URI is a hexadecimal uppercase string of a defined length (as shown in the table below). The URI’s parts are separated with a forward slash (/).

A full URI is typically defined as HID/SID/PID/INS/RID.

It is possible to address any part of the system by only using the required parts of the URI. e.g. to address a service only the first two parts of the URI are used HID/SID and to address an object only the first four parts are used HID/SID/PID/INS.

URI Section

Length

Example

Description

HID

6

000001

The Mobius Hub or node ID. This should be unique within a MobiusFlow system.

SID

3

01F

The microservice ID. This must be unique for all services on a single node.

PID

4

003A

The object's profile ID. This describes the objects type. Object profiles determine what resources an object has available.

INS

4

0001

The object's instance number. This is unique for each object of a specific type belonging to a service.

RID

2

40

The resource ID

An example of an object URI for an object of instance 1, profile 3A, created by service 1F connected to hub 1 is:

000001/01F/003A/0001

and if addressing resource 40 on that object the full URI would be:

000001/01F/003A/0001/40

Mobius URI Wildcards

Under certain conditions, such as subscribing to a resource’s change of value event, it is possible to use wildcards in the URI. These wildcards are described in the table below and follow the MQTT standard.

Wildcard

Meaning

Example

+

Any value in this location

000001/+/003A/+/40

#

Any value in this location and all subsequent locations

000001/01F/#

Last updated