The registers the InteliHive reads and writes on each supported Modbus device. The controller is the bus master — it does not expose registers of its own.
Use this page when checking a device with a Modbus tool, or integrating the same device elsewhere on a site.
Addresses are wire addresses — the zero-based register address sent in the Modbus frame. Manufacturers number registers differently:
- NextStep documents registers in the
4xxxxstyle. Subtract 40001:40136is wire address135.- Pyxis numbers its registers from 1. Subtract 1: the documented
46001is wire address46000. Each Pyxis table below gives both.
Pyxis addresses and word order changed in development firmware (build v0.1.0-158). Earlier firmware read the ST-500 and ST-712 at the documented numbers, high word first — one register off. Its readings were close but not exact, and the ST-500’s cleanliness count read the wrong register. This page describes the corrected map.
| Reads | Function code 03, Read Holding Registers |
| Writes | Function code 06, Write Single Register, unless a table says 16 (Write Multiple Registers) |
| 32-bit values | Two registers. Which comes first is per device — see each table. |
| High word first | The first register holds the upper 16 bits. Sensorex, NextStep. |
| Low word first | The first register holds the lower 16 bits. Every Pyxis probe. Pyxis’s own documents call this “CDAB”. |
Default address 240. Floats high word first. Allow more than 10 seconds after power-up before the probe answers.
| Wire address | Registers | Type | Reading |
|---|---|---|---|
| 3 | 2 | Float | Measured value — pH, or conductivity in µS/cm |
| 5 | 2 | Float | Temperature, °C |
| 7 | 2 | Float | Secondary reading — mV (pH variant) or PPT (conductivity variant) |
| Identity | Wire address | Registers |
|---|---|---|
| Model | 16 | 6 |
| Serial number | 22 | 6 |
Firmware version — identifies the variant (ph-… or cp2-…) |
34 | 6 |
The readings stay invalid until the variant is identified, so a probe can never report in another variant’s units.
| Write | Wire address | Value |
|---|---|---|
| Address move — the new address | 0 | 1–247 |
| Then, soft reset — the probe restarts at its new address | 89 (0x59) |
0x5258 |
Default address 13 (ST-712) or 11 (ST-710). Floats low word first.
| Wire address | Pyxis number | Registers | Type | Reading | ST-712 | ST-710 |
|---|---|---|---|---|---|---|
| 46000 | 46001 | 2 | Float | pH | ✓ | ✓ |
| 46012 | 46013 | 2 | Float | ORP, mV | ✓ | — |
| 46004 | 46005 | 2 | Float | Temperature, °C, read every 30 s | ✓ | ✓ |
Identity: not checked yet. The documented model and serial registers (Pyxis 41005, 41015) are to be confirmed on a probe first.
| Write | Wire address | Pyxis number | Function | Value |
|---|---|---|---|---|
| Address move — the new address, then power-cycle the probe | 42000 | 42001 | 16 | 1–247 |
| pH calibration — Standard A (pH 4 buffer) | 48010 | 48011 | 16 | Float, 4.00 |
| pH calibration — Standard B (pH 10 buffer) | 48016 | 48017 | 16 | Float, 10.00 |
| ORP calibration standard, in volts | 44001 | 44002 | 16 | Float, e.g. 0.200 |
| Calibration command | 43005 | 43006 | 16 | 8 = pH 7 · 4 = Standard A · 5 = Standard B · 6 = ORP |
The calibration result is read from wire 41002 (Pyxis 41003) five seconds after the command:
| Step | OK | Out of range | Failed |
|---|---|---|---|
| pH 7 | 6 | — | 4 |
| Standard A | 1 | 3 | 4 |
| Standard B | 2 | 3 | 4 |
| ORP | 2 | 3 | 4 |
Default address 10. Floats low word first.
| Wire address | Pyxis number | Registers | Type | Reading |
|---|---|---|---|---|
| 1005 | 1006 | 2 | Float | PTSA, ppb |
| 1011 | 1012 | 2 | Float | Turbidity, NTU |
| 1023 | 1024 | 1 | Unsigned integer | Cleanliness count, read every 30 s. Above 3000 in cooling water: fouled. |
| Identity | Wire address | Registers | Expected value |
|---|---|---|---|
| Model | 1004 | 2 | 50661 |
| Serial number | 1032 | 2 | — |
The identity registers are read at these wire addresses, confirmed on a probe. Pyxis documents the model at 41005; that difference is still being checked.
| Write or read | Wire address | Pyxis number | Value |
|---|---|---|---|
| Address move — the new address | 1036 | 1037 | 1–247 |
| Then, save it — power-cycle the probe after | 1043 | 1044 | 2 |
| Cleanliness in DI water (read) | 1020 | 1021 | Below 600: fouled |
| Cleanliness in 100 ppb PTSA (read) | 1021 | 1022 | Below 600: fouled |
| Calibration standard, ppb | 1025 | 1026 | 1–300 |
| Calibration command | 1024 | 1025 | 3 = slope · 4 = zero |
| Calibration status (read, five seconds after the command) | 1030 | 1031 | Bit flags — fouled, DI water fluorescent, standard too high, standard too low |
Default address 23. Floats low word first.
| Wire address | Pyxis number | Registers | Type | Reading |
|---|---|---|---|---|
| 46000 | 46001 | 2 | Float | General corrosion, mpy |
| 46004 | 46005 | 2 | Float | Localized corrosion, index 0–100, read every 30 s |
| 46008 | 46009 | 2 | Float | Temperature, °C, read every 30 s |
Identity: not checked. Pyxis documents no product-number register for the CR-300.
| Write or read | Wire address | Pyxis number | Function | Value |
|---|---|---|---|---|
| Alloy factor (read and write) | 48000 | 48001 | 16 | Float — 1.00 mild steel, 2.00 copper, 1.67 admiralty brass, 0.94 aluminum, 0.89 stainless 304 |
| Address move — the new address, then power-cycle the probe | 42000 | 42001 | 16 | 1–247. Not documented by Pyxis for the CR-300; inferred from its other probes. |
| Check-cap standard, mpy | 44000 | 44001 | 16 | Float, 0.02–100 |
| Calibration command, one second after the standard | 43005 | 43006 | 16 | 3 |
| Calibration result (read, one second after the command) | 44002 | 44003 | 03 | 0 OK · 1 out of range · 2 current too low · 3 current too high |
Default address 66, both models. Floats low word first.
| Wire address | Pyxis number | Registers | Type | Reading |
|---|---|---|---|---|
| 46002 | 46003 | 2 | Float | Level, m |
| 46000 | 46001 | 2 | Float | Distance from the probe face to the liquid, m |
| 46004 | 46005 | 2 | Float | Volume remaining, L, read every 30 s |
| 46006 | 46007 | 2 | Float | Volume used, L, read every 30 s |
Identity: not checked. After adding, the controller reads a product number (54011 LS-200, 54002 LS-202) to tell the two models apart, trying wire 1004 and then 41004.
| Write | Wire address | Pyxis number | Function | Value |
|---|---|---|---|---|
| Tank sectional area | 43002 | 43003 | 16 | Float |
| Installation height | 43004 | 43005 | 16 | Float |
| Minimum height | 43006 | 43007 | 16 | Float |
| Address move — the new address, then power-cycle the probe | 42000 | 42001 | 16 | 1–247. Not documented by Pyxis for the LS-20x; inferred from its other probes. The probe refuses function 06 here. |
The tank values are written when you save the probe’s tank settings, and again whenever the probe reconnects.
The Modbus-controlled six-relay board. Default address 32. Every value is a single register.
| Wire address | Registers | Type | Channel | Access |
|---|---|---|---|---|
| 10 | 1 | 0 / 1 | Relay 1 | Read and write |
| 11 | 1 | 0 / 1 | Relay 2 | Read and write |
| 12 | 1 | 0 / 1 | Relay 3 | Read and write |
| 13 | 1 | 0 / 1 | Relay 4 | Read and write |
| 14 | 1 | 0 / 1 | Relay 5 | Read and write |
| 15 | 1 | 0 / 1 | Relay 6 | Read and write |
| Identity | Wire address | Registers | Expected value |
|---|---|---|---|
| Model | 1004 | 2 | First word 0x5242 (ASCII “RB”) |
| Serial number | 1014 | 8 | — |
Default address 1. Multi-register integers high word first. Externally powered — never port powered.
The pump ships at 8N1 — no parity. The controller’s bus defaults to Even parity, so one of them must be changed before they will talk. The pump also asks for at least 500 ms between polls.
| Wire address | Datasheet | Registers | Type | Reading | Access |
|---|---|---|---|---|---|
| 0 | 40001 | 1 | Bit field | Alarms — raised as 330–337 | Read |
| 1 | 40002 | 2 | Integer ÷ 1000 | Hourly dosing rate, L/h or gal/h | Read |
| 3 | 40004 | 2 | Integer ÷ 1000 | Frequency, % | Read |
| 120 | 40121 | 1 | Integer | Unit — 0 liters, 1 gallons | Read |
| 135 | 40136 | 1 | 0 / 1 | Pump off / on — the control output | Read and write |
| 137 | 40138 | 1 | Integer | Operating mode | Read |
| 409 | 40410 | 4 | Integer ÷ 1000 | Total dosed, L or gal | Read |
The pump has no model or serial number registers, so the controller checks only that it answers at the address.
The pump only accepts on/off in Constant mode. The controller offers the pump as a control-mode output only while the pump is in that mode.