Niagara AX nHaystack Manual Discovery File

Use this process to create a text file containing the connection details for a desired Niagara AX station.

This text file must contain two rows of data:

  • Row 1: ***nhaystack***
  • Row 2: Must contain three comma-separated fields: Niagara AX username, Niagara AX password, Niagara AX HTTP or HTTPS base URL for calling the Haystack REST API

If the Niagara AX uses the standard port (80) for HTTP or standard port (443) for HTTPS, then the colon and port number may be omitted from the URL.

Manual discovery file example using HTTPS:

nHaystack HTTPS Manual Discovery

Manual discovery file example using HTTP:

nHaystack HTTP Manual Discovery

This manual discovery file can have any file name or extension.

This file containing the Niagara AX user credentials is not transmitted across the network. The file is used exclusively on the MSIB machine between the MSIB web UI and the MSIB service.

Niagara AX nHaystack Import File

Header name

Haystack API field


Point name







Point type


Supported types:



Str (EnumPoint and EnumWritable only, not StringPoint or StringWritable)

Engineering units



Used for enumerated (Str) point types to indicate if the enumeration is 0-based (0, 1, 2, ...) or 1-bases (1, 2, 3, ...).

Enter 0 or 1.

The MSIB site commissioner must configure this field appropriately for all enumerated points before using the import file to create a MSIB Navigator nHaystack node.

For more information, see Enumerated point type and intercept below.

ALN Type


Device Sys Name

about API


Contains the Niagara AX station name. This is the name that must be specified as the MSIB node name while creating the MSIB nHaystack node.

IP address

Populated with the Niagara AX URL that was used for point discovery. This field is informational only and is not used by MSIB.

Enumerated Point Type and Intercept

Enumerated point types require additional MSIB commissioning to resolve the difference in how the nHaystack API and Navigator handle enumerations. nHaystack APIs provide the user-readable string definitions for enumerations, but Navigator requires a numeric representation for the enumeration.

In an MSIB nHaystack import file, enumerated points are defined as Point Type = Str. Some examples of enumerated point types are:

  • BACnet:
    • Present-value property of a multistate object
    • System-status property of a device object
  • LONWORKS: Enumerated SNVT types such as SNVT_occupancy

Various systems handle enumeration values differently, some defining enumerations as 0-based (0, 1, 2, …) and others defining them as 1-based (1, 2, 3, …). In order for MSIB to read the nHaystack API enumerated string and properly convert that string to its numeric equivalent for pushing to Navigator, the MSIB commissioner needs to indicate whether an enumerated point is 0-based or 1-based.

The MSIB import file Intercept column specifies whether an enumerated point type is 0-based or 1-based. By default, the Intercept column of a MSIB nHaystack discovery file will be automatically populated with 1, which indicates 1-based enumerations.

To switch an enumerated point to be a 0-based enumeration, change the Intercept column for that point to 0 and save the file. Then use this modified file as the MSIB import file for node creation or update.