Page 2
The Bluetooth ® word mark and logos are registered trademarks owned by the Bluetooth SIG, Inc. and any use of such marks by EnOcean GmbH is under license. Other trademarks and trade names are those of their respective owners. Important! This information describes the type of component and shall not be considered as assured characteristics.
PTM 216B integrated into US-style single or double rocker pad housing The term “PTM 216B” as used in this document applies to all product variants unless other- wise mentioned. Figure 1 below shows from left to right the PTM 216B module, the EWSSB / EWSDB European wall switches and the ESRPB / EDRPB US-style rocker pads.
It transmits Bluetooth Low Energy (BLE) data telegrams where the required energy is provided by a built-in electro-dynamic energy gen- erator. The PTM 216B product outline with key functional components is shown in Figure 2 below. Button contacts...
PUSHBUTTON TRANSMITTER MODULE User Interface PTM 216B devices provide four button contacts. They are grouped into two channels (Channel A and Channel B) each containing two button contacts (State O and State I). The state of all four button contacts (pressed or not pressed) is transmitted together with a unique device identification (48 Bit device ID) whenever the energy bow is pushed or re- leased.
(2402MHz … 2480MHz). By default, PTM 216B will use the three BLE advertising channels (BLE Channel 37, 38 and 39) defined for transmission. The transmission of a radio telegram on these three advertis- ing channels is called an Advertising Event.
In certain situations, it might be desirable to transmit radio telegrams on channels other than the three advertising channels. PTM 216B therefore allows to select the radio channels to be used for the transmission of data telegrams and commissioning telegrams. The following transmission modes are sup-...
TX_CHANNEL1, TX_CHANNEL2 and TX_CHANNEL3. The PTM 216B telegram will in this mode be transmitted on the radio channel selected by TX_CHANNEL1 first, immediately followed by a transmission on the radio channel selected by TX_CHANNEL2 and a transmission on the radio channel selected by TX_CHANNEL3.
(selected by TX_CHANNEL2 and TX_CHANNEL3 respectively), i.e. all trans- missions will be on the radio channel selected by TX_CHANNEL1. The PTM 216B telegram will be sent six times on this radio channel as shown in Figure 8 below.
® PUSHBUTTON TRANSMITTER MODULE 4. Telegram format PTM 216B transmits Bluetooth Low Energy (BLE) radio telegrams in the 2.4 GHz band. For detailed information about the Bluetooth Low Energy standard, please refer to the applica- ble specifications. Figure 9 below summarizes the BLE frame structure.
These two address modes are described in the following chapters. 4.4.1 Static source address mode By default, PTM 216B uses static source addresses meaning that the source address is con- stant during normal operation. The static source address can be read and configured (writ- ten) via NFC as described in chapter 6.
PTM 216B) to do so. The shared security key – which has to be known by both PTM 216B and the authorized receiver – is called the Identity Resolution Key (IRK). PTM 216B uses its device-unique ran- dom key as identity resolution key.
0x0E 0x10) Type byte) The Type field identifies the data type used for this telegram. For PTM 216B data telegrams, this field is always set to 0xFF to designate manufacturer-specific data field Manufacturer byte) The Manufacturer ID field is used to identify the manufacturer of BLE devices based on assigned numbers.
3. Calculate data payload 4. Calculate security signature In PTM 216B, the type of action (Press Action or Release Action) is indicated by Bit 0 (Ener- gy Bar). If a button contact has been actuated during Press Action or Release Action, then this is indicated by the according status bit set to ‘1’.
Length byte) The Length field specifies the combined length of the following fields. For PTM 216B commissioning telegrams, this field is set to 0x1D to indicate 29 byte of manufactur- er-specific data. Note: In product versions prior to DC-06 this field was incorrectly set to 0x1E.
In order to avoid message replay (capture and retransmission of a valid message), it is required that the receiver tracks the value of the sequence counter used by PTM 216B and only accepts messages with higher sequence counter values (i.e. not accepts equal or lower sequence counter values for subsequent telegrams).
PUSHBUTTON TRANSMITTER MODULE ® 4.7.1 Authentication implementation PTM 216B implements data telegram authentication based on AES128 in CCM (Counter with CBC-MAC) mode as described in IETF RFC3610. At the time of writing, the RFC3610 stand- ard could be found here: https://www.ietf.org/rfc/rfc3610.txt...
The receiver needs to know how to uniquely identify this specific PTM 216B device. This is achieved by using a unique 48 Bit ID (Source Address) for each PTM 216B device as described in chapter 4.4. In addition, up to 4 byte of Optional Data can be...
PTM 216B configuration using the default PIN code. Should you lose the new NFC PIN code then PTM 216B can be reset to factory mode (with the default NFC PIN code) by means of a factory reset as described in chapter 5.4.
For cases where both NFC and camera-based commissioning are not feasible it is possible to set PTM 216B into a specific mode where it transmits commissioning telegrams. This functionality can be disabled via the NFC configuration interface by setting the DISABLE LRN TELEGRAM flag in the Configuration register to 0b1 (see chapter 6.7.3).
® To enter commissioning mode, start by selecting one button contact of PTM 216B. Any but- ton of PTM 216B (A0, A1, B0, B1) can be used. This button is referred to as Button_X in Figure 20 above. Next, execute the following long-short-long sequence: 1.
PTM 216B can be reset to its default settings by means of a factory reset. This ensures that PTM 216B can be reset to a known configuration in case the PIN for the NFC access has been lost or NFC access is not possible for other reasons In order to execute such factory reset, the rocker(s) and the switch housing have to be removed from the PTM 216B module.
14443 Part 2 and 3 standards using an NXP NT3H2111 Mifare Ultralight tag. This NFC functionality can be used to access (read and write) the PTM 216B configuration memory and thereby configure the device as described in the following chapters.
Protected data In addition to that, PTM 216B maintains a private configuration memory region used to store default parameters and confidential information which is not accessible to the user. Figure 29 below shows the configuration memory structure used by PTM 216B.
Name This is an 8 byte field which is by default set to “EnOcean®“ to identify EnOcean GmbH as the manufacturer of this module. OEM Name and Manufacturer ID can be configured by the customer as required to identify his PTM 216B based product, see chapter 6.7.7...
MANUFACTURER_ID_WRITE This 4-byte register is used to update the Manufacturer ID, see chapter 6.7.7 register SECURITY_KEY_WRITE This 16-byte register is used to update the security key used by PTM 216B, see chapter 6.7.5 register OPTIONAL_DATA This 4-byte register contains optional data that can be transmitted as part of all data telegrams, see chapter 4.6.
(SOURCE_ADDRESS_WRITE, OEM_NAME_WRITE, MANUFACTURER_ID_WRITE, SECURITY_KEY_WRITE) in the protected data area and set the according UPDATE flag in the CONFIGURATION register. After that, the user has to push and release the energy bar of the PTM 216B module. 6.7.3 CONFIGURATION register The CONFIGURATION register is 1 byte wide and contains configuration flags.
The SOURCE_ADDRESS_WRITE register is 4 byte wide and can be used to modify the lower 32 bit of the PTM 216B Static Source Address. The upper 16 bit of the PTM 216B Static Source Address are always fixed to 0xE215 to identify the device type. In order to do change the lower 32 bit of the Static Source Address, follow these steps: 1.
It specifies the manufacturer of a BLE product and is transmitted as part of each BLE tele- gram. By default, the Manufacturer ID is set to 0x03DA (assigned to EnOcean GmbH). It can be changed to a different OEM identifier.
PUSHBUTTON TRANSMITTER MODULE ® PTM 216B will determine that it should update OEM_NAME and MANUFACTURER_ID based on the setting of the UPDATE_OEM_MAN_ID flag and copy any non-zero value of the OEM_NAME_WRITE register to the OEM_NAME register and any non-zero value of the MANUFACTURER_ID_WRITE reg- ister to the MANUFACTURER_ID register.
6.7.11 Customer Data PTM 216B allocates 64 pages (256 byte) for customer data that can be read and written via the NFC interface in protected mode. The main intention is to enable storing OEM-specific information such as product type, revi- sion, date code or similar.
The content of the private data area is not externally accessible. 6.8.1 Security key The Security Key field contains the 128 bit private key used for authenticating PTM 216B telegrams and for resolving private source addresses. This register is programmed with a random value during manufacturing. It can be changed using the Security Key Write feature described in chapter 6.7.5.
PTM 216B module itself. PTM 216B device label structure Figure 32 below shows the structure of the PTM 216B device label. It identifies key parame- ters such as the source address (in this case E21501500100) and the manufacturing date (in this case week 30, 2018) in writing.
PTM 216B – BLUETOOTH ® PUSHBUTTON TRANSMITTER MODULE QR code format The QR code used in the PTM 216B product label encodes key product parameter according to the ANSI/MH10.8.2-2013 industry standard. The QR code shown in Figure 32 above en- codes following...
® PUSHBUTTON TRANSMITTER MODULE 8. Device integration PTM 216B is designed for integration into button or rocker-based switches. It implements the established PTM 2xx mechanical form factor and can therefore be used with a wide va- riety of existing designs.
Page 55
2) dimensions of rocker part Figure 38 – PTM 216B, side view If the rocker is not mounted on the rotation axis of PTM 216B several tolerances have to be considered! The measure from support plane to top of the energy bow is 7.70 mm +/- 0.3 mm!
Page 56
PTM 216B is powered by the electromagnetic generator ECO 200. For proper func- tion magnets or ferromagnetic materials are not permitted within a keep-out zone of 60mm around the center of PTM 216B.
Order Code: S3221-A216 Table 8 – Required fields for the product QR code 8.3.1 Example for an OEM product QR code For this example, we consider an OEM product using a PTM 216B module with the following parameters: Static Source Address: ...
PUSHBUTTON TRANSMITTER MODULE Receiver configuration PTM 216B communicates user actions (rocker push / release) using a sequence of advertis- ing telegrams as described in chapter 3. In order to maximize the likelihood of reception of these telegrams, it is necessary that the receiver is either permanently in receive mode on one of the radio channels used by PTM 216B or –...
From Figure 41 above it can be seen that the minimum duration of the scan window is de- pendent on the advertising interval: If PTM 216B uses 20 ms advertising intervals, then the scan window has to be at ...
From Figure 42 above it can be seen that the maximum duration of the scan interval is de- pendent on the advertising interval: If PTM 216B uses 20 ms advertising intervals, then the scan interval has to be less ...
® PUSHBUTTON TRANSMITTER MODULE 10. Regulatory information PTM 216B has been certified according to FCC (US), ISED (CA) and RED (EU) regulations. Changes or modifications not expressly approved by EnOcean could void the user's authori- ty to operate the equipment.
PUSHBUTTON TRANSMITTER MODULE A. Parsing PTM 216B radio telegrams This appendix is intended as an example of how start to parse received PTM 216B radio telegrams. Please refer to chapter 4 first for a description of the BLE frame structure...
® B. Address resolution for resolvable private addresses (RPA) PTM 216B provides the option to obfuscate its identity by means of using resolvable private addresses (RPA) as described in chapter 4.4.2. The following chapters describe how to re- solve such addresses.
® B.1.2 Address resolution example We consider a PTM 216B device with the following IRK (options for determining the IRK / security key of a PTM 216B are described in chapter C.1.3.): BE759A027A4870FD242794F4C45220FB We further consider a telegram having the following resolvable private address: 493970E51944 We will now test if this resolvable private address was generated using the IRK above.
RFC3610 in particular. Algorithm input parameters The purpose of the security processing in PTM 216B is to calculate a unique signature that can be used to verify authenticity (telegram has not been modified) and originality (tele- gram comes from the assumed sender) of a telegram.
The receiver of PTM 216B telegrams keeps track of this counter and will accept only telegrams with counter values higher than the highest previously used value. This eliminates possibility reusing previously transmitted telegrams.
® C.1.3.2 Obtaining the security key via the product QR code Each PTM 216B module contains a QR code on its product label which identifies source ad- dress and security key of the module as described in chapter 8.3. The QR code of the device used for this tutorial is shown in Figure 44 below shows the same information encoded according to that.
C.1.5 Constant internal parameters The RFC3610 implementation in PTM 216B derives two internal parameters – M’ and L’ – based on the input data and uses them to construct A0_Flag and B_0_Flag which – togeth- er with the iteration counter i – are required for subsequent processing.
® C.1.6 Variable internal parameters The RFC3610 implementation in PTM 216B derives four internal parameters – Nonce, A0, B0 and B1 – based on the telegram specific input data and the constant internal parame- ters. These variable internal parameters - listed in Table 14 below - are then used together with the security key to calculate the actual signature.
C.3.1 Data telegram without optional data For this example, we consider the following telegram payload received from a PTM 216B with the source address E215000019B8 and security key 3DDA31AD44767AE3CE56DCE2B3CE2ABB: 0C FF DA 03 5D 04 00 00 11 B2 FA 88 FF...
C.3.2 Data telegram with 1 byte optional data For this example, we consider the following telegram payload received from a PTM 216B with the source address E215000019B8 and security key 3DDA31AD44767AE3CE56DCE2B3CE2ABB: 0D FF DA 03 62 04 00 00 10 12 B9 FE AC C1 The last four bytes of this payload (B9 FE AC C1) are the sender-provided signature which has to be authenticated.
C.3.3 Data telegram with 2 byte optional data For this example, we consider the following telegram payload received from a PTM 216B with the source address E215000019B8 and security key 3DDA31AD44767AE3CE56DCE2B3CE2ABB: 0E FF DA 03 63 04 00 00 11 12 34 52 E0 51 16 The last four bytes of this payload (52 E0 51 16) are the sender-provided signature which has to be authenticated.
C.3.4 Data telegram with 4 byte optional data For this example, we consider the following telegram payload received from a PTM 216B with the source address E215000019B8 and security key 3DDA31AD44767AE3CE56DCE2B3CE2ABB: 10 FF DA 03 6A 04 00 00 10 12 34 56 78 2C 9E 10 95 The last four bytes of this payload (2C 9E 10 95) are the sender-provided signature which has to be authenticated.
Need help?
Do you have a question about the PTM 216B and is the answer not in the manual?
Questions and answers