Waterly WaterlyConnect Developer Hub
Gateway VTScada 12.0.19+ Native HTTPSend CSV Tag Config

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.

12.0.19+VTScada version
CSVTag & schedule config
0External servers needed
Prerequisites
  • 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 .SRC and .csv files.
  • Outbound HTTPS access from the VTScada host to app.waterlyapp.com.
Install Files

Copy both files into your VTScada application folder. Create the subdirectories if they do not exist.

  1. 1
    Copy WaterlyConnect.SRC to your application's Source folder:
    C:\VTScada\MyApp\Source\WaterlyConnect.SRC
  2. 2
    Copy WaterlyTags.csv to a Config subfolder:
    C:\VTScada\MyApp\WaterlyConnect\Config\WaterlyTags.csv
  3. 3
    Create the Logs folder for support logs:
    C:\VTScada\MyApp\WaterlyConnect\Logs\
Script Configuration

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
Keep your API token private. Do not commit it to source control. Higher BatchSize values (above 100) may degrade VTScada processing performance.
Tag Schedule CSV

Edit WaterlyTags.csv to define which tags to send and when. Only rows with Enabled=1 are submitted.

ColumnDescription
TagPathFull VTScada tag path. Use backslashes. No spaces.
Enabled1 to submit, 0 to skip.
Intervalminute, hour, or day_at_time.
IntervalNumFor minute/hour: every N intervals. For day_at_time: HHMMSS in 24-hour time; use | to send at multiple times (e.g., 070000|190000).
DescriptionOptional 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
Add to VTScada
  1. 1
    Import the script. In VTScada, run File ▸ Import File Changes to load WaterlyConnect.SRC.
  2. 2
    Create a Trigger Tag that runs every minute:
    • On condition: repeat every 60 seconds
    • Off condition: fixed delay 5 seconds (creates a short pulse)
  3. 3
    Create a Script Tag (e.g., WaterlyPost):
    • Module: WaterlyConnectPost
    • Scope Tag: your trigger tag from step 2
  4. 4
    Verify. Open Log Viewer and search for WaterlyConnect to confirm the script is running and submissions are succeeding.
How It Works
  • The trigger tag fires the WaterlyConnectPost script module every minute.
  • On each run, the script reads WaterlyTags.csv and 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.
Files
Script module

The WaterlyConnect.SRC VTScada script module. Copy to your application's Source folder.

Download .SRC
Tag list template

Sample WaterlyTags.csv with example tag paths for all three schedule types.

Download .csv
Package README

Full setup walkthrough, CSV reference, and troubleshooting notes.

Open README
Source folder

Full source path in the waterlyconnect-docs repository.

View on GitHub ↗