Wired devices on a two-wire RS-485 bus — water-quality probes, relay boards, and dosing pumps. Several devices share one daisy chain, each at its own address, and the controller polls them in turn.
See Supported Devices for exact models and channels.
Three rules for a stable bus. Almost every Modbus problem breaks one of them.
- A to A, B to B — at every device, checked against that device’s own wire colors.
- One address per device — no two devices on the bus share an address, including two of the same kind.
- One set of serial settings — every device uses the same baud rate, parity, and stop bits as the controller.
| Device | What it gives you | Default address | Port powered by default |
|---|---|---|---|
| Sensorex Smart Sensor (pH, conductivity) | Measured value, temperature, and a secondary reading | 240 | Yes |
| Pyxis ST-712 | pH, ORP (mV), temperature | 13 | Yes |
| Pyxis ST-710 (upcoming) | pH, temperature | 11 | Yes |
| Pyxis ST-500 | PTSA (ppb), turbidity (NTU), cleanliness | 10 | Yes |
| Pyxis CR-300 (upcoming) | General and localized corrosion, temperature | 23 | Yes |
| Pyxis LS-200, LS-202 (upcoming) | Tank level, distance, volume remaining and used | 66 | Yes |
| Legacy Relay Device 6 | Six relays, each switchable independently | 32 | Yes |
| NextStep Pump | Pump on/off, dosing rate, speed, total dosed, pump alarms | 1 | No |
What each probe shows, and its own settings, are on Modbus Probes.
The Modbus port has a switched 24 V supply that can power the devices on the bus. Each device is set up as one of two kinds:
When you add a Modbus device, the controller asks Port powered? and suggests the usual answer for that device type. Answer for how the device is actually wired.
The answer changes what the controller is allowed to do. It can only reset or switch off a device by cutting the bus supply, so it only tries on devices that are port powered. Answering Yes for a device with its own supply gives it recovery the controller cannot deliver. Answering No for a port-powered device turns off recovery it could have had.
Settings → Modbus → Bus Power switches the bus supply on and off. It is on by default, so a probe wired to a new controller has power to answer when you add it.

New in an upcoming firmware update. Earlier firmware has no switch: the supply is on only while at least one saved device is set as port powered.
A unit set up to take bus power from an External supply also shows a Source row (Hive Rail or External), so it can be switched back. The row does not appear otherwise.
If a port-powered device stops answering for about 12 seconds, the controller power-cycles the bus once — supply off for half a second, then back on — to restart it. It then waits at least a minute before it will try again, so the devices have time to boot.
A power cycle restarts every port-powered device on the bus, not just the silent one. Other probes on the chain drop for a few seconds while they reboot. That is expected.
Externally powered devices are never power-cycled. If one goes silent, it stays disconnected until it answers again.
You can also power-cycle the bus by hand from Settings → Modbus → Cycle Bus Power. The confirmation says how many devices restart and how many control modes pause until they are back. On an externally powered bus this does nothing.
Switching a Legacy Relay Device 6 relay On by hand is timed. If the time runs out and the controller cannot switch the relay off any other way, it cuts the bus supply — which drops every port-powered device, but guarantees the relay is off. That protection only exists when the Legacy Relay Device 6 is port powered.
| Setting | Default | Choices |
|---|---|---|
| Baud rate | 9600 | 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 |
| Parity | Even | None, Even, Odd |
| Stop bits | 1 | 1 or 2 |
Every device on the bus must use the same baud rate, parity, and stop bits as the controller. There is no negotiation. A device at different settings cannot understand anything on the bus — it just stays silent, and looks exactly like a wiring fault or a wrong address.
Devices do not all ship at the same settings, so a mixed bus usually needs some of them changed:
| Device | Ships at | Can it use the controller’s 9600 8E1? |
|---|---|---|
| InteliHive (the bus) | 9600 baud, 8E1 | — |
| Sensorex Smart Sensor | 19,200 baud, 8N1 | Yes — it supports 9600, 19,200 and 38,400 baud with 8N1, 8E1, 8O1 or 8N2 |
| NextStep Pump | 8N1 (no parity) | Change the pump or the bus so the parity matches |
| Pyxis probes | Not published — ask Pyxis | Check with the uPyxis app |
Pick one setting that every device on the bus supports, set each device to it with the manufacturer’s tool, then set the controller to match. Write the setting down for the site — the next person to add a device needs it.
The settings are locked while any device is connected, because changing them mid-session would cut off the devices that are working. Remove or disconnect devices first if the whole bus has to move.
Every device on the bus needs its own address, from 1 to 247. No two devices may share one — not even two of the same kind.
The usual mistake: a second device of the same kind, still at the factory address. Every device of a type ships at the same default (table above). Two Pyxis level probes both arrive at 66, and two Sensorex probes both at 240. Put the second one on a bus where the first is already at that address and both answer every request at once. Their replies collide and corrupt each other, so the controller loses the device it already had as well as failing to find the new one.
Give each device its own address before it shares a bus with another device at the same address. Most probes can be moved from the controller:
| Device | Default | Change the address |
|---|---|---|
| Sensorex Smart Sensor | 240 | From the controller. The probe restarts itself. Not yet tested on hardware. |
| Pyxis ST-500, ST-710, ST-712 | 10, 11, 13 | From the controller, then a power cycle. Not yet tested on hardware. Or over Bluetooth with the uPyxis app. |
| Pyxis LS-200, LS-202 | 66 | From the controller, then a power cycle. Tested on an LS-200. Pyxis does not document this procedure for these models, so the controller warns you and checks the result. Or over Bluetooth with the uPyxis app. |
| Pyxis CR-300 | 23 | From the controller, then a power cycle. Not documented by Pyxis for this model, and not yet tested on hardware: the controller warns you and checks the result. Or over Bluetooth with the uPyxis app. |
| NextStep Pump | 1 | On the pump’s own screen |
| Legacy Relay Device 6 | 32 | Per the board’s documentation |
Moving an address from the controller is new in an upcoming firmware update. Earlier firmware needs the manufacturer’s method. Where a move is not yet tested on hardware, try it on the bench before a site visit. A failed move changes nothing on the controller: the probe stays saved at its old address until it answers at the new one.
There are two ways in:

Moving a saved probe changes its identity everywhere. The controller moves the probe’s limits, calibration records, and every control mode and interlock that uses it, all at once and only after the probe answers at its new address. If any part fails, everything stays at the old address, so you can retry.
The cloud sees the move as a new device, so the probe’s history in the Inteliverse splits at the move.
After a failed move the probe could be at either address, so the controller asks you to look:

| Choice | Does |
|---|---|
| Check new | Looks for the probe at the new address. Offered once anything was written. |
| Check old | Looks for the probe at its old address |
| Forget it | While adding: leaves Add Device |
Found at the new address, the move is complete. Found at the old address, you can try again. While adding, a check returns to the Found screen at that address.
| Message | Means |
|---|---|
| It kept its old address. | The probe answered at the old address after the restart, so it did not take the move. The controller writes the old address back into the probe, so it cannot move later by surprise. |
| No reply at the new address. | Nothing answered at either address. Check it has power, then check both addresses. |
| The probe rejected the address write. | The probe refused the new address |
| No reply to the address write. | The probe did not answer the write |
| Moved, but the Hive could not follow it. | The probe is at the new address, but the controller could not update its records and still has it at the old one. Its control modes will not find it. Contact support before changing anything else. |
| Added here - use its device page | Moving a saved probe from outside its own options is refused. Use its Address row. |
| That address is in use | Another saved device has the address. Pick another. |
Two devices at the same address cannot be told apart — not even to move one of them. If it happens, disconnect one, move the other, then reconnect.
When you add a device, the controller asks the address first and then checks what answers there:
| The controller shows | It means |
|---|---|
| Device found! (or Found: and the probe type) | One device of the chosen type answered. Add it, or pick a new address to move it to. |
| Already added | A device of this type is already saved at this address. If you are adding a second one, it still needs its own address — two devices at this address will fight. |
| Address in use — “… is configured at address n. Replace it…?” | A different kind of device is saved at this address. Replace it only if you really swapped the device; otherwise pick another address. |
| No response | Nothing answered: wrong address, wrong serial settings, A and B swapped, or the device is still booting. |
For about ten seconds after power-up, every Sensorex probe answers on its factory settings — address 240, 19,200 baud, 8N1 — whatever it is set to. That is how they are recovered when their settings are lost. With several Sensorex probes on one bus, give the bus that time before expecting readings — the controller waits for it.
Isolate power before working on the bus. See Safety.
Connect A to A and B to B at every device. This is the most common Modbus wiring fault. A swapped pair does no damage, but that device never answers.
Wire colors are not the same from one manufacturer to the next — check each device’s own colors rather than matching colors along the bus:
| Device | A | B |
|---|---|---|
| Sensorex Smart Sensor | White | Green |
| Pyxis ST-712, ST-500, and other Pyxis probes | Blue | Yellow |
Do not wire by color. A Sensorex probe’s white wire is Modbus A, but a Pyxis probe’s white wire is its 4–20 mA output. Some manufacturers also mark the lines +/−, D+/D−, or TX+/TX−, and a few label A and B the opposite way round to everyone else. Follow each device’s own documentation.
If one device will not answer and its address and settings are right, swapping its A and B wires is a safe test.
The bus needs a 120 Ω terminator across A and B at each of its two physical ends, and nowhere in between.
On a short bus with one or two devices, a missing terminator often still works — until a cable run gets longer or a drive starts nearby. Terminate both ends anyway.
Sensorex probes take more than ten seconds to start. The controller waits for them, so a probe that is slow to answer right after power-up is normal.
The controller checks the device at each address is the device it expects — its type, and where the device reports one, its serial number. A mismatch raises Device Conflict (102) and the device is not used until it is resolved.
The NextStep pump reports no serial number, so only its type is checked. The Pyxis ST-712, ST-710, CR-300 and LS-200/202 are not identity-checked yet — the controller only checks that something answers at the address — so a swapped probe of another type does not raise a conflict. Label each probe’s address on its cable.
Start with how many devices dropped.
| Symptom | Likely cause | What to do |
|---|---|---|
| Every device dropped at once, Power light blinking red | Input power fault | Fix input power first — see 600. The bus recovers on its own. |
| Every port-powered device dropped, externally powered ones still fine | Bus supply off or faulted | Check Settings → Modbus → Bus Power is on. Otherwise see Modbus Supply Fault (620) and check for a short on the bus supply wiring. |
| Every device dropped, power is fine | Bus wiring | Check the trunk: polarity, termination at both ends, a broken conductor near the controller. |
| All devices drop together every minute or so | Automatic recovery power-cycling a silent device | Find the port-powered device that is not answering and fix or remove it. |
| A device dropped as soon as a second one of the same kind was connected | Two devices at the same address | Disconnect the new device, give it its own address, then reconnect it. See Addresses. |
| One device dropped | That device or its cable | Check its supply, connector, and cable; confirm its address. |
| One new device never answers, the others are fine | A and B swapped, or different serial settings | Check its A and B against its own wire colors; confirm its baud rate and parity match the bus. |
| Device Conflict (102) | Different device at that address | See Identity checks. |
| Won’t add — no answer at the address | Wrong address, wrong bus settings, or still booting | Confirm the address and the bus settings match the device. Allow Sensorex probes ten seconds. |
| A second probe of the same kind won’t add | Both at the factory address | Disconnect the first, add the second and move it from the Found screen, then reconnect the first. See Adding more than one of the same device. |
| An address move failed | The probe did not take the address, or did not restart | See If a move fails. |
| A level probe shows No tank set | Tank settings not entered | Open its options, Configure. See Tank settings. |
| An ST-500 shows Fouled | Dirty optics | Clean the probe, then calibrate it. See Error 340. |
| Can’t change bus settings | A device is connected | Settings are locked while any device is online. |
| NextStep pump won’t add | Parity mismatch | The pump ships at 8N1 (no parity); the controller defaults to Even parity. Set one to match the other. |
| Readings drop out intermittently | Electrical noise, or termination | Reroute the bus away from drives and power conductors. Check there is a terminator at both ends — the controller’s DIP switch on, a resistor at the last device — and none in between. |
For any dropout, the controller raises Device Disconnected (100) and drives the control modes that use the device to their safe state.