Importing LON Devices from an LNS Network without IzoT CT

LON is not support for SmartServer Pi.

You can export LON device configuration information from a LON network created with IzoT Net Server to a SmartServer.  You must use IzoT Net Server 4.2 or a newer version, for this procedure.  Prior releases will not work.  To export LON devices from an LNS network using IzoT Net Server 4.2 or newer, follow these steps:

  1. Switch the SmartServer to LON Independent Management Mode (IMM) as described in (Optional) Switch From LON Management.  This procedure will not work with LON DMM.

  2. Enable the appropriate SmartServer network interface that you plan to use to connect to your IzoT CT network.

    1. For an RNI (remote network interface) connection using a U60, perform the following steps:
      1. Open the SmartServer Configuration page as described in Accessing the SmartServer Configuration PageThe Network tab appears as the default SmartServer Configuration page. Once the network settings are configured for the SmartServer system, then the System tab will appear as the default.


        Network tab



        System tab

      2. Click the LON tab.



      3. Check the Enabled box for the interface in question (e.g., lon0 in the RNI Configuration section).



      4. Click Update.



      5. Define a corresponding RNI connection in the LonWorks Interfaces Applet in the Control Panel.

    2. For an RNI (remote network interface) connection using a IP-70, perform the following steps:
      1. Open the SmartServer Configuration page as described in Accessing the SmartServer Configuration Page.



      2. Click the LON tab.



      3. Check the Enabled box for the Internal IP-70 Interface.



      4. Click Update



      5. Define a corresponding RNI connection in the LonWorks Interfaces Applet in the Control Panel.

    3. For an IP-852 connection, perform the following steps:
      1. Open the SmartServer Configuration page as described in Accessing the SmartServer Configuration PageThe Network tab appears as the default SmartServer Configuration page. Once the network settings are configured for the SmartServer system, then the System tab will appear as the default.


        Network tab



        System tab

      2. Click the LON tab.



      3. Check the Enabled box for the IP-852 Router on the required IP Interface (eth0 or eth1).



      4. Click Update.



      5. Add the SmartServer’s IP-852 router to the IP-852 channel in the IP-852 Configuration Server and update the channel members.

      6. Define the IP-852 interface for the PC that will access the network in the LonWorks Interfaces Applet in the Control Panel.

  3. Prior to running IzoT Net Export (INE), generate the XML resource files for any devices that you plan to export to the SmartServer that use custom resource files and import these files into the SmartServer.

    Although the INE utility can export the device XIF files from an existing LNS network to the SmartServer, it is generally more efficient to also import into the SmartServer any device XIF files for devices that you intend to export as well. In this case, you can then use the /skipfiles option when running INE to speed up the export process. For details on generating XML resource files, see (Optional) Creating IAP Resource Definitions (XML). XML resource files and XIF files can be bundled as device type package files (DTP) to simplify the importing process into the SmartServer.

  4. Launch the OpenLNS Object Browser and connect in engineered mode under Local Network Access.

  5. Select the Options menu and choose Allow Modifications, and perform the following steps using the OpenLNS Object Browser:
    1. Open the network in the OpenLNS Object Browser navigation tree under ObjectServer → Networks → {network name} → Systems → {network name}.

    2. Create a new subsystem containing all the devices that will be exported to a single SmartServer. If your network has multiple SmartServers, each SmartServer must be in a different subsystem, which means that you need to create separate subsystems for each SmartServer as follows:
      1. Navigate to ObjectServer → Networks → {network name} → Systems → {network name} → Subsystems → SubSystem1 → Subsystems
      2. Right-click and select Add
      3. Name the new subsystem. 

    3. Add a new, unique IP-70 channel to the network in a root subsystem (e.g. Subsystem1 for each SmartServer that will be added to the network) as follows:
      1. Navigate to {network name} → Channels.
      2. Right-click and select Add.
      3. Name the channel (e.g. IP-70, and manually enter 133 for the Transceiver).

    4. If your SmartServer will physically connect to the network using a U60 interface, then add an IP-70 to TP/FT-10 (or TP-1250) configured router to the network in Subsystem1 as follows:
      1. Navigate to {network name} → Systems → {network name} → Subsystems → SubSystem1 → RouterDevices.
      2. Right-click and select Add. The Near Side Ch. should be the IP-70 channel created in step #5c (drag and drop). The Far Side Ch. should be the channel that the U60 will be connected to (drag and drop). The Class should be LcaConfiguredRouter(0).

        or

    5. If your SmartServer will connect to the network using an IP-852 interface, then add an IP-70 to IP-852 configured router to the network in SubSystem1 as follows:
      1. Navigate to {network name} → Systems → {network name} → Subsystems → SubSystem1 → RouterDevices.
      2. Right-click and select Add. The Near Side Ch. should be the IP-852 channel (drag and drop). The Far Side Ch. should be the IP-70 channel created in step #5c (drag and drop). The Class should be LcaConfiguredRouter(0).

  6. Move the devices to be exported to a given SmartServer to the subsystem(s) created in step #5b as follows:

    All of the devices to be exported to a SmartServer must be in the same subsystem with the SmartServer, or in a subsystem contained within the subsystem with the SmartServer.

    Moving the devices to be exported in the OpenLNS Object Browser requires 1) adding a reference to each device in the new subsystem, and then 2) removing it from its existing subsystem. 


    1. Navigate to {network name} → Systems → {network name} → Subsystems → SubSystem1 → Subsystems → {export subsystem name} → AppDevices, right-click and select Add Reference

    2. Drag and drop a device to be moved into the AppDevice.

    3. Press Ok

    4. Repeat this process for every device to be moved. 

    5. Navigate to {network name} → Systems → {network name} → Subsystems → SubSystem1 → Subsystems → {original subsystem name} → AppDevices, right-click and select Remove

    6. Drag and drop a device that is being moved to the AppDevice.

    7. Press Ok

    8. Repeat this process for every device that you created a reference for in the subsystem to be exported.

  7. Add a SmartServer IoT device to the network into each new subsystem that will be exported to a SmartServer using the SmartServer IoT.xif file as the device interface as follows:

    The SmartServer IoT device should specify the correct IP-70 channel(s) created in step #5c.

    1.  In the OpenLNS Object Browser, navigate to {network name} → Systems → {network name} → TemplateLibrary → DeviceTemplates, right-click and select Add

    2. Name the device template SmartServer IoT IP70 and select LcaProgramTypeXif(1) as the Type

    3. Select the device template after it is created.

    4. Right-click and select Import.

    5. Browse to the SmartServer IoT.xif file and import it.

  8. Navigate to {network name} → Systems → {network name} → Subsystems → SubSystem1 → Subsystems → {export subsystem name} → AppDevices, right-click and select Add.
    1. Name the SmartServer device (e.g., SmartServer IoT). 

    2. Drag and drop the SmartServer IoT IP70 device template for the Device Template entry. 

    3. Drag and drop the IP-70 channel created in step #5c to the Channel property.

    4. Drag and drop the appropriate subnet into the Subnet property based on the IP-70 channel subnet.

  9. Close the LNS Object Browser and relaunch it.

  10. Under the Advanced tab, set the Management Mode to Propagate Configuration Updates

  11. Under the General tab, set the Local Network Access to Local.

  12. Set the appropriate network interface and uncheck Save as default

  13. Select the Options menu and choose Allow Modifications.
     
  14. If the network interface you are using differs from the original one in the network, then move the network interface to the correct channel using the LNS Object Browser as described in the following example scenario:
    1. For example, if you are using the IP-70 RNI, open the network in the OpenLNS Object Browser navigation tree under ObjectServer → Networks → {network name} → Systems → {network name}

    2. Under {network name} → Systems → {network name}, right-click and select StartTransaction, and then right-click and select BeginSession.

    3. Set the Session Type to LcaMoveSession(1)

    4. Navigate to {network name} → Systems → {network name} → Subsystems → SubSystem1 → AppDevices → OpenLNS Network Interface, right-click and select PreMove

    5. Drag and drop the IP-70 channel created in step #5c to the Channel property.

    6. Drag and drop the appropriate subnet into the Subnet property, based on the subnet of the IP-70 channel. 

    7. Under {network name} → Systems → {network name} → Subsystems → SubSystem1 → AppDevices → OpenLNS Network Interface, right-click and select PostMove

    8. Under {network name} → Systems → {network name}, right-click and select EndSession.

    9. Set the Session Type to LcaMoveSession(1)

    10. Under {network name} → Systems → {network name}, right-click and select CommitTransaction.

  15. Press the Service/Connect button in the LON tab on the SmartServer’s configuration web pages and capture the service pin messages in the running LNS Object Browser.

  16.  The program ID for the internal router added in step #5d or 5e is 8000010101010421. 
    1. Copy the associated Neuron ID. 

    2. Navigate to {network name}  Systems  {network name}  Subsystems  SubSystem1  RouterDevices

    3. Double-click the NeuronID field under the properties of the NearSide of the router that was previously added and update it.

    4. Right-click on the router device and select Commission to commission the router.

  17. The program ID for the SmartServer IoT device added in step #7 is 8000010102818501.
    1. Copy the associated Neuron ID. 

    2. Navigate to {network name} → Systems → {network name} → Subsystems → SubSystem1 → Subsystems → {export subsystem name} → AppDevices → {SmartServer IoT device name}

    3. Double-click the NeuronID field under the properties and update it. 

    4. Right-click on the SmartServer IoT device and select Commission to commission the device. 

    5. Under the properties for the newly commissioned SmartServer IoT device, select the State and change it from LcaStateSoftOffline(12) to LcaStateCnfgOnline(4).

  18. Close the LNS Object Browser.

  19. Relaunch the LNS Object Browser and connect with  Management Mode set to Don’t change and Local Network Access set to Engineered Mode

  20. Open the network in the OpenLNS Object Browser navigation tree under ObjectServer → Networks → {network name} → Systems → {network name}

  21. After the network is open, close the LNS Object Browser again.

  22. Click the IzoT Net Export Utility link to download the IzoT Net Export Utility and then move it to your LonWorks bin. This utility is in Program Files (x86)\LonWorks\bin by default, but may be in a different location on your computer.

  23. Use an SSH console application like PuTTY and log into the SmartServer using apollo credentials.

  24. Enter the following command, replacing {SID} with the Segment ID for your SmartServer, to temporarily take the lon.sys component Offnet.

    mosquitto_pub -t  glp/0/{SID}/rq/dev/lon/lon.sys/if/system/0/mode -m '{"value":"Offnet"}'
  25. Open a Windows console application as an administrator and run the IzoT Net Export utility with one of the following inex commands, depending on whether you are trying to export using standard mqtt or secure mqtts:

    /skipfiles option can be used if the device interface files (XIF files) were previously imported (see step #3).


    If you are exporting using standard mqtt with port 1883 enabled, then enter the following:

    inex /n:"<Network Database Name>" /e:"Target Subsystem"/mqtt://<SmartServer IP address or Hostname>/<Segment ID> /direct:ine /v /skipfiles


    If you are exporting using secure mqtts with port 8883 enabled, and are also using the SmartServer’s self-signed certificate, then enter the following:

    Secure mqtts requires that you access the SmartServer using the Hostname only.

    inex /n:"<Network Database Name>" /e:"Target Subsystem"/apollo:<Your Apollo Password>@mqtts://<SmartServer Hostname>/<Segment ID> /direct:ine /v /skipfiles


    If you are exporting using secure mqtts with port 8883 enabled, and are using a signed certificate, then enter the following:

    Secure mqtts requires that you access the SmartServer using the Hostname only. It also requires that you download the ca.pem certificate file from your SmartServer. See Importing LON Devices from an LNS Network. This example assumes you have placed a copy of the certificate file (ca.pem) in the same directory on your PC where IzoT Net Export is running.

    inex /n:"<Network Database Name>" /e:"Target Subsystem"/apollo:<Your Apollo Password>@mqtts://<SmartServer Hostname>/<Segment ID> /direct:ine /v /skipfiles /ca:ca.pem
    ParameterDescription
    Network Database NameLNS network name
    Target SubsystemLNS subsystem that you want to export
    Your Apollo PasswordThe specific apollo password for your SmartServer

    SmartServer IP or Hostname 

    SmartServer IP address or hostname. Secure mqtts only supports using the hostname.

    Segment IDInstall code that is printed on the SmartServer IoT label


    The IzoT Net Export tool supports a number of commands and options. For example, starting with IzoT Net Export 1.5, you can specify the /clear option to clear the LON devices defined in the target SmartServer and re-export all specified devices from the LON network. You can view a summary of available commands and switches by running the tool in a Windows console with the /help switch. If you specify a network name and export specification without a command, the IzoT Net Export tool defaults to execute the export command. Include double quotes for any arguments with spaces. For example, to specify subsystem 1 as the target subsystem, specify the name as "SubSystem1".

    SmartServer IoT device in SubSystem1 using standard mqtt
    inex /n:"myDrawing" /e:"SubSystem1"/mqtt://smartserver-17q3kd2/17q3kd2 /direct:ine /shortname /v /skipfiles
    SmartServer IoT device in SubSystem2, which is inside SubSystem1 using standard mqtt
    inex /n:"myDrawing" /e:"SubSystem1.SubSystem2"/mqtt://10.1.2.3/T6tWyfzj /direct:ine /shortname /v /skipfiles
    SmartServer IoT device in subsystem Exp, which is inside subsystem S1 using secure mqtts. In this example the SmartServer is also using a signed certificate
    inex /n:"myDrawing" /e:"S1.Exp"/apollo:myPassword@mqtts://smartserver-T6tWyfzj.echelon.cloud/T6tWyfzj /direct:ine /shortname /v /skipfiles /ca:ca.pem
  26. Use an SSH console application like PuTTY and log into the SmartServer using apollo credentials.

  27. Enter the following command, replacing {SID} with the Segment ID for your SmartServer, to take the lon.sys component back to Onnet.

    mosquitto_pub -t  glp/0/{SID}/rq/dev/lon/lon.sys/if/system/0/mode -m '{"value":" Onnet "}'


  28. You may need to reboot your SmartServer following the export process and may also need to Test any devices in the SmartServer’s CMS that are in the unprovisioned (blue) state to see them transition to provisioned (green) state.

  29. Repeat this procedure for each SmartServer in your network and repeat it for all SmartServers whenever you make changes to the LNS network.