RenKe RS-485 Temperature & Humidity Transmitter — Integration Guide
1. Sensor Overview
| Item | Value |
|---|---|
| Device | Temperature & Humidity Transmitter (wall-mount) |
| Model | UMxTH4xCN8F0 |
| Vendor | RenKe (Shandong RenKe) |
| Protocol | Modbus-RTU (RS-485) |
| Business Code | 21311 |
| Connectivity | EdgeBus KC11 mains DTU (LoRaWAN Class C) |
| Template | UMTH4-21311 |
A standard RS-485 Modbus-RTU temperature & humidity transmitter, bridged to LoRaWAN through a KC11 mains DTU into the ThinkLink platform for remote real-time monitoring, history curves and threshold alarms.
2. Product Features
- Wide-voltage supply DC 10–30V, ultra-low power 0.1W@24V.
- Standard Modbus-RTU / RS-485, communication distance up to 2000m, multi-device bus.
- Signed (two's-complement) temperature range (sub-zero capable), humidity 0–100%RH, resolution 0.1.
- Temperature/humidity calibration registers (0x0050/0x0051) for remote field calibration.
3. Application Scenarios
- Server room / power distribution monitoring with threshold alarms.
- Warehouse / cold storage / archive rooms: storage-environment compliance (e.g. pharmaceutical GSP).
- Greenhouse / farming / industrial workshop ambient monitoring, can drive dehumidify/ventilation control.
4. Gateway (DTU) Information
4.1 Hardware
| Item | Value |
|---|---|
| DTU model | KC11 (mains version) |
| Interface | RS-485 |
| DTU power | AC 85–270V (mains) |
| LoRaWAN Class | Class C (always-on) |
| Sensor power | DC 10–30V (independent field supply, max 0.1W@24V) |
Power supply confirmed as mains: KC11 mains version (Class C), device template MT-EB-POWER.
4.2 Wiring
T&H transmitter (4-wire) KC11 mains DTU
V+ (brown) ── DC 10~30V+
V- (black) ── DC 10~30V-
485-A (yellow) ──────────── RS-485 A
485-B (blue) ──────────── RS-485 B
KC11 own power: AC 85~270V L/N (mains)| Wire | Signal | Connect to |
|---|---|---|
| Brown | V+ | Field DC 10–30V+ |
| Black | V- | Field DC 10–30V− |
| Yellow | 485-A | KC11 RS-485 A |
| Blue | 485-B | KC11 RS-485 B |
KC11 is mains-powered; the sensor needs its own DC supply. Short the 120Ω terminator to 485-A at the bus end if needed.
5. Data Acquisition
Via Modbus-RTU function code 0x03, a single query reads 2 registers from 0x0000 (humidity + temperature).
- Query:
01 03 00 00 00 02 C4 0B - Response (e.g. temp -10.1℃ / humidity 65.8%RH):
01 03 04 02 92 FF 9B 5A 3D02 92= 658 → humidity 65.8%RHFF 9B= -101 (two's complement) → temperature -10.1℃
5.1 Register Map
| Register (PLC) | Item | Type | R/W | Notes |
|---|---|---|---|---|
| 0x0000 (40001) | Humidity | uint16 | R | /10 = %RH, 0–100% |
| 0x0001 (40002) | Temperature | int16 | R | /10 = ℃, signed (sub-zero) |
| 0x0050 (40081) | Temp calibration | int16 | R/W | /10, field offset |
| 0x0051 (40082) | Humidity calibration | int16 | R/W | /10, field offset |
| 0x07D0 (42001) | Device address | uint16 | R/W | 1–254 |
| 0x07D1 (42002) | Baud rate | uint16 | R/W | 0=2400/1=4800/2=9600 |
Defaults: 4800 8N1, address 0x01. Note the factory baud rate is 4800 (unlike many 9600 devices).
6. EdgeBus Model
6.1 EB Config
| Item | Value |
|---|---|
| name / port | umth4 / 22 |
| version / dataType | 0x87 / 0x10 |
| upPeriodIndex / periodIndex | app_70 / app_74 |
| indexAPP (Modbus addr) | app_150 |
| Serial | 4800 8N1 |
| Battery | false (mains, Class C) |
| BzType / BzVersion / SwVersion | 21311 / 1 / 31 |
6.2 EB Code
const eventInfo:UserConfUPItem[]=[
{
name:"umth4", port:22, version:"0x87",dataType:"0x10",upPeriodIndex:70,
quInfo:[{
protocol:"modbus",addr:"0x01",code:"0x03", periodIndex:74,
indexAPP:150, indexCMD:0, copySize:1,isLast:false,
listVal:[
{ start: "0x0000", end: "0x0000" ,covType:"Uint16BE",covAppIndex:112},
{ start: "0x0001", end: "0x0001" ,covType:"Int16BE",covAppIndex:110},
]
}
]
}
]
let otaConfig = getOtaConfig({
BaudRate: 4800, StopBits: 1, DataBits: 8,
Checkbit: CheckbitEnum.NONE, Battery: false, ConfirmDuty: 60,
BzType: 21311, BzVersion: 1
})6.3 Notes
- One uplink event, one Modbus query: FC03 reads 2 registers from 0x0000 (humidity 0x0000 + temperature 0x0001).
- COV enabled: humidity threshold app_112, temperature threshold app_110 — uplink on change; upload period app_70 is the fallback window.
- Uplink frame
dataLen = 6 + 4: first 6 bytes are the standard DTU header (battery@4); bytes 6-7 = humidity register, bytes 8-9 = temperature register. - Modbus target address is dynamically injected from app_150 (factory default 0x01).
7. Thing Model
| Type | Name | id Name |
|---|---|---|
| Telemetry | [UMTH4] | umth4_21311 |
| Parameter | [UMTH4-PARA] | umth4_para_21311 |
Uplink frameInfo: port 22, tagList [0x87, 0x10], battery true, rssi true.
| index | field_name | type | Notes |
|---|---|---|---|
| 6 | humidity | uint16be | /10 %RH |
| 8 | temperature | int16be | /10 ℃ (signed) |
Parameter umth4_para_21311: parses PTL-D01 params on port 214 (app_20/38/40/70/74/110/112/150); on other ports advances the RPC state machine via Utils.paraCheck and writes back shared_attrs.
8. Third-Party Subscription
8.1 MQTT Topic
/v32/{Organization Account}/tkl/up/telemetry/{eui}
8.2 Sample Payload
{
"eui": "6353012af10a9331",
"active_time": "2026-06-14T08:35:48.000Z",
"thingModelId": "118655647318175744",
"thingModelIdName": "umth4_21311",
"telemetry_data": {
"snr": 13.5,
"rssi": -51,
"battery": 3.37,
"humidity": 65.8,
"temperature": 23.5
}
}9. RPC
| Type | Name | id Name |
|---|---|---|
| Set | [UMTH4 SET] 21311 | umth4_set_21311 |
| Get | [UMTH4 GET] 21311 | umth4_get_21311 |
| Calibration | [UMTH4 ACT] 21311 | umth4_calib_21311 |
Parameter definitions:
| Slot | Name | field_name | Range/Unit | Description |
|---|---|---|---|---|
| app_38 | Power-on delay | pwron_delay | ≥100 ms | Settle time before query |
| app_40 | Heartbeat period | period_heart | 60–86400 s | Mains default 24h; <1h auto-raised |
| app_70 | Upload period | period_up | 1–86400 s | Cloud upload interval (COV fallback) |
| app_74 | Collect period | period_read | 1–86400 s | DTU poll interval |
| app_110 | Temp COV threshold | cov_temperature | /10 ℃ | Uplink on temp change over threshold |
| app_112 | Humidity COV threshold | cov_humidity | /10 %RH | Uplink on humidity change over threshold |
| app_150 | Modbus address | addr_modbus | 1–247 | DTU query target address |
- Set
umth4_set_21311: sets period + power-on delay (app_38) + heartbeat (app_40) together; heartbeat <1h auto-raised to 24h. - Get
umth4_get_21311: sends read-only frame to port 214; the parameter thing model parses and writes back shared_attrs. - Calibration
umth4_calib_21311: variant dropdown selects temp/humidity calibration, writes 0x0050/0x0051 via FC06 transparent (signed, /10), echo-verified then writes back shared_attrs.
10. Template Selection
Search in ThinkLink: UMTH4-21311, or by business type 21311 / Temperature-Humidity Transmitter.
11. Additional Notes
- Factory defaults: address 0x01, 4800 8N1. Change baud via register 0x07D1; change address via 0x07D0 (1–254).
- Calibration values are signed offsets (two's complement), written via the calibration RPC over FC06; can be negative.
- Heartbeat: the template ships a short heartbeat (900s) for commissioning; after the Set RPC it is auto-raised to 24h to save power.