[provider] is the logic separator for which service the asset belongs
to. For example, in a city, the bus company and waste management company can use
common names for different assets, as they use to work in separate silos. In order
to avoid that, the [provider] name allows us to avoid the duplication
of [entityNames] within the OC Facility for a particular site.

[group]: This is optional. The group part can be used for grouping
assets under the same service and provider. It is responsibility of OS sites to
maintain proper group keys.

[entityName]: The Entity/Device identifier which should be unique at
the corresponding OC Site, service and provider. The same applies at the scope of an
experiment.

type:string

This attribute specifies the type of the asset, e.g., urn:oc:entityType:weatherstation

TimeInstant:object

This attribute encodes the time that an update to the asset has been performed. It must
be added by the asset provider. The type is urn:oc:attributeType:ISO8601,
while the format for the value is specified by the ISO8601, where the following format
is used (the Z at the end means UTC):

YYYY-MM-DDTTHH:mm:ss:SSSZ

Since Dec 1st 2016, the OC Platform just accept assets which provide a valid
TimeInstant-attribute. For the sake of a good platform function all other time formats
will be rejected.

AssetUpdate:
object

This JSON object represents an asset, if it is updated. The minimal required attrbute is TimeInstant.
To update an asset, it is not allowed to use the attributes id and
type.

TimeInstant:object

This attribute encodes the time that an update to the asset has been performed. It must
be added by the asset provider. The type is urn:oc:attributeType:ISO8601,
while the format for the value is specified by the ISO8601, where the following format
is used (the Z at the end means UTC):

YYYY-MM-DDTTHH:mm:ss:SSSZ

Since Dec 1st 2016, the OC Platform just accept assets which provide a valid
TimeInstant-attribute. For the sake of a good platform function all other time formats
will be rejected.