System information
Table Of Contents
- Table of Contents
- 1 Introduction to the SmartServer SOAP/XML Interface
- 2 SOAP Messages and the SmartServer WSDL File
- 2.1 SmartServer Naming Structure
- 2.2 SmartServer WSDL File
- 2.3 Security
- 2.4 SOAP Request and Response Message Structure
- 2.5 SOAP Messages Formats
- 2.6 Data Point References
- 2.7 UCPTcurrentConfig
- 2.8 Fault Structure
- 2.9 LonString type
- 2.10 SOAP Message Examples
- 3 SmartServer Applications and the SOAP/XML Interface
- 3.1 Overview of SmartServer Applications
- 3.2 SmartServer XML Configuration Files
- 3.3 SmartServer Resource Files
- 3.3.1 Standard Network Variable Type (SNVT) Device Resource Files
- 3.3.2 Standard Configuration Property Type (SCPT) Device Resource Files
- 3.3.3 User Defined Network Variable Type (UNVT) Device Resource Files
- 3.3.4 User Defined Configuration Property Type (UCPT) Device Resource Files
- 3.3.5 Data Point Templates
- 3.3.6 Data Formatting
- 3.4 SOAP Functions
- 3.5 Performance Issues
- 4 Using the SmartServer Data Server
- 4.1 Creating and Modifying the Data Point XML Files
- 4.2 Overview of the Data Point XML File
- 4.3 Data Server SOAP Interface
- 4.3.1 Using the List Function on the Data Server
- 4.3.2 Using the Get Function on the Data Server
- 4.3.3 Using the Set Function on the Data Server
- 4.3.4 Using the Read Function on the Data Server
- 4.3.5 Using the Write Function on the Data Server
- 4.3.6 Using the Invoke Function to Reset Data Point Priorities
- 4.3.7 Data Point Values and Priority Levels
- 4.3.8 Using the Delete Function on the Data Server
- 4.4 Using the Web Binder Application
- 5 Data Loggers
- 5.1 Overview of the Data Logger XML File
- 5.2 Creating and Modifying the Data Logger XML File
- 5.3 Data Logger SOAP Interface
- 6 Alarm Generator
- 6.1 Overview of the Alarm Generator XML File
- 6.2 Creating and Modifying the Alarm Generator XML File
- 6.3 Alarm Generator SOAP Interface
- 7 Alarm Notifier
- 7.1 Overview of the AlarmNotifier XML File
- 7.2 Creating and Modifying the Alarm Notifier XML File
- 7.3 Alarm Notifier SOAP Interface
- 7.3.1 Using the List Function on an Alarm Notifier
- 7.3.2 Using the Get Function on an Alarm Notifier
- 7.3.3 Using the Set Function on an Alarm Notifier
- 7.3.4 Using the Read Function on an Alarm Notifier
- 7.3.5 Using the Write Function on an Alarm Notifier Log File
- 7.3.6 Using the Clear Function on an Alarm Notifier Log File
- 7.3.7 Using the Delete Function on an Alarm Notifier
- 8 Analog Function Block
- 9 Scheduler
- 9.1 Overview of the Scheduler XML File
- 9.2 Creating and Modifying the Scheduler XML File
- 9.3 Scheduler SOAP Interface
- 10 Calendar
- 10.1 Overview of the Calendar XML File
- 10.2 Creating and Modifying the Calendar XML File
- 10.3 Calendar SOAP Interface
- 11 Real Time Clock
- 12 Type Translator
- 12.1 Overview of the Type Translator XML File
- 12.2 Creating and Modifying the Type Translator XML File
- 12.3 Type Translator SOAP Interface
- 12.3.1 Using the List Function on a Type Translator
- 12.3.2 Using the Get Function on a Type Translator
- 12.3.3 Using the Set Function on a Type Translator
- 12.3.4 Pre Defined Type Translator Rules
- 12.3.4.1 16xSNVT_switch_TO_SNVT_state
- 12.3.4.2 SNVT_lev_disc_TO_SNVT_occupancy
- 12.3.4.3 SNVT_lev_disc_TO_SNVT_switch
- 12.3.4.4 SNVT_occupancy_TO_SNVT_setting
- 12.3.4.5 SNVT_scene_TO_SNVT_setting
- 12.3.4.6 SNVT_scene_TO_SNVT_switch
- 12.3.4.7 SNVT_setting_TO_SNVT_switch
- 12.3.4.8 SNVT_state_TO_16xSNVT_switch
- 12.3.4.9 SNVT_switch_TO_SNVT_lev_disc
- 13 Type Translator Rules
- 14 LonWorks Driver
- 14.1 LonWorks Networks
- 14.2 LonWorks Channels
- 14.3 LonWorks Devices
- 14.4 Routers
- 14.5 Remote Network Interface
- 14.6 LonWorks Functional Blocks
- 14.7 Network Variables (LonWorks Data Points)
- 14.8 Configuration Properties (LonWorks Data Points)
- 14.9 LonWorks Connections
- 15 Modbus Driver
- 16 M Bus Driver
- 17 Virtual Driver
- 18 File System Data
- 19 System Information Methods
- 20 Using the SOAP Interface as a Web Service
- 21 Programming Examples
- 21.1 Visual C#.NET Examples
- 21.1.1 Reading and Writing Data Point Values in Visual C# .NET
- 21.1.2 Creating and Reading a Data Logger in Visual C# .NET
- 21.1.3 Creating a Scheduler and Calendar in Visual C# .NET
- 21.1.4 Creating and Installing a LonWorks Device in Visual C# .NET
- 21.1.5 Commissioning External Devices in Visual C# .NET
- 21.1.6 Discovering and Installing External Devices in Visual C# .NET
- 21.1.7 Configuring the SmartServer in Visual C# .NET
- 21.2 Visual Basic.NET Examples
- 21.2.1 Reading and Writing Data Point Values in Visual Basic.NET
- 21.2.2 Creating and Reading a Data Logger in Visual Basic. NET
- 21.2.3 Creating a Scheduler and Calendar in Visual Basic.NET
- 21.2.4 Creating and Installing a LonWorks Device in Visual Basic.NET
- 21.2.5 Commissioning External Devices in Visual Basic.NET
- 21.2.6 Discovering and Installing External Devices in Visual Basic.NET
- 21.2.7 Configuring the SmartServer in Visual Basic.NET
- 21.1 Visual C#.NET Examples
- 22 Programming the SmartServer with Java
- Appendix A: SOAP Tester Example
i.LON SmartServer 2.0 Programmer’s Reference
3-6
3.4.2
Get Functions
You can use the Get function to retrieve the configuration of any application instance or item that you
have added to the SmartServer. For example, you could use the Get function to retrieve the
configurations of the Alarm Generators, Data Loggers, Schedulers, and other application instances that
have been added to the SmartServer. Similarly, you could use the Get function to retrieve the
configurations of the data points on the Data Server (Dp_Cfg), or retrieve the L
ONWORKS application
devices (LON_Device_Cfg), the Modbus devices (MOD_Device_Cfg), and other network items on the
SmartServer. Note that you must reference the item whose configuration is to be retrieved by its
<UCPTname>.
Consider a scenario where you have used a List function to retrieve a list containing the <UCPTname>
of each Alarm Generator that has been added to the SmartServer. You could use the list as the input
for the Get function. The Get function would return the configuration of all the Alarm Generators
included in the list. You can also use the Get function to retrieve the configuration of a single Alarm
Generator, by supplying the <UCPTname> of the Alarm Generator functional block as the input.
3.4.3
Set Functions
You can use the Set function to write to each of the XML files described in the previous section.
When you invoke the Set function for an application for the first time, the associated XML file will be
created in the root/config/network/<network>/<channel>/iLONApp ||<device> directory on the
SmartServer, if it has not already been created. All data defined in the input supplied to the function
will be added to the XML file. Following this, you can use the Set function to add more data to the
XML file or to overwrite existing data.
For example, the first time an application invokes the Set function to create an Alarm Generator
functional block, the #8000010128000000[4].UFPTalarmGenerator.xml will be created in the
root/config/network/<network>/<channel>/iLONApp ||<device> directory of the SmartServer (if it
does not already exist based on the creation of another alarm generator functional block instance).
The file will contain an element for each Alarm Generator defined in the input passed to the function.
After its initial invocation, you can use Set function to overwrite the values of the properties defined
for the Alarm Generator application. You can also use it to add new Alarm Generators to the XML
file, or to overwrite the configuration of existing Alarm Generators.
When using the Set function to create an item such as an Alarm Generator, you should consider using
output supplied by the corresponding Get function as the basis for your input. The following
procedure describes how you might do so using the Alarm Generator functions. You could use this
algorithm when programming any of the SmartServer applications.
1. Invoke the List function to generate a list of Alarm Generators that have been added to the
SmartServer. This list includes the <UCPTname> of each Alarm Generator.
2. Invoke the Get function, using the list returned by the List function as the input. The function will
return the configuration of each Alarm Generator included in the list output.
3. Review the output from step 2, and choose an Alarm Generator to serve as your “default” Alarm
Generator. The Get output for this Alarm Generator will serve as the basis for the next Alarm
Generator you create. Modify the values of each property in the response returned by Get to
match the configuration you want for the new Alarm Generator. This will be more efficient than
building the input for the Set function from scratch.
Note: You must change the <UCPTname> of the Alarm Generator when using this algorithm.
Otherwise, the next step of this procedure will overwrite the configuration of the default Alarm
Generator you have chosen.
4. Invoke the Set function, using the modified response from Step 3 as input. The new item is
successfully created, without recreating an input that defines an entire Alarm Generator
configuration from scratch, and with minimal risk of format errors. Chapters 4-12 will clarify the
benefits of this algorithm.