Network Scanner
The Network Scanner automatically discovers controllers on your local network using a UDP broadcast. Instead of manually typing IP addresses, you scan — and the system finds, identifies, and offers smart actions for every controller it detects.
How to Open
Click the Scan Network button in the Hardware page toolbar. This button is always visible regardless of which tab is active.
Server Network Context
When the dialog opens, the system queries the server’s network interfaces — all physical and virtual network adapters on the machine running CeresFlows.
| Element | Description |
|---|---|
| Select Interface | Dropdown listing all server network interfaces (e.g., eth0, wlan0, Ethernet) with IP address |
| Auto-fill Broadcast | Selecting an interface automatically sets the Broadcast IP field to that interface’s broadcast address |
Docker Warning: If you select an interface with an IP in the
172.17.x.xor172.18.x.xrange, a yellow warning appears — this is a Docker bridge network. Scanning a Docker bridge will not find physical controllers on your LAN.
Scan Settings
| Field | Default | Description |
|---|---|---|
| Start Port | 8888 | First UDP port to scan. Controllers listen on this port by default. |
| End Port | 8890 | Last UDP port to scan. The scanner checks every port in the range, inclusive. |
| Broadcast IP | 255.255.255.255 | The broadcast address to send the UDP discovery packet to. |
Results Table
Every discovered controller appears as a row in the results table:
| Column | Description |
|---|---|
| IP | The IP address the controller responded from |
| Port | The UDP port the controller is listening on |
| MAC | The controller’s hardware MAC address |
| Model | The controller model reported by the firmware |
| Firmware | The firmware version string |
| Capabilities | Number of supported commands — hover to see the full list |
| Action | A smart action button determined by the controller’s relationship to existing system data |
Smart Actions
The Action column displays a context-aware button based on how the discovered controller relates to your existing system data:
| Action | Color | What It Does |
|---|---|---|
| Synced | Green ✅ | No action needed — the controller’s network info matches the system |
| Update IP | Amber 🔄 | Updates the existing controller’s IP address. The controller is identified by MAC. |
| Link MAC | Purple ⟨/⟩ | Links the scanned MAC address to an existing controller that was added manually. |
| Replace | Red ⚠️ | A different physical device is using an IP that belongs to an existing controller. Opens the Controller Wizard. |
| Add | Default ➕ | No matching controller exists. Opens the Controller Wizard pre-filled with discovered details. |
Troubleshooting
No controllers appear after scanning
- Ensure the controller and server are on the same network and subnet
- Check that the controller firmware has UDP discovery enabled
- Verify no firewall is blocking the scan port range (default
8888-8890) - If running in Docker, select the host network interface, not the Docker bridge
Scan finds the controller but shows the wrong IP
- The controller may have received a new IP via DHCP — use Update IP to sync
- Consider assigning a static IP to the controller in your router settings
“Replace” keeps appearing for a known controller
- A different MAC address is now using the same IP
- Either the old controller was replaced physically or there’s an IP conflict