🌐 Connect
Sign in using your NLPNet credentials, select a controller, and use the full NLP Configuration Utility through NLP Configuration Utility.
NLPNet Sign In
Credentials are submitted to the NLP Configuration Utility backend. NLPNet cookies and bearer tokens remain server-side and are not exposed to browser JavaScript.
Controller
Select the NLP controller to configure. Authentication to the selected interface is performed server-side.
Selected Controller Details
Not selectedNLPNet Assignment
Local Controller
Download this same utility for direct LAN access. The downloaded file automatically switches to Local mode when opened from your computer, so controller configuration features remain aligned with the Cloud utility.
⬇ Download Local Utility No Node.js, helper application, or NLPNet sign-in is required. Data Migration remains Cloud-only because those requests require the cloud backend.Local Controller
Connect directly to an NLP controller on the same local network. This standalone file sends direct HTTP requests to the controller and does not use NLPNet or the cloud backend.
http://, a path, or /proxy.
Local Mode
Decoder, Station, Program, Timeslot, IO Config, dependency, bulk-update, and Advanced controller tools use the same HTML and JavaScript as Cloud mode. Only the connection path changes.
Data Migration and NLPNet assignment tools are intentionally unavailable in Local mode because they require server-side access.🛠️ Controller Setup
Configure controller-wide engine settings and Water Engine dependency objects used during NLP deployment.
Engine Settings
Current values are loaded from the controller. Only changed writable fields are included in PATCH /we/engine.
Rain, retry, water-budget, and rain-status fields are shown below for deployment and support work. Changed writable fields are included in the same partial PATCH /we/engine.
Default Dependency Library
Check or add the standard Tucor dependency objects used by Station and RKLD deployment. Existing IDs are authoritative and are never overwritten by this workflow.
⚙️ IO Configuration Management
Manage reusable IO definitions and standard Tucor templates.
Load an existing IO configuration, edit only what needs to change, then PATCH the changed writable fields. The IO configuration ID is treated as the object identity. Raw API data remains available through View Raw JSON.
Advanced · Create IO Config from Raw JSON
PUT remains available for IO configuration creation. The ID comes from the lookup field above. If Custom IO Configuration is blank, the utility creates a basic template using safe default values for review and later editing.
Bulk IO Configuration Operations
Load or reset the standard IO configuration library.
Quick Configuration Templates
Choose only the template categories required for this controller.
🔌 Decoder Management
Load and edit individual decoders, or run purpose-built RKLD, SERB, and PD-100 setup workflows.
Load one decoder, review its current values, edit writable fields, and PATCH only what changed. Read-only status values are shown in a separate section and the complete GET response remains available through View Raw JSON.
Advanced · Create Decoder from Raw JSON / Primary IO
The existing add workflow is preserved here. Decoder Family uses the same type values shown in the structured editor. Custom JSON overrides the default add payload.
Delete Decoder Range
Deletes only existing Decoder addresses inside the inclusive address range. Missing addresses are skipped and do not shift the range.
Bulk Delete Decoders
Deletes every Decoder object currently returned by GET /lu. This does not delete Stations, IO Configs, Programs, or Controller Setup dependency objects.
Add RKLD Decoders
Creates only missing RKLD decoders, applies their IO configuration, and can add only missing stations.
SERB Address Configuration
Configure a complete SERB-24 or SERB-48 address set. Corresponding Stations are optional.
Add PD-100s
Add selected PD-100 decoder addresses and apply the chosen IO configuration.
📋 Program Management
Load a program into a structured editor, review changes before PATCH, or use the existing bulk program setup tools.
Load one program from the controller, edit only what needs to change, then PATCH the changed writable fields. Program steps use the native format [targetID, amount, targetType, stepType, waitCompletion]. Raw API data remains available in View Raw JSON.
Target Type: Station, Group, or All. Step Type determines how Amount is interpreted: seconds, micrometers, MAD, Learn Flow, or Verify Flow. Amount is kept in the controller's native value to avoid changing existing step data.
| # | Target ID | Amount | Target Type | Step Type | Wait Completion | Actions |
|---|
Advanced · Create Program from Raw JSON
PUT remains available for program creation. If Custom Program Configuration is blank, the utility builds a writable-only default payload.
Bulk Program Operations
Add only missing legacy/default and test Programs, update Program strategy when explicitly requested, or remove all Programs and Timeslots.
🚰 Station Management
Load station data into an editable form, review changes before PATCH, or use bulk operations when needed.
Load a station from the controller, review its current values, edit only what needs to change, then PATCH the changed fields. Water values are shown in inches, flow in GPM, and timestamps in this PC’s local time. Raw API values remain available in View Raw JSON.
Advanced · Create Station from Raw JSON
PUT remains available here for manual station creation. Provide a complete writable station object. This advanced JSON editor is intentionally separate from the loaded station form.
Bulk Add / Delete Stations
Create only missing Basic, inactive Stations. Decoder address and output index are intentionally left unassigned. Preview the exact payloads and licensed-capacity impact before creating anything.
Basic (type 2) · inactive · priority 0 · precipitation rate 0 · expected flow 0 · desc = "ST" + stationId · addr and idx omitted
| Station ID | Description | Station Group | Type | Active | Priority | Precip Rate (in/hr) | Expected Flow | Decoder | Status |
|---|
Deletes only existing Stations within the requested ID range. Missing Station IDs are skipped.
Retrieves the current Station list first and shows the exact number that will be deleted before asking for confirmation.
Bulk Station Update
Update all stations matching a condition using the controller's ?where and ?set filters. Friendly mode converts water, flow, timestamps, station type, and station state for readability. The resolved native API values are always shown before the request is sent.
GET /we/station?where="$65536!=39"
PATCH /we/station?where="$65536!=39"&set="$65536=39"
📦 Data Migration
Generate legacy migration data without connecting to an NLP controller. These operations do not require NLPNet or controller authentication.
CIMS Migration
Uses the legacy CIMS controller ID (DevID) to request migration data from remote.mysrc.online.
Village-Walk-1_TWI-1878
curl https://remote.mysrc.online/migration/cims/gen/<DevID> -o <filename>.json
Procom Migration
Uploads a local procom.ldb database using the legacy Procom Site ID, then downloads the generated JSON migration data.
procom.ldb file.
Rosewood-Sand-Hill
curl -T procom.ldb https://remote.mysrc.online/migration/procom/gen/<SiteID> -o <filename>.json
🔧 Generic API Operations
Advanced direct API access for troubleshooting and uncommon operations.
Quick Start
IO Configuration Raw JSON
{}Program Raw JSON
{}
Decoder Raw JSON
{}
Station Raw JSON
{}