ISO/IEC 30118-9:2021
(Main)Information technology – Open Connectivity Foundation (OCF) Specification — Part 9: Core optional specification
Information technology – Open Connectivity Foundation (OCF) Specification — Part 9: Core optional specification
The OCF Core specifications are divided into a series of documents: Core specification: The Core specification document specifies the Framework, i.e., the OCF core architecture, interfaces, protocols and services to enable OCF profiles implementation for Internet of Things (IoT) usages and ecosystems. This document is mandatory for all Devices to implement. Core optional specification (this document): The Core optional specification document specifies the Framework, i.e., the OCF core architecture, interfaces, protocols and services to enable OCF profiles implementation for Internet of Things (IoT) usages and ecosystems that can optionally be implemented by any Device. Core extension specification(s): The Core extension specification(s) document(s) specifies optional OCF Core functionality that are significant in scope (e.g., Wi-Fi easy setup, Cloud).
Technologies de l'information — Specification de la Fondation pour la connectivité ouverte (Fondation OCF) — Partie 9: Spécification facultative du cœur
General Information
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 30118-9
First edition
2021-10
Information technology — Open
Connectivity Foundation (OCF)
Specification —
Part 9:
Core optional specification
Technologies de l'information — Specification de la Fondation pour la
connectivité ouverte (Fondation OCF) —
Partie 9: Spécification facultative du cœur
Reference number
© ISO/IEC 2021
© ISO/IEC 2021
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on
the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below
or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii
© ISO/IEC 2021 – All rights reserved
Contents Page
Foreword . iv
Introduction . v
1 Scope . 1
2 Normative references . 1
3 Terms, definitions and abbreviated terms . 2
3.1 Terms and definitions . 2
4 Document conventions and organization . 3
4.1 Conventions . 3
4.2 Notation . 3
4.3 Data types . 4
5 Functional interactions . 4
5.1 Introduction . 4
5.2 Onboarding, provisioning and configuration . 4
5.3 Device management . 6
5.4 Scenes . 18
5.5 Rules . 22
5.6 Icons . 30
5.7 Alerts . 31
Annex A (normative) Resource Type definitions . 33
A.1 List of Resource Type definitions . 33
A.2 Device Configuration . 33
A.3 Platform Configuration . 38
A.4 Icon . 42
A.5 Maintenance . 45
A.6 Network Monitoring . 48
A.7 Scene List . 52
A.8 Scene Collection . 56
A.9 Scene Member . 62
A.10 Alert . 66
A.11 Alert Collection . 69
A.12 software update . 75
A.13 OCF Rule . 79
A.14 OCF Rule Input Collection . 84
A.15 OCF Rule Expression . 88
A.16 OCF Rule Action Collection . 91
A.17 OCF Rule Action . 96
© ISO/IEC 2021 – All rights reserved iii
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees established
by the respective organization to deal with particular fields of technical activity. ISO and IEC technical
committees collaborate in fields of mutual interest. Other international organizations, governmental and non-
governmental, in liaison with ISO and IEC, also take part in the work.
The procedures used to develop this document and those intended for its further maintenance are described in
the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the different types of
document should be noted (see www.iso.org/directives or www.iec.ch/members_experts/refdocs).
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details of any
patent rights identified during the development of the document will be in the Introduction and/or on the ISO list
of patent declarations received (see www.iso.org/patents) or the IEC list of patent declarations received
(see patents.iec.ch).
Any trade name used in this document is information given for the convenience of users and does not constitute
an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and expressions
related to conformity assessment, as well as information about ISO's adherence to the World Trade
Organization (WTO) principles in the Technical Barriers to Trade (TBT), see www.iso.org/iso/foreword.html. In
the IEC, see www.iec.ch/understanding-standards.
This document was prepared by the Open Connectivity Foundation (OCF) (as OCF Core Optional Specification,
version 2.2.0) and drafted in accordance with its editorial rules. It was adopted, under the JTC 1 PAS procedure,
by Joint Technical Committee ISO/IEC JTC 1, Information technology.
A list of all parts in the ISO/IEC 30118 series can be found on the ISO and IEC websites.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www.iso.org/members.html and www.iec.ch/national-
committees.
iv © ISO/IEC 2021 – All rights reserved
Introduction
This document, and all the other parts associated with this document, were developed in response to
worldwide demand for smart home focused Internet of Things (IoT) devices, such as appliances, door
locks, security cameras, sensors, and actuators; these to be modelled and securely controlled, locally
and remotely, over an IP network.
While some inter-device communication existed, no universal language had been developed for the
IoT. Device makers instead had to choose between disparate frameworks, limiting their market share,
or developing across multiple ecosystems, increasing their costs. The burden then falls on end users
to determine whether the products they want are compatible with the ecosystem they bought into, or
find ways to integrate their devices into their network, and try to solve interoperability issues on their
own.
In addition to the smart home, IoT deployments in commercial environments are hampered by a lack
of security. This issue can be avoided by having a secure IoT communication framework, which this
standard solves.
The goal of these documents is then to connect the next 25 billion devices for the IoT, providing secure
and reliable device discovery and connectivity across multiple OSs and platforms. There are multiple
proposals and forums driving different approaches, but no single solution addresses the majority of
key requirements. This document and the associated parts enable industry consolidation around a
common, secure, interoperable approach.
ISO/IEC 30118 consists of eighteen parts, under the general title Information technology — Open
Connectivity Foundation (OCF) Specification. The parts fall into logical groupings as described herein:
– Core framework
– Part 1: Core Specification
– Part 2: Security Specification
– Part 13: Onboarding Tool Specification
– Bridging framework and bridges
– Part 3: Bridging Specification
– Part 6: Resource to Alljoyn Interface Mapping Specification
– Part 8: OCF Resource to oneM2M Resource Mapping Specification
– Part 14: OCF Resource to BLE Mapping Specification
– Part 15: OCF Resource to EnOcean Mapping Specification
– Part 16: OCF Resource to UPlus Mapping Specification
– Part 17: OCF Resource to Zigbee Cluster Mapping Specification
– Part 18: OCF Resource to Z-Wave Mapping Specification
– Resource and Device models
– Part 4: Resource Type Specification
– Part 5: Device Specification
– Core framework extensions
– Part 7: Wi-Fi Easy Setup Specification
– Part 9: Core Optional Specification
– OCF Cloud
– Part 10: Cloud API for Cloud Services Specification
– Part 11: Device to Cloud Services Specification
– Part 12: Cloud Security Specification
INTERNATIONAL STANDARD ISO/IEC 30118-9:2021(E)
Information technology — Open Connectivity
Foundation (OCF) Specification —
Part 9:
Core optional specification
1 Scope
The OCF Core specifications are divided into a series of documents:
– Core specification: The Core specification document specifies the Framework, i.e., the OCF core
architecture, interfaces, protocols and services to enable OCF profiles implementation for Internet
of Things (IoT) usages and ecosystems. This document is mandatory for all Devices to implement.
– Core optional specification (this document): The Core optional specification document specifies the
Framework, i.e., the OCF core architecture, interfaces, protocols and services to enable OCF
profiles implementation for Internet of Things (IoT) usages and ecosystems that can optionally be
implemented by any Device.
– Core extension specification(s): The Core extension specification(s) document(s) specifies optional
OCF Core functionality that are significant in scope (e.g., Wi-Fi easy setup, Cloud).
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any amendments) applies.
ISO/IEC DIS 20924, Information Technology – Internet of Things – Vocabulary, June 2018
https://www.iso.org/standard/69470.html
ISO/IEC 30118-1, Information technology – Open Connectivity Foundation (OCF) Specification –
Part 1: Core specification
https://www.iso.org/standard/53238.html
ISO/IEC 30118-2, Information technology – Open Connectivity Foundation (OCF) Specification –
Part 2: Security specification
https://www.iso.org/standard/74239.html
IETF RFC 3339, Date and Time on the Internet: Timestamps, July 2002
https://www.rfc-editor.org/info/rfc3339
IETF RFC 5234, Augmented BNF for Syntax Specifications: ABNF, January 2008
https://www.rfc-editor.org/info/rfc5234
IETF RFC 5424, The Syslog Protocol, March 2009
https://tools.ietf.org/html/rfc5424
IETF RFC 5646, Tags for Identifying Languages, September 2009
https://www.rfc-editor.org/info/rfc5646
IANA ifType-MIB Definitions
https://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib
© ISO/IEC 2021 – All rights reserved 1
IANA Media Types Assignment, March 2017
http://www.iana.org/assignments/media-types/media-types.xhtml
OpenAPI specification, fka Swagger RESTful API Documentation Specification, Version 2.0
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
3 Terms, definitions and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 30118-1.
ISO/IEC 30118-2, and the following apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
– ISO Online browsing platform: available at https://www.iso.org/obp
– IEC Electropedia: available at http://www.electropedia.org/
3.1.1
Alert
information provided by the Device by means of a specialised Resource Type that provides details with
regard to potential problems, issues, or Device status of interest on which action can be taken
3.1.2
Rule
Resource that implements autonomous decision logic according to a condition-action pattern
3.1.3
Rule Action
Resource that is actuated with a defined value when the Rule Result (3.1.6) holds "true"
3.1.4
Rule Expression
definition of the Rule (3.1.1) logic in terms of the defined Rule Inputs (3.1.5), and which evaluates to
a boolean Rule Result (3.1.6), for which "true" means that the Rule (3.1.1) has been triggered
3.1.5
Rule Input
Resources that contain the Properties whose values are evaluated as part of the Rule Expression
(3.1.4)
3.1.6
Rule Result
Property which reflects the result of the evaluation of the Rule Expression (3.1.4)
3.1.7
Scene
static entity that stores a set of defined Property values for a Collection of Resources
Note 1 to entry: A Scene (3.1.3) is a prescribed setting of a set of Resources with each having a predetermined value for
the Property that has to change.
3.1.8
Scene Collection
Collection that contains an enumeration of possible Scene Values (3.1.10) and the current Scene Value
(3.1.10)
Note 1 to entry: The member values of the Scene Collection (3.1.8) are Scene Members (3.1.9).
2 © ISO/IEC 2021 – All rights reserved
3.1.9
Scene Member
Resource that contains mappings of Scene Values (3.1.10) to values of a Property in the Resource
3.1.10
Scene Value
Scene (3.1.3) enumerator representing the state in which a Resource can be
4 Document conventions and organization
4.1 Conventions
In this document a number of terms, conditions, mechanisms, sequences, parameters, events, states,
or similar terms are printed with the first letter of each word in uppercase and the rest lowercase (e.g.,
Network Architecture). Any lowercase uses of these words have the normal technical English meaning.
In this document, to be consistent with the IETF usages for RESTful operations, the RESTful operation
words CRUDN, CREATE, RETRIVE, UPDATE, DELETE, and NOTIFY will have all letters capitalized.
Any lowercase uses of these words have the normal technical English meaning.
4.2 Notation
In this document, features are described as required, recommended, allowed or DEPRECATED as
follows:
Required (or shall or mandatory)(M).
– These basic features shall be implemented to comply with Core Architecture. The phrases "shall
not", and "PROHIBITED" indicate behaviour that is prohibited, i.e. that if performed means the
implementation is not in compliance.
Recommended (or should)(S).
– These features add functionality supported by Core Architecture and should be implemented.
Recommended features take advantage of the capabilities Core Architecture, usually without
imposing major increase of complexity. Notice that for compliance testing, if a recommended
feature is implemented, it shall meet the specified requirements to be in compliance with these
guidelines. Some recommended features could become requirements in the future. The phrase
"should not" indicates behaviour that is permitted but not recommended.
Allowed (may or allowed)(O).
– These features are neither required nor recommended by Core Architecture, but if the feature is
implemented, it shall meet the specified requirements to be in compliance with these guidelines.
DEPRECATED.
– Although these features are still described in this document, they should not be implemented except
for backward compatibility. The occurrence of a deprecated feature during operation of an
implementation compliant with the current documenthas no effect on the implementation’s
operation and does not produce any error conditions. Backward compatibility may require that a
feature is implemented and functions as specified but it shall never be used by implementations
compliant with this document.
Conditionally allowed (CA).
– The definition or behaviour depends on a condition. If the specified condition is met, then the
definition or behaviour is allowed, otherwise it is not allowed.
Conditionally required (CR).
– The definition or behaviour depends on a condition. If the specified condition is met, then the
definition or behaviour is required. Otherwise the definition or behaviour is allowed as default
unless specifically defined as not allowed.
© ISO/IEC 2021 – All rights reserved 3
Strings that are to be taken literally are enclosed in "double quotes".
Words that are emphasized are printed in italic.
In all of the Property and Resource definition tables that are included throughout this document the
"Mandatory" column indicates that the item detailed is mandatory to implement; the mandating of
inclusion of the item in a Resource Payload associated with a CRUDN action is dependent on the
applicable schema for that action.
4.3 Data types
Resources are defined using data types derived from JSON values as defined in clause 4.3 in
ISO/IEC 30118-1.
5 Functional interactions
5.1 Introduction
The functional interactions between a Client and a Server are described in 5.2 through 5.7 respectively.
The functional interactions use CRUDN messages (clause 8 in ISO/IEC 30118-1) and include
Discovery, Notification, and Device management. These functions require support of core defined
Resources as defined in Table 1.
Table 1 – List of optional Core Resources
Pre-defined URI Resource Name Resource Type Related Functional Mandatory
Interaction
(none) Configuration "oic.wk.con" Device management No
(none) Configuration "oic.wk.con.p" Device management No
"/oic/mnt" Maintenance "oic.wk.mnt" Device management No
(none) Network monitoring "oic.wk.nmon" Device management No
(none) Software update "oic.wk.softwareupdate" Device management No
(none) Icon "oic.r.icon" Icons No
(none) Scene List "oic.wk.scenellist" Scenes No
(none) Scene Collection "oic.wk.scenecollection" Scenes No
(none) Scene Member "oic.wk.scenemember" Scenes No
(none) Alerts "oic.r.alert" Alerts No
(none) Alerts Collection "oic.r.alertcollection" Alerts No
5.2 Onboarding, provisioning and configuration
Onboarding and provisioning are fully defined by ISO/IEC 30118-2.
Should a Device support Client update of configurable information it shall do so via exposing an
"oic.wk.con" Core Resource (Table 2) in "/oic/res".
Table 2 – Configuration Resource
Example Resource Resource OCF Description Related
URI Type Title Type ID Interfaces Functional
("rt" value) Interaction
"/example/oi Device "oic.wk.con" "oic.if.rw" The Resource Type through which Configuration
c/con" configuration configurable information specific to
the Device is exposed.
4 © ISO/IEC 2021 – All rights reserved
The Resource Properties exposed
in "oic.wk.con" are listed in
Table 3.
"/example/oi Platform "oic.wk.con.p" "oic.if.rw" The optional Resource Type Configuration
c/con" configuration through which configurable
information specific to the Platform
is exposed. The Properties
exposed in "oic.wk.con.p" are
listed in Table 4.
Table 3 defines the "oic.wk.con" Resource Type. Complete details are provided in annex A.2.
Table 3 – "oic.wk.con" Resource Type definition
Property Property Value type Value Unit Access Mandatory Description
title name rule mode
(Device) "n" "string" N/A N/A R, W Yes Human friendly name
Name (Common configurable by the end user (e.g.
Property of Bob's thermostat). The "n"
"/example/ Common Property of the
oic/con") oic.wk.con Core Resource and
the "n" Common Property of the
"/oic/d" Core Resource shall have
the same Value. When the "n"
Common Property Value of the
oic.wk.con Core Resource is
modified, it shall be reflected to
the "n" Common Property of
"/oic/d" Core Resource.
Location "loc" array of N/A Deg R, W No Provides location information
float (has rees where available.
two
elements,
the first is
latitude,
the second
is
longitude)
Location "locn" "string" N/A N/A R, W no Human friendly name for location
Name For example, "Living Room".
Currency "c" "string" N/A N/A R,W no Indicates the currency that is
used for any monetary
transactions
Region "r" "string" N/A N/A R,W no Free form text Indicating the
current region in which the
Device is located geographically.
Localized "ln" "array" N/A N/A R,W no Human-friendly name of the
Names Device, in one or more
languages. This Property is an
array of objects where each
object has a "language" field
(containing an IETF RFC 5646
language tag) and a "value" field
containing the Device name in
the indicated language. If this
Property and the Device Name
(n) Property are both supported,
the Device Name (n) value shall
be included in this array.
Default "dl" "language- N/A N/A R,W no The default language supported
Languag tag" by the Device, specified as an
e IETF RFC 5646 language tag. By
default, clients can treat any
string Property as being in this
language unless the Property
specifies otherwise.
© ISO/IEC 2021 – All rights reserved 5
Table 4 defines the "oic.wk.con.p" Resource Type. Complete details are provided in annex A.3.
Table 4 – "oic.wk.con.p" Resource Type definition
Property Property Value Value Unit Access Mandatory Description
title name type rule mode
Platform "mnpn" "array" N/A N/A R,W No Friendly name of the
Names Platform. This Property is
an array of objects where
each object has a
"language" field
(containing an
IETF RFC 5646 language
tag) and a "value" field
containing the platform
friendly name in the
indicated language.
For example,
[{"language":"en",
"value":"Dave’s Laptop"}]
5.3 Device management
5.3.1 Overview
Device management includes the following functions:
– Diagnostics and maintenance
– Network monitoring
5.3.2 Diagnostics and maintenance Resource Type
The Diagnostics and Maintenance Resource Type is intended to enable the resolution of issues
encountered with the Devices while operating in the field. If diagnostics and maintenance is supported
by a Device, the Core Resource "/oic/mnt" shall be supported as described in Table 5.
Table 5 – Optional diagnostics and maintenance Device management Core Resources
Pre-defined Resource Resource OCF Description Related
URI Type Title Type ID Interfaces Functional
("rt" value) Interaction
"/oic/mnt" Maintenance "oic.wk.mnt" "oic.if.rw" The Resource through which the Device
Device is maintained and can be management
used for diagnostic purposes.
The Properties exposed by
"/oic/mnt" are listed in Table 6.
Table 6 defines the "oic.wk.mnt" Resource Type. At least one of the Factory_Reset, Reboot, or last
error Properties shall be implemented. Complete details are provided in annex A.5.
Table 6 – "oic.wk.mnt" Resource Type definition
Property title Property Value Value Unit Access Mandatory Description
name type rule mode
Factory_Reset "fr" "boolean" N/A N/A R, W No When writing to this
Property:
false – No action (Default*)
true – Start Factory Reset
6 © ISO/IEC 2021 – All rights reserved
When reading this Property,
a value of true indicates a
pending factory reset. Once
the factory reset has been
completed, the Device shall
set the value back to false.
This Property is functionally
equivalent to a transition to
a state of Hard Reset as
defined in ISO/IEC 30118-2,
clause 8.1
Reboot "rb" "boolean" N/A N/A R, W No When writing to this
Property:
false – No action (Default)
true – Start Reboot
After Reboot, this value
shall be changed back to
the default value (i.e., false)
Last error "err" "integer" HTTP N/A R No Last occurred error code,
error shall be cleared to 503
code (service unavailable), when
doing a Factory Reset or
Reboot.
All HTTP errors outside the
100, 200 or 300 range shall
be stored.
NOTE Default indicates the value of this Property as soon as the Device is rebooted or factory reset.
5.3.3 Core behaviours on Device maintenance state changes
5.3.3.1 Overview
As defined in ISO/IEC 30118-2 a Device has a state machine through which it transitions during its
operational lifetime.
ISO/IEC 30118-2 details actions on such state transitions for the Resources defined therein. This
clause defines the actions to be taken on such state transitions for the Resources and functionality
defined within this document.
The state transitions to be considered are:
– RFNOP to Soft Reset
– RFNOP to Hard Reset
– RFNOP to RFPRO
– RFPRO to RFNOP
Table 7 provides a summary of the actions to be taken in each case for functions defined in the
ISO/IEC 30118-2 and this document, other extensions to these documents may define further
behaviours.
Table 7 – Actions on Device state change
Soft reset Hard reset RFNOP -> RFPRO RFPRO -> RFNOP
SVR As per As per As per ISO/IEC 30118- As per ISO/IEC 30118-
ISO/IEC 30118-2 ISO/IEC 30118-2 2 clause 8.3 2 clause 8.4
clause 8.5 clause 8.1
Mandatory Core No change Reset to defined No change No change
Resources defaults, see clause
5.3.3.3.3
© ISO/IEC 2021 – All rights reserved 7
Optional Core No change Reset to defined No change No change
Resources defaults, see clause
5.3.3.3.4
Vertical No change Reset to defined No change No change
Resources defaults; see clause
5.3.3.3
Created No change Deleted No change No change
Resources
Observe No change Canceled; see clause No change Re-evaluate ACL; see
Transactions 5.3.3.2 clause 5.3.3.2
OCF Cloud No change See clause Error! No change No change
Reference source
not found.
5.3.3.2 Handling of Observe transactions
On a transition to hard reset all active Observe transactions shall be cancelled by the Server by sending
a "Service Unavailable" response on each active Observe transaction.
On a state transition that allows for modification of the access controls that exist against a Resource
(such as from RFPRO to RFNOP) it is possible that the access controls themselves as defined within
the ISO/IEC 30118-2 are changed such that the original RETRIEVE operation that established the
Observe would not have been allowed. In such instances the Server shall cancel the Observe by
sending a "Service Unavailable" response on the Observe transaction.
5.3.3.3 Reset of Resource Properties to defined defaults
5.3.3.3.1 Overview
On a hard or factory reset Resource Properties are reset to default values. These are commonly
referred to as manufacturer defaults however it is not possible in all instances to revert to such values
as they may not be known or be practicable.
The default values to be applied for the mandatory and optional Core Resources, plus any Vertical
Resources are defined in clauses 5.3.3.3.2 through 5.3.3.3.4 respectively.
5.3.3.3.2 Defaults for Vertical Resources
Default values for any Vertical Resources exposed by a Device are up to the implementation.
5.3.3.3.3 Defaults for mandatory Core Resurces
Table 8 and Table 9 capture default values that shall be set for mandatory Properties of the mandatory
Core Resources where those Resources contain Properties that can be changed by a Client. This
excludes "/oic/res" as that has no mutable Properties.
Table 8 – Default values for "/oic/d"
Property Default Notes
"n" "" Empty string if "/oic/con" is also exposed, otherwise not
mutable.
"di" See ISO/IEC 30118-2 requirements .
"icv" Unchanged Not mutable
"dmv" Unchanged Not mutable
"piid" See ISO/IEC 30118-2
requirements.
8 © ISO/IEC 2021 – All rights reserved
Table 9 – Default values for "/oic/p"
Property Default Notes
"pi" See ISO/IEC 30118-2
requirements.
"mnmn" Unchanged Not mutable
5.3.3.3.4 Defaults for optional Core Resources
This clause details the actions to be taken with respect to the optional Core Resources.
The icon Resource ("oic.r.icon") has no mutable Properties, so no action is to be taken.
The network monitoring Resource ("oic.wk.nmon") shall have all Properties reset (i.e. behaviour as if
an UPDATE with the "reset" Property set to "true" had been received). The "col" Property shall be set
to "false".
Any Resources that were added to an instance of a Collection or a specialisation of a Collection (e.g.
Scene List ("oic.wk.scenelist") or Scene Collection ("oic.wk.scenecollection")) by a Client shall be
deleted.
The Device configuration Resource ("oic.wk.con") shall be modified in accordance with Table 10 for
those Properties that are implemented.
Table 10 – Default values for Device configuration Resource
Property Default Notes
"loc" [0.0,0.0]
"locn" "" Empty string
"c" "" Empty string
"r" "" Empty string
"ln" [{}] One item array with an empty object.
"dl" Defined by the manufacturer Recommend the primary language tag for the region into
which the Device is marketed (e.g. "en" for primarily English
speaking countries).
The platform configuration Resource ("oic.wk.con.p") shall be modified in accordance with Table 11
Table 11 – Default values for Platform configuration Resource
Property Default Notes
"mnpn" [{}] One item array with an empty object
5.3.4 Network monitoring Resource Type
Network monitoring is used for monitoring the current network state of the Device.
The network monitoring Resource Type is "oic.wk.nmon" and is described in Table 12. The Resource
Type may occur multiple times if more than 1 network interface is implemented. The Common Property
"n" may be used to distinguish the different network interfaces, like distinguish the 2.4 and 5G Wi-Fi
network interfaces.
© ISO/IEC 2021 – All rights reserved 9
Table 12 – Optional monitoring Device management Core Resources
Example Resource Resource OCF Interfaces Description Related
URI Type Title Type ID Functional
("rt" value) Interaction
"/example/o Network "oic.wk.nmon" "oic.if.rw", The Resource through which the Device
ic/nmon" Monitoring "oic.if.baseline" Device is monitored. management
The Resource exposes
Properties relevant to aspects
that may be monitored. The
Resource Properties exposed by
Resource Type "oic.wk.nmon"
are listed in Table 13
Table 13 defines "oic.wk.nmon" Resource Type. Complete details are provided in annex A.6.
Table 13 – "oic.wk.nmon" Resource Type definition
Property Property Value Value Unit Access Mandatory Description
title name type rule mode
Network "ianaifTyp "integer" The N/A R Yes The network type this Resource
indicator e" integer is collecting information from as
value of defined by IANA ifType-MIB
the Definitions.
ianaifTyp
e
reset "reset" "boolean" True, all N/A RW Yes Reset of the collected values
collected
values
should be
reset.
The
server
should
reset the
value
automatic
ally to
false
after the
reset
occurred.
Collecting "col" "boolean" True: N/A RW Yes Boolean to start/stop collecting
status collecting data.
indication data.
False:
not
collecting
data
Transmissi "tx" "integer" N/A kilo R No Amount of transmitted kilo bytes
on bytes byte from the collection
s
Reception "rx" "integer" N/A kilo R No Amount of received kilo bytes
bytes byte from the collection.
s
Maximum "mmstx" "integer" bytes byte R No Maximum transmitted message,
message s e.g. Max(tx) in the collection
size tx period
Maximum "mmsrx" "integer" bytes byte R No Maximum received message,
message s e.g. Max(rx) in the collection
size rx period
Average "amstx" "integer" bytes byte R No Average transmitted message
message s size, e.g AVG(tx) in the
size -tx collection period.
10 © ISO/IEC 2021 – All rights reserved
Average "amsrx" "integer" bytes byte R No Average received message size
message s e.g AVT( rx) in the collection
size -rx period.
Examples of typical used values for ianaifType are 71 (ieee80211) for Wi-Fi and 6 (ethernetCsmacd)
for Ethernet.
A Device should start collecting network monitoring data when receiving an UPDATE operation with
the parameter "col" = true. A Device should stop collecting network data when receiving an UPDATE
operation with parameter "col" = false. The collected network data should be reset when an UPDATE
operation with parameter "reset" = true is received, if the parameter "reset" is false then the values
should not be reset. Figure 1 illustrates the interactions with the network monitoring Resource.
© ISO/IEC 2021 – All rights reserved 11
Figure 1 – Interactions with the network monitoring Resource
The state transition diagram for collecting or not collecting network information is described by Figure 2.
12 © ISO/IEC 2021 – All rights reserved
Figure 2 – State transition diagram for network information collection
5.3.5 Software update Resource Type
The software update Resource is used to control software updats of the Device.
In ISO/IEC 30118-2 there is already a manual triggered software update mechanism available. The
triggering of the Client (manual) software update is achieved via the security Resource Type
"oic.r.pstat" by using the appropriate bits in the "tm" Property. The software update triggering results
in updates of the "cm" Property in the "oic.r.pstat" Resource Type (see ISO/IEC 30118-2 clause 13.8).
The software update Resource adds additional features to the security specified mechanism, like:
– Specify the source to obtain the software package.
– Time scheduled software update actions.
– Status information, especially more info about various error situations.
If the Device implements the software update Resource, it is required to implement the software update
behaviour to actually update the software of the Device as indicated by the "oic.r.pstat" "cm" bits as
defined in ISO/IEC 30118-2 clause 13.8. Also the security defined software update process shall use
the data that is set on the software update Resource like the "purl" Property.
The software update Resource Type is "oic.r.softwareupdate" and is described in Table 14.
Table 14 – Optional software update Resources
Example Resource Resource Type ID OCF Interfaces Description Related
URI Type Title ("rt" value) Functional
Interaction
"/example/o Software "oic.r.softwareupdate" "oic.if.rw", The Resource exposes Device
ic/swupd" Update "oic.if.baseline" Properties to control and management
monitor the software
update mechanism. The
Properties exposed by
Resource Type
"oic.r.softwareupdate" are
listed in Table 15.
© ISO/IEC 2021 – All rights reserved 13
Table 15 defines the Properties of the "oic.r.softwareupdate" Resource Type. Complete details are
provided in annex A.12.
Table 15 – "oic.r.softwareupdate" Resource Type definition
Property Property Value Value Unit Access Mandatory Description
title name type rule mode
New "nv" "string" N/A N/A R No New available software version.
version
Package url "purl" "string" URL N/A RW Yes Source of the software package,
might be an HTTPS or a CoAPs
URL.
Action "swupdatea "string" enum N/A RW Yes Scheduled action to do a
ction" (see software update.
Table 17)
State "swupdatest "string" enum N/A R Yes State of the software update.
ate" (see
Table 16)
Result "swupdater "integer" N/A N/A R Yes Result of the software update.
esult" List of error codes are as defined
in Table 18.
Lastupdate "lastupdate" "string" date-time N/A R No Time of the last software update
according to IETF RFC 3339.
Initial set on date of
manufacturing.
Signage "signed" "string" enum N/A R No Signage method of the software
package, currently the only
allowed value is "vendor".
Updatetime "updatetime "string" date-time N/A RW Yes Scheduled time, according to
" IETF RFC 3339, to do action
which is specified in the
"swupdateaction" Property.
The values of the "swupdatestate" Property are described in Table 16.
Table 16 – State definitions and state transitions of the software update Resource
Description Value of Property equivalent "cm" bit Transition allowed from state
“swupdatestate” values in "pstat".
Idle, waiting for updates "idle" Bit 64 = 0 "nsa", "svv", "sva", "upgrading"
Bit 128 = 0
Bit 256 = 0
New software available (after "nsa" Bit 64 = 0 "idle", "svv", "sva", "upgrading"
checking for new software
Bit 128 = 0
being available on the url
Bit 256 = 1
indicated by "purl"). This step
does not download the new
software
Software version validation "svv" Bit 64 = 0 "idle", "nsa", "sva", "upgrading"
(during downloading and
Bit 128 = 0
checking the software
Bit 256 = 1
integrity)
Software version available "sva" Bit 64 = 1 "idle", "nsa", "svv", "upgrading"
(The software is downloaded
Bit 128 = 0
and deemed to be valid)
Bit 256 = 1
Upgrading "upgrading" Bit 64 = 1 "idle", "nsa", "svv", "sva"
Bit 128 = 1
Bit 256 = 1
14 © ISO/IEC 2021 – All rights reserved
The typical state transitions are described Figure 3.The state transitions can be trigged manually or by
a timed action. The manual state triggers (i.e., "tm" Property of "oic.r.pstat") are described in
ISO/IEC 30118-2 clause 13.8. The timed state triggers are managed using the "swupdateaction" and
"updatetime" Properties of the software update Resource to trigger software update actions at some
future date and time. The action names for scheduled actions are listed in Table 17. When the
“updatetime” for the timed action is in the past then the update shall not take place, it is implementation
dependent if the UPDATE with an “updatetime” value in the past will give an error on the UPDATE
operation.
Table 17 – Value definitions for the Property "swupdateaction"
Description Value of Property Action taken Equivalent "pstat"
“swupdateaction”, "tm" bits.
for scheduled
update actions.
Nothing scheduled (not "idle" No action
applicable).
Initiate software "isac" Check on remote end point if a newer "tm" bit 256.
availability check. software version is available.
Initiate software "isvv" Downloads and verifies if the software "tm" bit 64.
versionvValidation. version is valid.
Initiate secure software "upgrade" Upgrades the software in the Device. It "tm" bit 128.
update. uses the downloaded and validated
software package. If no validated software
package is available on the Device, the
Device takes the necessary steps to obtain
a validated software package, by
downloading and verifying the software
from the external source.
Figure 3 – Typical state transition diagram for software update
The "purl" Property indicates the URL to obtain the software package from. This URL shall be a fully
qualified URL. If the value is an empty string ("") then the Device will use the built in vendor defined
URL (see ISO/IEC 30118-2). If a built in URL is not implemented, setting the "purl" Property value to
an empty string will result in an error code value of 6 as defined in Table 18.
Table 18 – List of codes of the "swupdateresult" Property.
Description code
Idle. 0
Success, everything went well. 1
Not enough RAM. 2
Not enough Flash. 3
© ISO/IEC 2021 – All rights reserved 15
Connection lost. 4
Software validation failure. 5
Invalid URL to receive the software package. 6
Unsupported protocol for download URL. 7
Firmware update failed. 8
Software transport error codes. HTTP result codes when accessing the URL to 400-600
download the software package.
Figure 4 depicts a typical update scenario. This scenario is using the observability of "pstat", so that
the Client is informed on the changes of the "cm" bit value to track the progress.
16 © ISO/IEC 2021 – All rights reserved
Figure 4 – Typical sequence for non-scheduled upgrading software
© ISO/IEC 2021 – All rights reserved 17
5.4 Scenes
5.4.1 Introduction
Scenes are a mechanism for automating certain operations.
A Scene is a static entity that stores a set of defined Property values for a Collection of Resources.
Scenes provide a mechanism to store a setting over multiple Resources that may be hosted by multiple
separate Servers. Scenes, once set up, can be used by multiple Clients to recall a setup.
Scenes can be grouped and reused, a group of Scenes is also a Scene.
In short, Scenes are bundled user settings.
5.4.2 Scenes Resource model
5.4.2.1 Introduction
Scenes are described by means of Resources. The Scene Resources are hosted by a Server and the
top level Resource is listed in "/oic/res". This means that a Client can determine if the Scene
functionality is hosted on a Server via Resource discovery as defined in clause 11.2 in ISO/IEC 30118-
1. The setup of Scenes is driven by Client interactions. This includes creating new Scenes, and
mappings of Server Properties that are part of a Scene.
The Scene functionality is created by multiple Resources and has the structure depicted in Figure 5.
The sceneList and sceneCollection Resources are overloaded Collection Resources. The
sceneCollection Resource contains a list of Scenes. This list contains ze
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...