Shelly BLU Door/Window ZB
Short device name: SBDW-103C
Shelly Bluetooth Device Id: 0x14
Functional description
- Buttons: 1
- Red LED
- Light sensor
- MSA311 accelerometer
- Reed switch
The device monitors reed switch state, tilt, and light levels. When the reed switch closes, it resets the tilt reference point. When the reed switch opens, the device waits for the accelerometer to stabilize, then reports the settled values. Data is transmitted through two channels:
- BLE Advertising - The measured values are broadcast periodically as BLE advertising packets, and on reed change, accelerometer settle, or button press.
- Zigbee Communication - The sensor data is also sent over the Zigbee network to the bound devices
Device specific features
On-demand measurement
Pressing the button will trigger on-demand measurement and sending of the measured values.
BLE pairing
Duration: 1 min
To enter BLE pairing, press the button 4 times or hold it for 10 seconds. The BLE pairing process is indicated by single short blinks at 2-second intervals.
Adding to a ZigBee network
Duration: 1 min
To start the ZigBee steering process, press the button 5 times. ZigBee steering is indicated by the LED flashing twice in succession at 2-second intervals.
Zigbee Identification: LED constantly on during identification.
Factory reset
To trigger a factory reset, hold the button for 30 seconds. After 30 seconds, the LED will turn on, and a reset of the device will follow.
Bluetooth
Advertising (BTHome)
Beacon
Periodic 60 seconds
| Id | Label | Type | Notes |
|---|---|---|---|
| 0x01 | battery % | uint8 | |
| 0x2D | window | uint8 | 0 = closed, 1 = open |
| 0x3F | rotation | int16 | 0.1° |
| 0x64 | light level | uint8 | 0: dark, 1: twilight, 2: bright |
Device-Id packet
Periodic 60 minutes
| Id | Label | Type | Notes |
|---|---|---|---|
| 0x01 | battery % | uint8 | |
| 0xF0 | device type id | uint16 | |
| 0xF1 | firmware version | uint32 | rc version |
| 0xF2 | firmware version | uint24 | main version |
Forced (with button event)
Single, with duration 1500ms
| Id | Label | Type | Notes |
|---|---|---|---|
| 0x01 | battery % | uint8 | |
| 0x2D | window | uint8 | |
| 0x3A | button | uint8 | 1x short press |
| 0x3F | rotation | int16 | 0.1° |
| 0x64 | light level | uint8 | 0: dark, 1: twilight, 2: bright |
Characteristics
| Characteristic | UUID | Type | Access | Default | Meaning |
|---|---|---|---|---|---|
| Factory reset | b0a7e40f-2b87-49db-801c-eb3686a24bdb | uint8 | w | - | 1: perform factory reset |
| BTHome sample | d52246df-98ac-4d21-be1b-70d5f66a5ddb | array | r | - | latest BTHome data |
| Beacon mode | cb9e957e-952d-4761-a7e1-4416494a5bfa | uint8 | rw | 0 | 0: disabled, 1: enabled |
| ZigBee enable | 68348d04-f62c-435d-b075-cc54b9f049cc | uint8 | rw | 0 | 0: disabled, 1: enabled |
| Report angle threshold | 86e7cc43-19f4-4f38-b5ad-1ae586237e2a | uint16 | rw | 1 | angle threshold in degrees (0-90) |
| Dark threshold | c1a32099-32e8-42d8-99bb-b90ce4abe841 | uint16 | rw | 50 | ~lux |
| Bright threshold | c1a32099-32e8-42d8-99bb-b90ce4abe842 | uint16 | rw | 500 | ~lux |
Report angle threshold - Minimum tilt angle in degrees (0-90) required to trigger a report. When the door/window is open:
- Angles below this threshold are reported as 0° (open, not tilted).
- When the measured angle crosses above this threshold, a state change event is advertised.
- When the angle drops back below the threshold, a return-to-zero state change is advertised.
- This threshold also affects the Zigbee IAS Zone Alarm2 flag: when the reported angle is 0° (below threshold), Alarm2 is set, indicating the door/window is fully open rather than tilted.
ZigBee
ZigBee device info
Device Id: 0x0402 (IAS Zone) Profile Id: 0x104 (Home Automation)
| EP | Dir | Id | Cluster | Id | Attribute/Command | Access/Direction |
|---|---|---|---|---|---|---|
| 1 | S | 0x0000 | Basic | 0x0000 | ZCL Version | r |
| 0x0001 | Application version | r | ||||
| 0x0004 | Manufacturer name | r | ||||
| 0x0005 | Model Identifier | r | ||||
| 0x0007 | Power source | r | ||||
| 0x000C | Manufacturer version details | r | ||||
| 0x4000 | Sw Build Id | r | ||||
| 0xFFFD | Cluster Rev. | r | ||||
| S | 0x0001 | Power config | 0x0020 | Battery voltage | r | |
| 0x0021 | Battery percentage remaining | rp | ||||
| 0xFFFD | Cluster Rev. | r | ||||
| C | 0x0003 | Identify | 0xFFFD | Cluster Rev. | r | |
| 0x0000 | Identify | C->S | ||||
| 0x0001 | IdentifyQuery | C->S | ||||
| S | 0x0003 | Identify | 0x0000 | Identify time | r | |
| 0xFFFD | Cluster Rev. | r | ||||
| 0x0000 | Identify | C->S | ||||
| 0x0000 | IdentifyQueryResponse | S->C | ||||
| 0x0001 | IdentifyQuery | C->S | ||||
| S | 0x0500 | IAS Zone | 0x0000 | Zone state | r | |
| 0x0001 | Zone type | r | ||||
| 0x0002 | Zone status | r | ||||
| 0x0010 | IAS CIE address | rw | ||||
| 0x0011 | Zone ID | r | ||||
| 0xFFFD | Cluster Rev. | r | ||||
| 0x0000 | Zone status change notification | S->C | ||||
| 0x0001 | Zone enroll request | S->C | ||||
| 0x0000 | Zone enroll response | C->S | ||||
| S | 0xFC21 | Light level MFC:0x1490 | 0x0000 | Light level | rp | |
| 0x0001 | Dark threshold | rw | ||||
| 0x0002 | Bright threshold | rw | ||||
| 0xFFFD | Cluster Rev. | r |
IAS Zone details
Zone type: 0x0016 (Door/Window Handle)
Zone status flags used:
| Bit | Flag | Meaning |
|---|---|---|
| 0 | Alarm1 | 1: door/window open or tilted |
| 1 | Alarm2 | 1: door/window open (not tilted) |
| 3 | Battery | 1: battery low (<=15%) |
Zone status alarm interpretation:
| Alarm1 | Alarm2 | Description |
|---|---|---|
| 0 | 0 | Door/window closed |
| 1 | 0 | Door/window tilted (partly open) |
| 1 | 1 | Door/window open |
Bootloader
Bootloader mode duration: 30 seconds
To enter bootloader mode, hold the button while the device starts (when inserting the battery).
LED will blink slowly, indicating bootloader mode.