Skip to content

RenKe RS-485 Temperature & Humidity Transmitter — Integration Guide

1. Sensor Overview

ItemValue
DeviceTemperature & Humidity Transmitter (wall-mount)
ModelUMxTH4xCN8F0
VendorRenKe (Shandong RenKe)
ProtocolModbus-RTU (RS-485)
Business Code21311
ConnectivityEdgeBus KC11 mains DTU (LoRaWAN Class C)
TemplateUMTH4-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

  1. Wide-voltage supply DC 10–30V, ultra-low power 0.1W@24V.
  2. Standard Modbus-RTU / RS-485, communication distance up to 2000m, multi-device bus.
  3. Signed (two's-complement) temperature range (sub-zero capable), humidity 0–100%RH, resolution 0.1.
  4. 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

ItemValue
DTU modelKC11 (mains version)
InterfaceRS-485
DTU powerAC 85–270V (mains)
LoRaWAN ClassClass C (always-on)
Sensor powerDC 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)
WireSignalConnect to
BrownV+Field DC 10–30V+
BlackV-Field DC 10–30V−
Yellow485-AKC11 RS-485 A
Blue485-BKC11 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 3D
    • 02 92 = 658 → humidity 65.8%RH
    • FF 9B = -101 (two's complement) → temperature -10.1℃

5.1 Register Map

Register (PLC)ItemTypeR/WNotes
0x0000 (40001)Humidityuint16R/10 = %RH, 0–100%
0x0001 (40002)Temperatureint16R/10 = ℃, signed (sub-zero)
0x0050 (40081)Temp calibrationint16R/W/10, field offset
0x0051 (40082)Humidity calibrationint16R/W/10, field offset
0x07D0 (42001)Device addressuint16R/W1–254
0x07D1 (42002)Baud rateuint16R/W0=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

ItemValue
name / portumth4 / 22
version / dataType0x87 / 0x10
upPeriodIndex / periodIndexapp_70 / app_74
indexAPP (Modbus addr)app_150
Serial4800 8N1
Batteryfalse (mains, Class C)
BzType / BzVersion / SwVersion21311 / 1 / 31

6.2 EB Code

typescript
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

TypeNameid Name
Telemetry[UMTH4]umth4_21311
Parameter[UMTH4-PARA]umth4_para_21311

Uplink frameInfo: port 22, tagList [0x87, 0x10], battery true, rssi true.

indexfield_nametypeNotes
6humidityuint16be/10 %RH
8temperatureint16be/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

json
{
    "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

TypeNameid Name
Set[UMTH4 SET] 21311umth4_set_21311
Get[UMTH4 GET] 21311umth4_get_21311
Calibration[UMTH4 ACT] 21311umth4_calib_21311

Parameter definitions:

SlotNamefield_nameRange/UnitDescription
app_38Power-on delaypwron_delay≥100 msSettle time before query
app_40Heartbeat periodperiod_heart60–86400 sMains default 24h; <1h auto-raised
app_70Upload periodperiod_up1–86400 sCloud upload interval (COV fallback)
app_74Collect periodperiod_read1–86400 sDTU poll interval
app_110Temp COV thresholdcov_temperature/10 ℃Uplink on temp change over threshold
app_112Humidity COV thresholdcov_humidity/10 %RHUplink on humidity change over threshold
app_150Modbus addressaddr_modbus1–247DTU 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.