NodeBuilder® Resource Editor User’s Guide Release 4 ® 078-0194-01C
Echelon, LON, LonWorks, Neuron, 3120, 3150, Digital Home, i.LON, LNS, LonMaker, LonMark, LonPoint, LonTalk, NodeBuilder, ShortStack, and the Echelon logo are trademarks of Echelon Corporation registered in the United States and other countries. FTXL, LonScanner, LonSupport, OpenLDV, and LNS Powered by Echelon are trademarks of Echelon Corporation. Other brand and product names are trademarks or registered trademarks of their respective holders.
Table of Contents Preface ..................................................................................................... v Purpose .......................................................................................................... vi Audience......................................................................................................... vi Content ........................................................................................................... vi Related Manuals.............
Using a Scaling Factor and Unit String ............................................ 61 Using Localized List Separators....................................................... 62 Using Localized Time and Date Formats ......................................... 62 Copying Resources ....................................................................................... 63 Removing and Obsoleting Resources........................................................... 64 Purging a Resource File Set ...................
Preface This document describes LONMARK resource files and how to use the NodeBuilder Resource Editor to view, create, and modify them. .
Purpose This document describes resource files and how to use the NodeBuilder Resource Editor to view, create, and modify them. Audience This document is intended for device manufacturers who are creating resource files for their LONWORKS® devices, and is also intended for network integrators who need to view resource definitions. Content This guide includes the following content: • Chapter 1, Introduction to Resource Files, presents an introduction to resource files.
LONMARK® SNVT and SCPT Guide Documents the standard network variable types (SNVTs), standard configuration property types (SCPTs), and standard enumeration types that you can declare in your applications. Neuron® C Reference Guide Provides reference information for writing programs using the Neuron C language. Neuron® C Programmer’s Guide Describes how to write programs using the Neuron® C Version 2.2 language. ShortStack User's Guide Release 2.
Region Languages Supported Contact Information Europe English German French Italian Echelon Europe Ltd. Suite 12 Building 6 Croxley Green Business Park Hatters Lane Watford Hertfordshire WD18 8YH United Kingdom Phone: +44 (0)1923 430200 Fax: +44 (0)1923 430300 lonsupport@echelon.co.uk Japan Japanese Echelon Japan Holland Hills Mori Tower, 18F 5-11-2 Toranomon, Minatoku Tokyo 105-0001 Japan Phone: +81-3-5733-3320 Fax: +81-3-5733-3321 lonsupport@echelon.co.
1 Introduction to Resource Files This chapter presents an introduction to resource files. It describes the types of resources contained within resource files and how they are used by network tools.
Introduction to Resource Files Resource files provide definitions of functional profiles, type definitions, enumerations, and formats that can be used by network tools such as the LonMaker tool. The type definitions include definitions for network variable types and configuration property types. Resource files are grouped into resource file sets, where each set applies to a specified range of program IDs.
contain a single value or they can contain a structure or union containing multiple fields (for example, the SNVT_date_cal network variable contains 3 fields for the year, month, and day). Network variables can also contain enumerated values which allow the network variable to be set to one of a discrete number of values. Network variables types are defined in a resource file with a “.typ” extension. Configuration Property Types Type information for configuration properties.
every language your resource file set supports. When a language file is translated, the references contained in the network variable types, configuration property types, and functional profiles still point to the appropriate strings. The file extension of each language file depends on the language. The standard language extensions are listed in Appendix A, Language File Extensions. Formats 4 Each network variable and configuration property type must have at least one format defined.
2 Getting Started This chapter describes how to install and start the NodeBuilder Resource Editor.
Installing the Resource Editor The NodeBuilder Resource Editor is available as a standalone application, and is also available as part of certain tools such as Echelon's NodeBuilder Development Tool. This chapter describes how to install the standalone resource editor. See the documentation for your application to install a NodeBuilder Resource Editor as part of that application. To install the standalone resource editor, follow these steps: 1. Download the ResEdit.exe file to your computer.
Starting the Resource Editor You can use the NodeBuilder Resource Editor to create, modify, and view resource files, and also to add user resource files to the resource catalog. To start the NodeBuilder Resource Editor, click the Windows Start button, point to Programs > Echelon NodeBuilder >, and then click NodeBuilder Resource Editor. The NodeBuilder Resource Editor window appears.
8 Getting Started
3 Using Resource Folders This chapter describes how to use the resource catalog to view all available resource folders on your computer, and how to add, move, and remove resource folders.
Introduction to Resource Folders A resource folder is a directory containing one or more resource file sets. You will typically create your resource file sets in a resource folder with your company name that is contained in the LONWORKS Types\User folder. For example, if you work for MyCo, you may create a resource folder in C:\LonWorks\Types\User\MyCo. If you anticipate creating many resource file sets, you may organize them in resource folders contained within your company resource folder.
To view or modify the contents of a resource file set, expand it using the button. When you expand a resource file set you will see six folders containing resource file components, as shown in the following figure: Each resource file set contains all of these folders, but some of them may be empty: Expand these folders to view or modify the following resources: Network Variable Types Contains the network variable types defined by this resource file set.
Adding a Resource Folder You can add a new resource folder to the resource catalog. This makes all resource file sets contained within the folder available to network tools running on your computer, and also allows you to view and modify the resource files contained within the folder using the resource editor. To add a resource folder, follow these steps: 1. Right-click the resource catalog file at the top of the resource catalog, and then click Add Folder on the shortcut menu.
Refreshing the Resource Catalog The resource catalog may get out of sync with the resource files on your computer if you update resource files using a tool other than the resource editor, if you delete a resource file set using Windows Explorer, if you update the resource file API on your computer, or if you copy new resource files into a resource folder using Windows Explorer.
example, you can enter “switch” to search for SNVT_switch. Look In The resource catalog, resource folder, resource file set, or resource file to search. By default, this will contain the folder you selected to begin the search. Click the arrow to increase the scope of the search. A list of your original selection and all levels of the resource catalog above your selection appears. Resource Types The type of resource to search for.
4 Creating and Modifying a Resource File Set This chapter describes how to create or modify a resource file set.
Creating and Modifying a Resource File Set You can create a new scope 3, 4, 5, or 6 resource file set within any resource folder. Each resource file set has a number of properties that you will set when you create the set. You can edit these properties at any time. The number of resource file sets that you will create will depend on the number of device types that you expect your company to develop, and the level of coordination that exists between your developers.
3. Enter the following information about the resource file set: Scope/Program ID Locked Prevents modification of the scope or program ID template for this resource file set. This option is not displayed when you are creating a new resource file set because the scope and program ID template can be freely changed when you are creating a resource file set.
Program ID setting is always ignored for resource files and should be cleared. The required values for each scope are as follows: • Scope 3: Manufacturer. • Scope 4: Manufacturer and Device class. • Scope 5: Manufacturer, Device Class, Usage, Channel Type, Has Changeable Interface, and Usage Field Values Defined by Functional Profile. • Scope 6: Manufacturer, Device class, Usage, Channel Type, Has Changeable Interface, Usage Field Values Defined by Functional Profile, and Model Number.
4. Click the File Header tab. 5. Enter the following company information for the resource file set: Creator The name of the company, and optionally the person, to contact about this resource file set. Phone Number The phone number to contact for questions about this resource file set. Web ID The Web address of the company that created this resource file set. Email Address The email address to write to for more information about this resource file set.
address fields in this tab will not update this string. 6. Click OK. If you are creating a new resource file set, it is created and added to the resource catalog. If you are updating a resource file set, any changes are written to the resource file set. You can now add new network variable types, configuration property types, functional profiles, enumeration types, language strings, and formats to the resource file set. See Creating and Modifying Resources for more information.
This dialog allows you to choose a value for each part of the standard program ID. The Program ID field at the bottom of the dialog displays the current program ID. Enter the following values to set the program ID: Manufacturer The device manufacturer. Click the arrow to select from a list of all the LONWORKS device manufacturers who are members of the LONMARK Interoperability Association.
22 • If you are using a standard functional profile other than functional profiles 0 through 6 and the functional profile is included in the standard resource file set, click the arrow and select the functional profile name. The device class will be set to the functional profile number for the selected functional profile.
from a list of channel types maintained by the LONMARK association. You can update the list by downloading the latest program ID data from www.lonmark.org/spid. Select Custom if you are using a transceiver that is not compatible with any of channel types in the list.
any type of device. See the Using the Resource Editor chapter in this document and the Neuron C Programmer’s Guide for more information. Usage Fields Defined By Functional Profile Set this checkbox if the primary functional profile implemented by this device defines usage values. Otherwise, clear the checkbox to specify standard usage values. When set, the Usage value will be set to . Enter the custom usage value in the box to the right of the Usage box.
5 Creating and Modifying Resources This chapter describes how to define new resources and how to modify existing resources.
Introduction to Creating and Modifying Resources You can create and modify any resources within a scope 3, 4, 5, or 6 resource file set, though you cannot do this for resource file sets not created by your company. If you are modifying a resource file set that you have previously released, you must be careful to make changes that are backward-compatible with your released products. You can add a resource at any time and not affect your existing products.
The figure above shows the New or Existing Configuration Property Type dialog. The New Network Variable Type dialog is identical except it does not contain Type Range Override and Default Value or Inherited from a Network Variable. 2. Enter a name for the new network variable type or configuration property type in NV Name or CP Name. Network variable type names must start with the letters “UNVT.” Configuration property type names must start with the letters “UCPT.
3. Select the network variable or configuration property data type in Data Type. If you are defining a configuration property type, and the type depends on the type of a network variable that the configuration property type applies to, set Inherited From a Network Variable. You can use this to create a configuration property type that will be used in multiple functional profiles that require different types.
SIGNED_QUAD A 32-bit signed integer value. SIGNED_SHORT An 8-bit signed integer value. STRUCTURE A structure containing multiple fields. See Creating and Modifying a Structure or Union NV or CP Type. UNION A union containing multiple fields. See Creating and Modifying a Structure or Union NV or CP Type. UNSIGNED_CHAR An 8-bit unsigned character. UNSIGNED_LONG A 16-bit unsigned integer value. UNSIGNED_QUAD A 32-bit unsigned integer value. UNSIGNED_SHORT An 8-bit unsigned integer value. 4.
7. Enter or link to text to provide a language-dependent name for the type, a languagedependent comment about the type, and a language-dependent name of the units for the type (for example, “Celsius” or “Kilometers-per-Hour”). If you enter a new string, it is created as a new language string in the currently active language file (see Setting Resource Editor Options). You can later translate this string to other languages as described in Creating, Modifying, and Translating a Language File. 8.
11. Set scaling factors for this type. This allows types to represent values outside of the limits of the base type. For example, an UNSIGNED_SHORT data type can contain raw values between 0 and 255. By changing the scale, it could be used to represent values from 50-305, or from 0 to 510 (but contain only even values). The formula for converting the raw value to the scaled value is shown on the tab.
6. Set the individual values of the fields in the structure, union, or the floating-point value to the desired default or override value and then click OK to return to the browser. 7. Right-click the configuration property, and then click Change Format on the shortcut menu. The LonMaker Browser’s Change Format dialog appears. 8. Select Built-in Data Types from Format Files, then select Raw (Hex) from Formats Available, and then click OK to return to the browser.
To remove a field, right-click the field in the left pane, and then click Remove Field on the shortcut menu. Creating and Modifying an Enumerated NV or CP Type You can assign an enumerated type to a network variable type, configuration property type, or a field in a structure or union. To create an enumerated type, follow these steps: 1. If the enumeration type you will use does not already exist, create it as described in Creating and Modifying an Enumeration Type. 2.
Size The size of the bitfield, in bits, from 1 to 8. The bitfield size determines the maximum value the field can contain. An unsigned bitfield of W bits width can accept values 0..2W-1, a signed bitfield of width W can hold values -2W/2..+2W/2-1 Offset The offset of the bitfield within the byte. A full byte is always required regardless of how many bits in the bitfield are used. This value determines where in the byte the values will be set. This value can be from 0 to (8 – Size).
2. Set Type Scope to the scope of the resource file set containing the referenced network variable type. You can select a network variable type from the resource file set containing the network variable or configuration type you are creating, or from any resource file set with a numerically lower scope and matching program ID template.
dollar character is not permitted in a functional profile name. By convention, the functional profile name should indicate the application set of the profile, e.g. “SFPToccupancySensor”, or “UFPTturboCharger”. 3. Double-click the functional profile. The Modify Functional Profile dialog appears.
from the selected standard profile will be referenced by the functional profile (if there is no standard functional profile template with the same profile number, setting this option will have no effect). All inherited members will be displayed in pink, while new ones will be shown in light blue. You cannot remove any of the inherited network variables and configuration properties, but you can override them, or add additional network variables and configuration properties.
FPT Index The index of the functional profile within the resource file set. The FPT Key (the profile number) is typically used to reference the functional profile, not the FPT Index. Principal NV The name of the principal network variable. The principal network variable is used to determine the type of configuration properties that apply to the functional profile and that use an inherited type.
To add mandatory and optional network variables to a functional profile, follow these steps: 1. Drag a network variable type or configuration property type from the Resource (leftmost) pane to the appropriate in the Profile (center) pane. The Functional Profile pane contains the functional profile definition with Mandatory NVs, Optional NVs, Mandatory CPs, and Optional CPs folders for the network variables and configuration properties in the profile. 2. Select the new network variable to set options for it.
simplify identifying inputs and outputs in your functional profile. If you do not use one of these prefixes, start the network variable name with an initial capital and use mixed case for the name. 40 Member A member number for the network variable within the functional profile. Each network variable must have a unique member number. Member numbers may start with a “#” or “|” character. The “#” prefix identifies members within a user functional profile.
profile. See Creating and Modifying a Language String for more information on creating and linking to language strings. Referenced Type Range Override Value Minimum, maximum, and invalid values for the network variable member. A network variable member with a reference type can have a minimum and maximum range restriction that is more restrictive than the range restriction for the network variable type.
property of the same type that applies to the same interface within a functional profile. For example, you can create multiple SCPTmaxSendTime configuration properties that apply to different network variables, but you cannot create two SCPTmaxSendTime configuration properties that apply to the same network variable. You can, however, create an array of SCPTmaxSendTime configuration properties that apply to a single network variable. 2. Select the new configuration property to set options for it.
Member A member number of the configuration property within the functional profile. Each configuration property must have a unique member number. Member numbers may start with a “#” or “|” character. The “#” prefix identifies members within a user functional profile. The “|” prefix identifies member numbers in a scope 0 profile, both for scope 0 profiles as well as profiles with members that are inherited from a scope 0 profile.
profile may be set by the implementing property, unless this would cause an ambiguous restriction flag set. Applies To Specifies whether the configuration property applies to a network variable or the entire functional block. If the configuration property applies to a network variable, Applies To also specifies the specific network variable.
For example, your company may maintain several resource file sets at different scopes: a corporation wide set with general-purpose definitions at manufacturer scope (scope selector 3), and a second set with more specific resources at device class scope (scope selector 4). If the scope 4 resource file references any resources in the scope 3 resource file, the two resource file sets are known as cascading resource file sets.
2. Enter or change the name of the enumeration type in Tag Name. This name is called the tag name. By convention, the tag name is all lower case, with each word in the name separated by an underscore, and ending with “_t” (for example: count_control_t). Tag names are limited to 64 characters, including the “_t” suffix. You can use upper and lower case alphanumeric characters (though upper case is typically not used for tag names) and underscores.
Member The name of the enumerator. The name must be unique for all enumeration types that may be used in an application. To ensure uniqueness, select a unique prefix for each enumeration type. By convention, enumerator names use all upper case, with words separated by underscores (for example: DSIT_DRY_CONTACT). Enumerator names are limited to 64 characters, including the unique prefix. You can use upper and lower case alphanumeric characters (though lower case is typically not used) and underscores.
Creating and Modifying a Language String You can create and edit language strings that may be referenced by network variable types, configuration property types, enumeration types, functional profiles, and resource files. These strings are contained in a language file. Each resource file set contains a language file for each language it supports.
selected language resource file. See Setting Resource Editor Options for information about setting the active language. The New Resource String dialog appears. This dialog shows the name and scope of the selected language file and the index of the new string within that file. 3. Enter the text of the new language string into Resource String, and then click OK. You can also create a new string by copying an existing string. To copy a string, follow these steps: 1.
The title of the field may vary (this one is intended for entering comments about the resource file element being created), but there is always a text field, with New and Link buttons. To create a new language string, click New to create a new language string. The text string will automatically be saved in the active language file. To link to an existing language string, follow these steps: 1. Click Link. The Link dialog appears.
2. Type a string into Highlight Strings Containing This Text to have all strings containing the specified string highlighted.
You can also search for a language string when using the Link button in the Strings tab when creating or modifying a network variable or configuration property type, as shown in the following figure: 52 Creating and Modifying Resources
Creating, Modifying, and Translating a Language File You can create a new language file to hold language strings in a new language, you can edit language strings in a language file, and you can translate language strings in a language file to new language strings in a second language file. To create a new language file in a resource file set, follow these steps: 1. Right-click the Language Files folder and then click New Language File on the shortcut menu. The New Language File dialog appears. 2.
This figure shows the American English language resource file for the Echelon resource file set. 3. In the To box, select the language to which the strings in the language file are to be translated. When selecting a language that does not yet have a language file within the current resource file set, the Resource Editor will create generic strings for each language string resource that is listed in the Available Types pane.
You can export the selected language files to text files for use by translation services. To export the selected language files to text files, open the File menu and then click Export to Text. 5. Open the File menu and then click Save to save the changes. 6. Open the File menu and then click Exit to close the Translate dialog. Creating and Modifying a Resource Format You can create and modify formats for each network variable type or configuration property type.
3. Enter the following information: Network Variables Creates a network variable format. Configuration Properties Creates a configuration property format. Type Specification Name Specifies a type in the resource file set. Type ID Displays the index of the selected network variable or configuration property type within the resource file set. Base Type Displays the base type of the network variable or configuration property type.
network variable or configuration property type, but may not always conform to ANSI C language syntax. Modifier Specifies that one of the following modifiers is used: Localized – Time and date formats are determined by the settings on the user’s computer. If you are creating a format for a network variable type or configuration property type that contains the time or date, or requires a localized list separator, select this option.
int — The value will be displayed or entered as a signed, 32-bit integer. discrete — The value will be displayed or entered as an 8-bit value that contains either 0 or 1 for each bit. text(…) — The text format specifier can be used for data that is not a simple number (enumerations, strings, characters, and structures); for data that must be localized, scaled, or conditionally formatted; or where data formatted as text is preferred. The standard formats defined in STANDARD.
EXAMPLE 1: A simple integer that does not require localization, with a “%d” decimal conversion specification: SNVT_count: text("%d"); EXAMPLE 2: A simple floating point value that does not require localization, with a “%f” floatingpoint conversion specification: SNVT_count_f: text("%f"); EXAMPLE 3: A temperature value that must be displayed differently in US, SI, and US differential units, with a “%f” floating-point conversion specification and scaling factors: SNVT_temp#SI: text("%f", *1+0(0:854)); ! degre
= = ',' = '(' '?' ':' ')' = '(' ',' ')' = 'time' '(' < field spec string > ',' < field spec string > [',' < field spec string >] [',' < field spec string >] ')' = 'date' '(' ',' ',' ')' = '(' ')'
long, bitfield, or enum. You can use a backslash (‘\’) character as an escape character to include other format characters as text. For example, the following characters can be included in a format string: \% The % character. \\ The \ character. \" The " character. \| The | character. Using a Conditional Format You can use a conditional format to specify one of two different formats, where one format is selected when a value is formatted based on a conditional value.
Following are example formats using scaling factors. EXAMPLE 1: The following format definitions define SI and US formats for the SNVT_temp_f standard network variable type: SNVT_temp_f#SI: text("%f", *1+0(0:854)); ! degrees C SNVT_temp_f#US: text("%f", *1.8+32(0:855)); ! degrees F The SI format multiplies the value by 1 and adds 0 (i.e. shows the raw value) and appends “degrees C” (scope 0, string index 854). The US format multiplies the value by 1.
1. The time format specifier does not support AM/PM time formats, so this type of time format will be converted to a 24-hour format. 2. The time format specifier supports display of milliseconds, which is not defined in Windows time styles. If supplied, the milliseconds field will be appended to the seconds field, and separated from the seconds field by the Decimal Symbol character from the Number tab of the Regional Settings.
reflected in your new profile. See Creating and Editing a Functional Profile for more information. Removing and Obsoleting Resources Resources may reference other resources in the same resource file set or other resource file sets, so deleting a resource could impact other resources, even in resource file sets that you may no longer have loaded on your computer.
all deleted resources from the resource file. You must be careful not to purge a resource file that contains deleted resources that are in use by devices that you have shipped, and you must also be careful not to purge a resource file set that contains deleted resources that are referenced by other resources. To purge a resource file set, follow these steps: 1. Close all applications that may be using the resource files to be purged. This includes the NodeBuilder and LonMaker tools. 2.
File Type Format Version Initial release. 1.0 2 Added support for larger profiles and for marking profiles as obsolete. 2.0 3 Added support for inheriting profiles and for non-contiguous member numbers. 2.1 4 Added support for configuration property arrays and for deleting profiles. 2.2 1 Initial release. N/A 2 Added support for scale factors. N/A 3 Added support for language localization. N/A 1 Initial release. 1.0 2 Added support for larger language files. 2.
To convert the format of a resource file, follow these steps: 1. Click the Windows Start button, point to Programs, point to Echelon NodeBuilder, and then click Resource File Converter. The Resource Converter opens, as shown in the following figure: 2. Select the Resource File Set to be Converted. 3. Determine which files in the resource file set you want to convert. Set Convert Functional Profiles File, Convert Type File, and Convert Language Resource Files as desired. 4.
6. Click Convert. You may choose to convert and purge a resource file set at the same time. In this case, the source file will be purged, and then converted. You may also choose to convert a resource file without changing the format version (e.g., converting a type file from version 4 to version 4). Such a conversion enables some housekeeping work and errorchecking to be performed within the resource file, and may result in a resource file of a slightly different size.
6 Generating Resource Files This chapter describes how to generate resource files once you have made changes using the resource editor.
Generating Resource Files You can generate a resource file set at any time while editing a resource file set. If you have made any changes to a resource file set, you must generate the new resource file set before exiting the resource editor, otherwise your changes may be lost. You can only make changes to one resource file set at a time. Once you have made any changes to a resource file set, it becomes the active set. The active set is shown in the status bar at the bottom of the Resource Editor window.
This dialog displays the current versions of the type file, functional profile file, and the language files (File Name for the language file will contain the name of the language file for the language currently selected as the active language; see Setting Resource Editor Options, earlier in this chapter, for more information). The format file does not contain versioning information and is not listed. 3. Set the major and minor version numbers for each of these files.
See the Resource Report Generator User’s Guide for more information on creating resource reports, available from the Windows Start menu under Echelon NodeBuilder Software.
Appendix A Language File Extensions This appendix lists the file extensions used for language files.
Language File Extensions Network variable types, configuration property types, functional profiles, and enumeration types can all reference text information used to describe their name, units, and function. This text information is contained in separate language files. There is one language file for every language supported by a resource file set.
Appendix B NodeBuilder Resource Editor Software License Agreement When installing the NodeBuilder Resource Editor software, you must agree to the terms of the software license agreement detailed in this appendix.
NodeBuilder® Resource Editor NOTICE This is a legal agreement between you and Echelon Corporation (“Echelon”). YOU MUST READ AND AGREE TO THE TERMS OF THIS SOFTWARE LICENSE AGREEMENT BEFORE ANY LICENSED SOFTWARE CAN BE DOWNLOADED OR INSTALLED OR USED.
• “Standard Resource File” means a Resource File included as part of the Licensed Software. • “User Resource File” means a Resource File You create using the Licensed Software. • “You(r)” means licensee, i.e. the company, entity, or individual who has rightfully acquired the Licensed Software.
This license is not a sale. Title, copyrights and all other rights to the Licensed Software and any copy made by You remain with Echelon and its suppliers. Unauthorized copying of the Licensed Software or the accompanying documentation, or failure to comply with the above restrictions, will result in automatic termination of this license and will make available to Echelon other legal remedies. TERMINATION This license will continue until terminated.
THE SUPPLY OR USE OF THE LICENSED SOFTWARE, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY (INCLUDING WITHOUT LIMITATION NEGLIGENCE). THIS LIMITATION WILL APPLY EVEN IF ECHELON OR AN AUTHORIZED DISTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. EXCEPT TO THE EXTENT THAT LIABILITY MAY NOT BY LAW BE LIMITED OR EXCLUDED, IN NO EVENT SHALL ECHELON’S OR ITS SUPPLIERS’ LIABILITY EXCEED FIVE HUNDRED DOLLARS ($500).
SUPPORT You acknowledge that You shall either (i) inform the end-user that You are the support contact for the User Resource Files, and that Echelon will not support the User Resource Files, or (ii) inform the end-user that there will be no support for the User Resource Files.
Licensor is Echelon Corporation, 550 Meridian Avenue, San Jose, CA 95126. If You are not a LONMARK Member and wish to obtain license terms for use of the Licensed Software and distribution of Standard Resource Files and User Resource Files other than as permitted in this Agreement, contact Echelon, Attn: Sales). Echelon, LNS, LON, LonMaker, LONMARK, LonTalk, LONWORKS, Neuron, and NodeBuilder are registered trademarks of Echelon Corporation in the U.S. and other countries.
www.echelon.