Ecowitt WS90 - Weather Station
Short device name: SBWS-90CM
Functional description
The device emits BTHome data packets every 8.8 seconds with the currently measured sensor values.
Device specific features
- Bootloader is active 15 seconds after boot.
- CAL short single click: BLE pairing (30 seconds)
- CAL short double click: ZigBee steering start (3 retries)
- CAL short tripple click: heartbeat LED ON/OFF, ZigBee Identify Query broadcast
- CAL button hold: Calibration start
- RST button click: Reset
BTHome sensor data objects
Packet Type 1
| no | entity | units | BTHome id | multiplier | byte count |
|---|
| 1 | illumination | lux | 0x05 | 0.01 | 3 |
| 2 | rain status | raining/not raining | 0x20 | | 1 |
| 3 | wind speed | m/s | 0x44 | 0.01 | 2 |
| 4 | gust speed | m/s | 0x44 | 0.01 | 2 |
| 5 | UV index | | 0x46 | 0.1 | 1 |
| 6 | wind direction | ° | 0x5E | 0.01 | 2 |
Packet Type 2
| no | entity | units | BTHome id | multiplier | byte count |
|---|
| 1 | battery percent | % | 0x01 | 1 | 1 |
| 2 | atm. pressure | hPa | 0x04 | 0.01 | 3 |
| 3 | dew point | °C | 0x08 | 0.01 | 2 |
| 4 | capacitor voltage | V | 0x0C | 0.001 | 2 |
| 5 | relative humidity | % | 0x2E | 1 | 1 |
| 6 | temperature | °C | 0x45 | 0.1 | 2 |
| 7 | precipitation | mm | 0x5F | 0.1 | 2 |
| no | entity | BTHome id | byte count |
|---|
| 1 | button | 0x3A | 1 |
| id | name | example |
|---|
| 0x01 | single press | 0x3A01 |
Services
GATT SERVICE : de8a5aac-a99b-c315-0c80-60d4cbb51225
Characteristics
| UUID | characteristic | access | max length (bytes) | factory_reset value |
|---|
| b0a7e40f-2b87-49db-801c-eb3686a24bdb | Factory reset | rw | 1 | 0 |
| 2A03 | reconnect address | ro | 6 | bootloader_stage MAC |
| 0c31d671-5262-4620-87f3-51851c367cec | provision data low | ro | 255 | prov_data_L |
| 55bef871-f611-46f5-b498-7b9cc9759927 | provision data high | ro | 255 | prov_data_H |
| d56a3410-115e-41d1-945b-3a7f189966a1 | unix time | rw | 4 | n/a |
| b038c128-eb43-46f8-aa6d-a0485fac5f8d | enable Long-range BLE advertising | rw | 1 | 0 |
| 68348d04-f62c-435d-b075-cc54b9f049cc | enable ZigBee | rw | 1 | 1 |
GATT SERVICE : 6720fc43-27ed-4c02-ac27-e4ea85b5bcfd
Characteristics
| UUID | characteristic | type | min | max | mult | calculation | default |
|---|
| 0de178e5-a95d-4988-b042-7145d540a000 | temperature | offset | -32768 | 32767 | 0.1 | value + offset * mult | 0 |
| 0de178e5-a95d-4988-b042-7145d540a002 | humidity | offset | -32768 | 32767 | 1 | value + offset * mult | 0 |
| 0de178e5-a95d-4988-b042-7145d540a004 | pressure | offset | -32768 | 32767 | 0.1 | value + offset * mult | 0 |
| 0de178e5-a95d-4988-b042-7145d540a006 | wind direction | offset | -32768 | 32767 | 1 | (value + offset * mult) modulo 360 | 0 |
| 0de178e5-a95d-4988-b042-7145d540a008 | illuminance | gain | -10000 | 10000 | - | value * (1 + gain / 10000) | 0 |
| 0de178e5-a95d-4988-b042-7145d540a00a | UV index | gain | -10000 | 10000 | - | value * (1 + gain / 10000) | 0 |
| 0de178e5-a95d-4988-b042-7145d540a00c | wind/gust speed | gain | -10000 | 10000 | - | value * (1 + gain / 10000) | 0 |
ZigBee
ZigBee device info
Device Id: 0x0302 (Temperature Sensor)
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 |
| | | | 0x0040 | Battery 2 voltage | r |
| | | | 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 |
| | | | 0x0001 | IdentifyQuery | C->S |
| S | 0x0400 | Illuminance measurement | 0x0000 | Measured value | rp |
| | | | 0x0001 | Min measured value | r |
| | | | 0x0002 | Max measured value | r |
| | | | 0xFFFD | Cluster Rev. | r |
| S | 0x0402 | Temperature measurement | 0x0000 | Measured value | rp |
| | | | 0x0001 | Min measured value | r |
| | | | 0x0002 | Max measured value | r |
| | | | 0xFFFD | Cluster Rev. | r |
| S | 0x0403 | Pressure measurement | 0x0000 | Measured value | rp |
| | | | 0x0001 | Min measured value | r |
| | | | 0x0002 | Max measured value | r |
| | | | 0xFFFD | Cluster Rev. | r |
| S | 0x0405 | Relative humidity measurement | 0x0000 | Measured value | rp |
| | | | 0x0001 | Min measured value | r |
| | | | 0x0002 | Max measured value | r |
| | | | 0xFFFD | Cluster Rev. | r |
| S | 0xFC01 | Wind speed neasurement MFC:0x1490 | 0x0000 | Wind speed (uint16 x 0.1m/s) | rp |
| | | | 0x0004 | Wind direction (uint16 x 0.1°) | rp |
| | | | 0x0007 | Gust speed (uint16 x 0.1m/s) | rp |
| | | | 0xFFFD | Cluster Rev. | r |
| S | 0xFC02 | UV Index neasurement MFC:0x1490 | 0x0000 | UV Index (uint8 x 0.1) | rp |
| | | | 0xFFFD | Cluster Rev. | r |
| S | 0xFC03 | Rain information MFC:0x1490 | 0x0000 | Rain status (bool) | rp |
| | | | 0x0001 | Precipitation (uint24 x 0.1mm) | rp |
| | | | 0xFFFD | Cluster Rev. | r |