VTScada Integration
A VTScada script module (.SRC) and CSV tag list that submit tag data directly
to WaterlyConnect using VTScada's native HTTPSend capabilities. Configure which tags to
send and on what schedule in a single CSV file — no external server or middleware needed.
Written for integrators with minimal scripting experience.
- VTScada 12.0.19 or later. Check your version under Help ▸ About VTScada. If you are on an earlier version, contact support@waterly.com.
- Waterly credentials: API token, device ID, and submission URL.
- Access to the VTScada application folder to place the
.SRCand.csvfiles. - Outbound HTTPS access from the VTScada host to
app.waterlyapp.com.
Copy both files into your VTScada application folder. Create the subdirectories if they do not exist.
- 1Copy
WaterlyConnect.SRCto your application's Source folder:
C:\VTScada\MyApp\Source\WaterlyConnect.SRC - 2Copy
WaterlyTags.csvto a Config subfolder:
C:\VTScada\MyApp\WaterlyConnect\Config\WaterlyTags.csv - 3Create the Logs folder for support logs:
C:\VTScada\MyApp\WaterlyConnect\Logs\
Open WaterlyConnect.SRC and edit only this configuration block at the top of the file:
WaterlyURL = "https://app.waterlyapp.com/connect/submit"
WaterlyToken = "<YOUR_API_TOKEN>"
WaterlyDeviceID = "<YOUR_DEVICE_ID>"
WaterlyTagsCsv = "C:\VTScada\MyApp\WaterlyConnect\Config\WaterlyTags.csv"
LogPath = "C:\VTScada\MyApp\WaterlyConnect\Logs"
BatchSize = 100
BatchSize values (above 100) may degrade VTScada processing performance.
Edit WaterlyTags.csv to define which tags to send and when. Only rows with Enabled=1 are submitted.
| Column | Description |
|---|---|
| TagPath | Full VTScada tag path. Use backslashes. No spaces. |
| Enabled | 1 to submit, 0 to skip. |
| Interval | minute, hour, or day_at_time. |
| IntervalNum | For minute/hour: every N intervals. For day_at_time: HHMMSS in 24-hour time; use | to send at multiple times (e.g., 070000|190000). |
| Description | Optional operator note. Avoid commas. |
TagPath,Enabled,Interval,IntervalNum,Description
Site1\\Tank1\\Level,1,minute,5,Main tank level
Site1\\Pump1\\Status,1,minute,1,Pump running status
Site1\\Pump1\\Runtime,1,hour,1,Pump runtime hours
Site1\\Reservoir\\Level,1,day_at_time,070000|190000,Daily snapshot
- 1Import the script. In VTScada, run File ▸ Import File Changes to load
WaterlyConnect.SRC. - 2Create a Trigger Tag that runs every minute:
- On condition: repeat every 60 seconds
- Off condition: fixed delay 5 seconds (creates a short pulse)
- 3Create a Script Tag (e.g.,
WaterlyPost):
- Module:
WaterlyConnectPost - Scope Tag: your trigger tag from step 2
- Module:
- 4Verify. Open Log Viewer and search for
WaterlyConnectto confirm the script is running and submissions are succeeding.
- The trigger tag fires the
WaterlyConnectPostscript module every minute. - On each run, the script reads
WaterlyTags.csvand filters rows by schedule — only tags whose interval matches the current time are included. - Matching tags are read from VTScada and assembled into a WaterlyConnect JSON payload in batches of up to 100.
- Each batch is POSTed via VTScada's native HTTPSend with the required auth headers.
- Results are logged to the VTScada Log Viewer and to the file path in
LogPath.
The WaterlyConnect.SRC VTScada script module. Copy to your application's Source folder.
Sample WaterlyTags.csv with example tag paths for all three schedule types.