Lonworks SNVTS

Our new Lonworks product is, by definition, pretty different than anything else that we’ve ever attempted. I hate to say it but it is more complex because the Lonworks network is in some ways more complex than most of the other networks we support.

Everyone knows I hate complexity and crusade against it. I’m going to try to tell you today how we’ve tried to simplify this beast but first a little background.

Lon is different than most everything we do because the data on the network is predefined (and type limited). There are about 100 SNVTs (Standard Network Variable Types). These guys are the predefined types of variables that can exist on the network. They are the only pieces of data a device can send or receive over the network.

For example, there is a variable type called continuous level for metering applications. A device can send or receive variable(s) of that particular type. What’s cool about that is that since the type is well known there is little confusion about the byte order, data range and all the other variable attributes. It’s all fixed.

Now, if a device is monitoring 3 levels, it can make 3 variables available on the network of type Continuous Level. One, three or thirty Lon devices can receive those levels whenever they are published by the monitoring device.

The Lon Integration tool, LonMaker, provides the system integrator with the ability to connect input variables in one device to output variables in another device. That process is called a network binding.

LonMaker is the enforcer on the network. It makes sure that you don’t blindly bind a temperature to a pressure.

Once the binding happens, any changes to an output variable in the node originating the data are reflected in the input variable(s) bound to that output variable. So, if a Level X1 variable (Continuous Level type) is published with a level of 30, that value is passed to the nodes with input variables bound to the Level X1 variable. And that might for example, trigger one of the devices receiving that data to open a valve or start a heating process or whatever.

So, how does our gateway going to handle the Lon universe of hundreds of variables of up to 100 different types?

Again, we’ve tried to make it easy. We’ve come up with a small set of configurations that support different types of applications. For example, we example we have a temperature group. The temperature group has 22 input variables and 22 output variables of various types that you might use in an application.

Here’s the list of our basic configurations with the number and types of SNVTs in that configuration. The SNVT number is in parenthesis:

  2 Input/2 Output Vars SNVT_abs_humid (160)
  2 Input/2 Output Vars SNVT_ph (125)
  2 Input/2 Output Vars SNVT_ph_f (126)
  2 Input/2 Output Vars SNVT_temp (39)
  2 Input/2 Output Vars SNVT_temp_diff_p (147)
  5 Input/2 Output Vars SNVT_temp_f (63)
  2 Input/2 Output Vars SNVT_temp_p (105)
  5 Input/2 Output Vars SNVT_temp_setpt (106)


  2 Input/2 Output Vars SNVT_amp (1)
  2 Input/2 Output Vars SNVT_amp_ac (139)
  2 Input/2 Output Vars SNVT_amp_f (48)
  2 Input/2 Output Vars SNVT_amp_mil (2)
  2 Input/2 Output Vars SNVT_volt (44)
  2 Input/2 Output Vars SNVT_volt_ac (138)
  2 Input/2 Output Vars SNVT_volt_dbmv (45)
  2 Input/2 Output Vars SNVT_volt_f (66)
  2 Input/2 Output Vars SNVT_volt_kilo (46)
  2 Input/2 Output Vars SNVT_volt_mil (47)


  2 Input/2 Output Vars SNVT_elec_kwh (13)
  2 Input/2 Output Vars SNVT_elec_kwh_l (146)
  2 Input/2 Output Vars SNVT_elec_whr (14)
  2 Input/2 Output Vars SNVT_elec_whr_f (68)
  2 Input/2 Output Vars SNVT_power (27)
  2 Input/2 Output Vars SNVT_power_f (57)
  2 Input/2 Output Vars SNVT_pwr_fact (98)
  2 Input/2 Output Vars SNVT_pwr_fact_f (99)


  2 Input/2 Output Vars SNVT_lev_cont (21)
  2 Input/2 Output Vars SNVT_lev_cont_f (55)
  2 Input/2 Output Vars SNVT_lev_disc (22)
  2 Input/2 Output Vars SNVT_lev_percent (81)


Our goal is to make this easy on you to move data between a Lon device and some other network. So, please understand that this list is only our starting point. If you or another one of our customers needs ten input temperatures for an application we will change the configuration.

We’ll either expand the default configuration (we’ll never reduce it and obsolete a working application) or we’ll create a configuration just for your application.

So, for you Lon devotees out there, do these configurations make sense? Is this something that you can use? I’ll be looking forward to your feedback.