GenericProfilesspecification 1.4
GenericProfilesspecification 1.4
Generic Profiles
V 1.4
Executive Summary
This document provides the specification of Generic Profiles. The full specification includes the
Generic Profiles appendix document.
Generic Profiles are the successor of EnOcean Equipment Profiles and targets the shortcomings
of it. Both EnOcean Equipment Profiles and Generic Profiles describe the data communication
of products utilizing The EnOcean Radio Protocol and enables manufacturers to develop
interoperable products. The strength of Generic Profiles is to enable devices to have self-
described dynamic communication.
With this capability, new products can be developed without submission of its profile to the
EnOcean Alliance, allowing an unlimited variety of possibilities.
DISCLAIMER
This information within this document is the property of the EnOcean Alliance and its use and
disclosure are restricted. Elements of the EnOcean Alliance specifications may also be subject to
third party intellectual property rights, including without limitation, patent, copyright or
trademark rights (such a third party may or may not be a member of the EnOcean Alliance.) The
EnOcean Alliance is not responsible and shall not be held responsible in any manner for
identifying or failing to identify any or all such third party intellectual property rights. This
document and the information contained herein are provided on an “as is” basis and the
EnOcean Alliance disclaims all warranties express or implied, including but not limited to (1) any
warranty that the use of the information herein will not infringe any rights of third parties
(including any intellectual property rights, patent, copyright or trademark rights, or (2) any
implied warranties of merchantability, fitness for a particular purpose, title or noninfringement.
In no event will the EnOcean Alliance be liable for any loss of profits, loss of business, los of use
of data, interruption of business, or for any other direct, indirect, special or exemplary,
incidental, punitive or consequential damages of any kind, in contract or in tort, in connection
with this document or the information contained herein, even if advised of the possibility of
such loss or damage. All Company, brand and product names may be trademarks that are the
sole property of their respective owners.
The above notice and this paragraph must be included on all copies of this document that are
made.
Generic Profiles Specification v1.4 Page 2/44
System Specification
The EnOcean Generic Profiles Specification is available free of charge to companies, individuals
and institutions for all non‐commercial purposes (including educational research, technical
evaluation and development of non‐commercial tools or documentation.)
This specification includes intellectual property („IPR“) of the EnOcean Alliance and joint
intellectual properties („joint IPR“) with contributing member companies. No part of this
specification may be used in development of a product or service for sale without being a
participant or promoter member of the EnOcean Alliance and/or joint owner of the appropriate
joint IPR. EnOcean Alliance grants no rights to any third party IP, patents or trademarks.
These errata may not have been subjected to an Intellectual Property review, and as such, may
contain undeclared Necessary Claims.
Table of content
1. Introduction ...............................................................................................................................6
1. Introduction
1.1. Introduction
EnOcean GmbH developed the structure of the EnOcean Equipment Profiles (EEP) to achieve a
standardized communication between devices applying EnOcean’s energy harvesting and
wireless technology. Based on this structure the EnOcean Alliance created and maintains a
system specification by its Technical Working Group (TWG). This specification summarizes all
profiles for different application and implementation scenarios developed by the members of
the EnOcean Alliance.
A growing number of EEPs and an even faster time-to-market requirement created the need for
new communication architecture between the various devices within an EnOcean wireless
infrastructure.
In November 2010 the EnOcean Alliance tasked a team within the TWG to draft a
communication architecture which can overcome the challenges seen for the upcoming three
to five years. Two objectives were followed up by the team – (1) a communication architecture
able to handle the large variety of sensors and actuators without creating a complex system,
and (2) a communication architecture, which requires an administrative effort much lower than
today’s EEP-scheme.
Thus, the degree to which a specification will allow for a “generic” implementation of devices
depends largely on the intelligence invested in the definition of such a communication
architecture and language.
The EnOcean Alliance decided to aim for an architecture, which minimizes the overhead for
product designers and provides enough flexibility for the next three to five years.
This document specifies the communication architecture and the language, which can be
applied by the members of the EnOcean Alliance for their future product implementations.
FW Firmware
GP Generic Profiles
2. Communication layers
2.1. Introduction
Computer network protocols are using abstraction layers for hiding implementation details for
a particular set of functionality. To confine the tasks, abstraction layers for Generic Profiles
communication are applied.
Generic Profile communication defines the following layers, similar to the OSI layer model:
Layer Services
Adopting such a view of the tasks one will be independent from the radio, serial or any other
communication type to exchange the Generic Profiles messages.
Teach-in response Response to a Generic Profiles Teach-in request message (if 512 bytes length
bidirectional communication)
Complete data Data message containing complete measurement data 512 bytes length
Selective data Data message containing selected parts of measurement 512 bytes length
data
Layer Services
Generic Profiles API Selects R-ORG and translates message to one or more radio telegrams
Telegram summary
In the layer “Generic Profiles API” the R-ORG of EnOcean radio telegrams will be selected
depending on the message type to transmit. If the message exceeds the length of one telegram
then the message will be split into the necessary number of telegrams by telegram chaining
mechanisms described in chapter 2.3.1.
0xB2 GP_CD = Complete Data Contains all channel data up to 512 bytes payload.
0xB3 GP_SD = Selective data Data message containing parts of measurement data.
Such a message will be split into the necessary number of telegrams by the EnOcean radio stack.
Example for a chained complete data message with 23 bytes payload with EnOcean Radio
Protocol 1 telegram:
R-ORG SEQ IDX LEN R-ORG data field originator id status crc8
CDM GP_CD 1st part of message
2 bit 6 bit
1 byte 2 bytes 1 byte 10 bytes 4 bytes 1 byte 1 byte
1 byte
NOTE:
For detailed explanation of the fields and process please look up the:
Example for a chained Teach-in request message with 51 bytes payload with EnOcean Radio
Protocol 2 telegram:
header Ext. originator SEQ IDX LEN R-ORG data field crc8
Telegram id
GP_CD 1st part of message
type
2 bit 6 bit
1 byte 1 byte 4 bytes 2 bytes 1 byte 24 bytes 1 byte
1 byte
12345678
0x2F 0x03 0xnnnnnnnn 0x40 51 0xB0 9 10 11 12 13 14 15 16 0xnn
17 18 19 20 21 22 23 24
FIGURE 2.5: RADIO TELEGRAM STRUCTURE OF FIRST CHAINED TELEGRAM – NOT ADDRESSED
25 26 27 28 29 30 31 32 33
0x2F 0x03 0xnnnnnnnn 0x41 34 35 36 37 38 39 40 41 42 0xnn
43 44 45 46 47 48 49 50 51
FIGURE 2.6: RADIO TELEGRAM STRUCTURE OF SECOND OR FURTHER CHAINED TELEGRAM – NOT ADRESSED
NOTE:
For detailed explanation of the fields and process please look up the:
The available layers may be expanded in the future as needed (e.g. for serial communication).
Layer Services
3. Convention
This chapter describes Generic Profiles. It focuses on the data exchange between devices, which
is the essential function of a wireless sensor network.
3.1. Introduction
The recent EnOcean Equipment Profiles consist of a set of tables to define each officially
supported device and its transmitted data. The specific definition of a device is referenced by
the EEP number (R-ORG, FUNC, TYPE). The Generic Profiles approach instead defines a language
to communicate the transmitted data types and ranges. The devices become self-describing on
their data structures in communication.
To handle the huge variety of possible data this language has to be versatile and compact.
3.2. Approach
The data sent over-the-air is generally the result of an analogue-to-digital conversion, the state
of a counter in the transmitting device or etc. To conserve energy, these raw measurements are
transmitted directly, using only as many bits as the native conversion produced. To determine
the actual value, it is necessary to have a set of parameters to map the pure digital values into
physical units. Declaring this set of parameters will enable the receiver to recalculate the
originally measured value as a preparation for further processing.
The Generic Profiles include a language definition with a parameter selection that covers every
possible measured value to be transmitted. Therefore, the approach does not only define
parameters for the value recalculation algorithm but also includes specific signal definition. (e.g.
physical units).
Sender Receiver
ADC
Actual value
Counter
OR 11001011 Conversion
Digital input
Parameters
...
For every measurement the set of parameters has to be transmitted before the first operational
data exchange. This is done during the Teach-in process. Using this process the device describes
its future communication self.
3.3. Parameters
The defined set of parameters describes every aspect of a digital value to enable the
recalculation of the actual physical value.
To mathematically reclaim of a value conversion from digital to the actual physical value the
resolution, the actual minimum and the actual maximum value are needed. For the
interpretation of that value, the character (e.g. set point, relative or absolute measurement) of
the original measurement has to be provided, too.
Note:
All signed numbers used in over-the-air transmissions are coded in "two‘s complement" also
called "complement-2" format.
All frames and bytes are coded as big endian, meaning when sending or receiving a series of
bytes, the most significant byte is transmitted and received first.
channel type
signal type
value type
‘Channel Type’
The channel type divides all channels into different functional classes of measurements. With
the three defined channel types ‘data’, ‘flag’ and ‘enumeration’ measurement results and
complex counter values are separated from single bit logical channels and enumerated values.
Teach-in information is neither a measured value nor used during operational mode. This
channel type is used only during the Teach-in process. For detailed explanation, please refer to
chapter 4.
Channel Type
2 bit value Data
00 = Teach-in information Teach-in signals / flags
01 = Data Complex bit values
10 = Flag Single bit value
11 = Enumeration Enumerated values
TABLE 3.1: CHANNEL TYPE
For detailed definition of the measurable channel types, refer to the appendix, please.
‘Signal Type’
The signal type classifies the origin of the transmitted value itself and its character (e.g. physical
unit or field of use). The signal types differ between the channel types.
For detailed definition of the signal types and list, please refer to the appendix, please.
‘Value Type’
Value Type
2 bit value Data
00 = Reserved
01 = Current value
10 = Set point absolute
11 = Set point relative
TABLE 3.2: VALUE TYPE
With the value type the context of a certain value shall be described.
‘Resolution’
Resolution
4 bit value Data, Enumeration
0000 = Reserved
0001 = 2 bit
0010 = 3 bit
0011 = 4 bit
0100 = 5 bit
0101 = 6 bit
0110 = 8 bit
0111 = 10 bit
1000 = 12 bit
1001 = 16 bit
1010 = 20 bit
1011 = 24 bit
1100 = 32 bit
1101 = Reserved
1110 = Reserved
1111 = Reserved
TABLE 3.3: RESOLUTION ‘DATA’ AND ‘ENUMERATION’
For flag channels, the resolution is defined as 1 bit. This is an implicit definition and is valid for
all flag channels.
Resolution
Flag
= 1 bit
TABLE 3.4: RESOLUTION ‘FLAG’
‘Engineering minimum’
The engineering minimum represents the bottom of the measurement range. The transmitted
parameter has to be multiplied with its scaling factor.
Engineering minimum
8 bit Data
= [-128 … 127]
TABLE 3.5: ENGINEERING MINIMUM ‘DATA’
For flag channels the engineering minimum is always zero. This is an implicit definition and is valid
for all flag channels.
Engineering minimum
Flag
= 0
TABLE 3.6: ENGINEERING MINIMUM ‘FLAG’
‘Scaling minimum’
To allow for a wide range of minimum values the engineering minimum can be scaled by one of
the supported factors.
Scaling minimum
4 bit value Data
0000 = Reserved N/A
0001 = x1 x1
0010 = x 10 x 1e+01
0011 = x 100 x 1e+02
0100 = x 1,000 x 1e+03
0101 = x 10,000 x 1e+04
0110 = x 100,000 x 1e+05
0111 = x 1,000,000 x 1e+06
1000 = x 10,000,000 x 1e+07
1001 = x 0.1 x 1e-01
1010 = x 0.01 x 1e-02
1011 = x 0.001 x 1e-03
1100 = x 0.000001 x 1e-06
1101 = x 0.000000001 x 1e-09
1110 = Reserved N/A
1111 = Reserved N/A
TABLE 3.7: SCALING MINIMUM ‘DATA’
Scaling minimum
Flag
= x1
TABLE 3.8: SCALING MINIMUM ‘DATA’
‘Engineering maximum’
The engineering maximum works the same way as the engineering minimum.
Engineering maximum
8 bit Data
= [-128 … 127]
TABLE 3.9: ENGINEERING MAXIMUM ‘DATA’
For flag channels, the engineering maximum is always one. This is an implicit definition and is
valid for all flag channels.
Engineering maximum
Flag
= 1
TABLE 3.10: ENGINEERING MAXIMUM ‘FLAG’
‘Scaling maximum’
To allow for a wide range of maximum values the engineering maximum can be scaled by one
of the supported factors.
Scaling maximum
4 bit value Data
0000 = Reserved N/A
0001 = x1 x1
0010 = x 10 x 1e+01
0011 = x 100 x 1e+02
0100 = x 1,000 x 1e+03
0101 = x 10,000 x 1e+04
0110 = x 100,000 x 1e+05
0111 = x 1,000,000 x 1e+06
1000 = x 10,000,000 x 1e+07
1001 = x 0.1 x 1e-01
1010 = x 0.01 x 1e-02
1011 = x 0.001 x 1e-03
1100 = x 0.000001 x 1e-06
1101 = x 0.000000001 x 1e-09
1110 = Reserved N/A
1111 = Reserved N/A
TABLE 3.11: SCALING MAXIMUM ‘DATA’
Scaling maximum
Flag
= x1
TABLE 3.12: SCALING MAXIMUM ‘FLAG’
𝑥 = actual value
𝑋𝑚𝑖𝑛 𝑋𝑚𝑎𝑥
𝐸𝑛𝑔𝑚𝑖𝑛 = 𝐸𝑛𝑔𝑚𝑎𝑥 =
𝐹𝑚𝑖𝑛 𝐹𝑚𝑎𝑥
𝑥 − 𝑋𝑚𝑖𝑛 𝑛
𝑛=𝑁 × 𝑥= × (𝑋𝑚𝑎𝑥 − 𝑋𝑚𝑖𝑛 ) + 𝑋𝑚𝑖𝑛
𝑋𝑚𝑎𝑥 − 𝑋𝑚𝑖𝑛 𝑁
3.5. Examples
3.5.4. Quantization
Measurement Quantized value
Temperature measurement
N = 2^8 = 256
x = 25°C
Temp. Range: 0-40°C n = 256 * (25 - 0) / (40 – 0) = 160 => 10100000
Resolution: 8 bits
N = 2^8 = 256
n = 192
Resolution: 8 bits
Eng.min. = 0 x = (192 / 256) * (40 * 1 – 0 * 1) + 0 * 1 = 30
Scaling min. = 1
Eng. max. = 40
Scaling max. = 1
4. Teach-in Process
Teach-in is the process where communication partners exchange information about how to
interpret data which will be exchanged in the data communication. This chapter describes how
to execute the Teach-in process to enable data exchange based on Generic Profiles.
4.1. Introduction
Following the guidelines of the defined communication layers and Generic Profiles, every
generic EnOcean device can exchange data with compatible devices.
The process of connecting two EnOcean radio devices and exchanging initiating information is
called ‘Teach-in’ and has to be passed before the first operational communication. An
intentional disconnection of this binding, called ‘teach-out’, is also included in the following
definition.
A generic Teach-in procedure allows a device to connect to different radio partners. It does not
prevent the case of connecting to the wrong device.
4.2. Procedure
First, after the receiver has been switched into learn mode, the transmitter broadcasts
a Teach-in request message.
The receiver answers with a Teach-in response message, which should be addressed to
the transmitter.
If the receiver has bidirectional communication capabilities, then it shall transmit a Teach-in
response. This is required to enable commissioning devices to see and document the Teach-in
result. Simple example is shown in Figure 4.1.
4.3. Definition
The general structure of the Teach-in message is divided into a header and a definition area. The
Teach-in request header does not contain the same information as the Teach-in response
header and while the Teach-in request message includes the channel definitions, the Teach-in
response gives information about possible rejected channels.
In the definition area of the Teach-in request, first the outbound channels are defined.
Outbound/ Outgoing channels are the channels the device will send in data communication.
There is no padding or byte aligning between channel definitions. The first byte following after
one definition is already used for the next definition.
When executing bidirectional Teach-in with inbound and outbound channel definitions the
channel definitions of outbound and inbound are separated with the appropriate Teach-in
information channel type. For details on Teach-in information channel type please see chapter
4.3.2.
Inbound / incoming channels are channels the device expects to receive in the data
communication.
Manufacturer ID
Is the EnOcean Alliance Manufacturer ID of the device, which transmits the Teach-in
request.
Data Direction
Operational data transmission can be unidirectional or bidirectional. The ‘data direction’
bits define whether data exchange will be bilateral or not. It does not define the device
hardware capabilities. If direction is bidirectional and no response is received then it is
to assume the Teach-in process has failed.
Purpose
o 0b00 teach-in – explicit request to teach-in.
Possible return codes:
00 = rejected generally
01 = teach-in successful
Due to the diversity of channel definitions and the transmitted information, the general channel
definition is divided into different channel types. For detailed description of the character of the
channels please refer to chapter 3.3.1.
Next is the channel definition of all channel types. The channel definition frame is different for
each channel type. The only common characteristics are the first two bits, which define the
channel type. Based on the channel type a receiver can interpret the remaining information.
The exact parameter lists and explanation of the values are shown in the chapter 3.3.2. The
signal type definition depends on the channel type. The signal type list for every channel type is
available in the Generic Profiles appendix.
The length of a channel definition ‘Enumeration’ is 16 sixteen bits. The field resolution of
‘Enumeration’ shall be used from Table 3.3: Resolution ‘data’ and ‘enumeration’ and NOT from
the appendix.
The length of a channel definition ‘Teach-in information’ is 18 + N bits. This channel definition
has a variable length indicator for the data content following. The length of the data content is
defined for every signal type and can be found in the Generic Profiles appendix1. The length
indication of the following data in is given in bytes (e.g. if field = 0x04, then 4 bytes of data will
follow). The Teach-in information channel type neither has influence on the operational data
communication nor on the indexing.
1 https://www.enocean-alliance.org/what-is-enocean/specifications/
00 = rejected generally
01 = teach-in successful
10 = teach-out
If at least one of the inbound or outbound transmitters channels cannot be adopted by the
receiver the Teach-in result is ‘11’ and further information about the rejected channels will be
given in the channel acknowledgment list following the header. The channel acknowledgement
list is described in chapter 4.3.4. Depending on the given list of channels, the transmitter
application can decide whether it wants to accept the Teach-in or has to cancel it by sending a
Teach-in response message with teach-out result.
A Teach-in rejection without a specific reason is ‘00’. In this case no channel acknowledgement
list will be given.
Detailed visualisation of the process described above can be seen in the activity diagram in
Figure 4.11 and in sequence diagram in Figure 4.12.
response message. Therefore, the header is followed by a bit stream that contains one bit for
every defined channel transmitting whether the channel is supported or rejected:
1 = channel supported;
0 = channel rejected
The bit order is exactly the same as the channel definition order. As the transmitter knows this
order it can decide if the Teach-in process should be rejected or accepted.
The channel acknowledgement list will only be added to a Teach-in response message if Teach-
in was not completely successful (Result = ‘11’). In this case, the complete (inbound if available
& outbound if available) channel acknowledgement list is transmitted.
Timing conventions:
2 N is the count of all channels - inbound & outbound. The index is 0 based.
EXAMPLE
NOTE:
The most recent EEP Specification can be downloaded from the website of the EnOcean Alliance.
https://www.enocean-alliance.org/eep/ .
4.7. Examples
FIGURE 4. 15: EXAMPLE OF TEACH-IN REQUEST HEADER WITH OPTIONAL DELETION OF TEACH-IN
Channel definition 1
bin 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1
hex 0x4195001051
dec 281672683601
Chan. type 0 1
= Data
Sig. type 0 0 0 0 0 1 1 0
= Current
Val. type 0 1
= Current value
Res. 0 1 0 1
= 8-bit
Eng. Min. 0 0 0 0 0 0 0 0
= 0
Scal. Min. 0 0 0 1
= x1
Eng. Max. 0 0 0 0 0 1 0 1
= 5
Scal. Max. 0 0 0 1
= x1
Channel definition 2
bin 1 0 0 0 0 0 1 0 0 1 1 0
hex 0x826
dec 2086
Chan. type 1 0
= flag
Sig. type 0 0 0 0 1 0 0 1
= Occupancy
Val. type 1 0
= Set point absolute
FIGURE 4. 20: EXAMPLE FOR A TEACH-IN RESPONSE HEADER WITH REJECTED CHANNELS
5. Operational mode
This chapter describes how the actual data transfer works.
5.1. Introduction
In operational mode, either complete or selected data messages will be sent transmitted. This
chapter describes how the data is arranged.
Each outbound channel of the sensor delivers data with a fixed length of bits which is defined in
the Teach-in request. The receiver has the knowledge about the number of bits of each sensors
outbound channel data and is able to decode the data correctly after the sensor encoded his
measurement values to the data message.
In bidirectional communication, the same principle is applied. The receiver codes its data
message according to the inbound channels definition of the Teach-in request. The sensor is
then able to decode the message and the data.
A data request mechanism is also part of generic profiles. This topic is more complex. Therefore,
the definition of data request mechanism will be added to the appendix after the first field trials.
The layering model selects the type of the EnOcean radio telegram(s) applied depending on the
length of the message. Messages can consist of
In the data messages only data, flag or enumeration channel type are included. The Teach-in
information channel type is only used during Teach-in process. It is NOT included in the data
communication.
Example:
Data message
1st byte 2nd byte 3rd byte
The data message consists of the sum of all measurement bits of the sensor, i.e. 19 bits. There
are 3 bytes necessary to transmit. The 5 LSB of the 3rd data message byte are unused ( ).
The rules of adding a channel to the selective data message bit stream are:
Example:
The selective data message consists of the 4 bit header (0001), the 6 bit channel number
(000001) and the 2 bit measurement of channel 1 of that sensor. The message length is only two
bytes.
6.1. Introduction
Establishing a new concept of radio communication in a world of existing and highly integrated
systems requires a strategy to connect devices from both the recent and the new approach. This
means that upcoming product introductions into the market needs to consider the ‘EnOcean
Equipment Profiles Specification’ as well as the ‘Generic Profiles’.
6.2. Coexistence
As the Generic Profiles (GP) are not meant to replace the EnOcean Equipment Profiles (EEP)
immediately, the coexistence of both concepts is mandatory.
By that a general compatibility of the two different profile approaches can be guaranteed even
though it is not necessary that all devices have to be able to connect to each other.
EEP’s will be valid in the future but GP’s offer additional functionality for flexible radio systems
with growing requirements concerning data exchange.
2013
2011 EEP GP
EEP GP
EEP GP
7. Remote Management
Generic Profile based devices that are continuously powered shall support a minimum feature
set from the EnOcean Remote Management specification. In addition to the Remote
Management Control Commands (RMCC) such devices shall support Remote Procedure Calls
(RPC) defined in Remote Commissioning Specification.
Minimal required features from Remote Commissioning Specification:
operations to control Teach-in process
operations to access and read link table
In case any new RPC definition will be required, it shall be handled in accordance with the
standardization process of the EnOcean Alliance TWG and defined within the System
Specification on Remote Commissioning.
NOTE:
Remote Management Specification is available here:
https://www.enocean-alliance.org/reman/
Remote Commissioning Specification is available here:
https://www.enocean-alliance.org/recom-spec/