Sentera FCTH temp/RH sensor
Register map(s) for this device, each at the trust rung it earned. Addresses are 0-based
as on the wire. Word order and scaling are confirmed at the hardware-verified rung and at no rung below it.
interop-verified
Read + decoded cleanly over a real network vs an independent third-party Modbus test server (transport and framing; reads are remapped into the server's register window, so the map's own addresses are NOT exercised). Does NOT prove word order/scaling against the actual device.
| point | address (0-based) | type | scale | unit |
| temperature_reading | 0 | I16 | 0.1 | °C |
| temperature_output_value | 1 | U16 | 0.1 | % |
| temperature_alert_flag | 2 | U16 | 1 | |
| temperature_range_limit_flag | 3 | U16 | 1 | |
| temperature_sensor_state | 4 | U16 | 1 | |
| relative_humidity_level | 9 | U16 | 0.1 | % rH |
| relative_humidity_output_value | 10 | U16 | 0.1 | % |
| relative_humidity_alert_flag | 11 | U16 | 1 | |
| relative_humidity_range_limit_flag | 12 | U16 | 1 | |
| humidity_sensor_state | 13 | U16 | 1 | |
| dew_point_level | 14 | I16 | 0.1 | °C |
| actual_output_value | 38 | U16 | 0.1 | % |
| output_control_mode | 39 | U16 | 1 | |
| ambient_light_intensity | 40 | U16 | 1 | lux |
| active_standby | 41 | U16 | 1 | |
| ambient_light_sensor_state | 42 | U16 | 1 | |
link settings as documented (unverified): RTU; default 19200 8E1; unit ID 1; FC 03,04,06,16
bench facts as documented (unverified)
| termination | Software-selectable Modbus network resistor termination (NBT) |
| model register | HR4 |
| firmware register | HR6 |
| doc revision | MBRM-FCTH-EN-000 - 27 / 04 / 2021 |
field reports — community-sourced, unverified (checked 2026-06-11)
- confirmed: comms.baud_rates: [4800, 9600, 19200, 38400, 57600, 115200, 230400] — confirmed by MBRM-FCTH-EN-000 Holding Register 2 options [2.3]
- confirmed: comms.default_baud: 19200 — confirmed by MBRM-FCTH-EN-000 Holding Register 2 default value of 2 (19,200 bps) [5.3]
- confirmed: comms.default_unit_id: 1 — confirmed by MBRM-FCTH-EN-000 Holding Register 1 default value of 1 [5.3]
- confirmed: comms.parity: E and stop_bits: 1 — confirmed by MBRM-FCTH-EN-000 Holding Register 3 default value of 1 (8E1) [2.3]
- confirmed: comms.function_codes: [3, 4, 6, 16] — confirmed by MBRM-FCTH-EN-000 notes on reading/writing registers [3.1, 4.3]
- confirmed: facts.doc_revision: 'MBRM-FCTH-EN-000 - 27 / 04 / 2021' — confirmed by document header [1.1]
- confirmed: facts.identification: {'firmware_register': 'HR6', 'model_register': 'HR4'} — confirmed by MBRM-FCTH-EN-000 Holding Register 4 (Device type) and Holding Register 6 (Firmware version) [5.3, 6.1]
- confirmed: facts.physical.termination: 'Software-selectable Modbus network resistor termination (NBT)' — confirmed by MBRM-FCTH-EN-000 Holding Register 9 [3.4]
The trust ladder
Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.
- generated — A prompt produced it. Unproven — anyone can regenerate this.
- structure-verified — Decode path is structurally sound (addresses, widths, finite values). Does NOT prove word order or scaling.
- interop-verified — Read + decoded cleanly over a real network vs an independent third-party Modbus test server (transport and framing; reads are remapped into the server's register window, so the map's own addresses are NOT exercised). Does NOT prove word order/scaling against the actual device.
- simulator-verified — Decoded correctly against a protocol emulator seeded with known-true values — catches word-order/scaling errors vs the emulator, not the physical device.
- hardware-verified x1 — Matched a real device with operator-attested readings as ground truth — the only rung that confirms word order + scaling on the wire.