Fields are the user configured points that an ezeio logs in onboard memory and sends to the Cloud. Up to 90 can be added per ezeio. These are typically mapped to inputs or outputs, but can be used to create counters, set points, constants, sums, differentials, averages, and more. The possibilities are truly endless. Each Field is evaluated every tenth of a second by the ezeio's Expression engine. The result can be visualize on Dashboards, trigger alarms, drive automation as well as being logged for historical reference. Each Field has a number of required and optional settings detailed below.

This table provides a view similar to the controller status table on the manage level. One of the purposes of the Fields page is to configure this version this version that is accessible by users with out “Edit ezeio privileges. The order the Fields are shown on both tables is manages here. By default the order is descending numerically. Below are descriptions of the table columns and their functions.

Multiple selection check boxes

Multiple Fields can be selected for modification by checking the corresponding box. (once selected) Left clicking the header at the top of this column will reveal several options, including; “set show on System tab” and “delete selected”. For most, clicking the desired option will apply the change. Clicking “Delete selected will bring up a dialog box to confirm.

Field number order

Clicking the header of this column toggles between ascending and descending number order (up & down arrows may be visible). If set to alphabetical listing by Field name, clicking the banner will also return the list to number order. Fields may also be moved up or down the order individually, using the up & down arrow icons running down the left side of the column. Simply, Left click-Hold and drag to the desired location, then release. Clicking in the name or number banner will return to alpha / numeric order.


Clicking in the header of the Name column will reorder the Fields in alphabetical order. Clicking in the header a second time will flip the listing to ascending order. When Fields are added from the Devices page, the default name is a pairing of the user defined device name and the driver defined register name. When adding a Field manually the name must also be added manually by the user. Whether generated automatically or entered manually the name can always be edited by a user with adequate privileges'.


If a Field has an asset tag or asset tags as part of its configuration, they will appear in this column.


This column can display the value of a Field in graphical, text, numeric, or unit interpretations of the Fields value. See “Display in format in view” for available formats.


This column displays the result of the Fields “Data expression”.


This column displays the unit entered or selected, in the Fields settings, for the corresponding value.

As discussed at the beginning of this page a Field is a user defined data point logged by an ezeio. What is logged, how it is logged, and how it is presented, is controlled by a Fields configuration. Below are descriptions of the available settings and there functions.


The name/text entered here appears on the Fields table and ezeio Status table. It can also be sent in alarm messages by using the “Message template tag” [FN#]. The tag [F#] also includes the Field name, along with the Field's value and unit.


This user defined text is shown on the Fields table, controller “Status” table, linked Widgets and “Message template tags” [FU#] & [F#].

Asset Tag

Enter nicknames or codes here, separated by a comma. These “Tags” are an alternate means of referencing one or more Fields and utilized in message templates, some dashboard Widgets and anywhere expressions are used (Fields, alarms, alarm & restore actions, timers). Asset tags can be user defined and/or generated by a device driver. They can be unique such as “HVACload” or generic such as “load”. Asset tags should be kept short, starting with a letter, and containing no special characters or spaces. The asset tags are entered on the Field's configuration, for example as: HVACload and referenced in an expression or message template as: <HVACload>

It is common for hundreds controllers to be used for the same purpose across an account. The configuration could be identical or utilize different devices for the same purpose. For example: a fleet of engine driven pumps. The size, design and manufacture may vary, but they all use fuel, oil, coolant, and pump fluid. Assigning an asset tag for each of the common data points allows them to be easily reference regardless of their Field number.

Within an expression, the asset tag is synonymous to the Field number expression. For example, if HVACload is the asset tag in Field #3, <HVACload> would replace f(3) in an expression. Both represent the Field's value.

When reference by an Aggregating dashboard Widget, all the Fields (from controllers in the dashboards group and below it on the group tree) a with the same generic asset tag will be included or evaluated in the aggregation.

Within a message template the asset tag replaces the Field number in these “Message template tags” [FV#], [FU#], [FN#] and [F#]. Example: [F<HVACload>]

Decimals selector

Clicking plus or minus will add or remove decimal points to the value of the Field. If the result of the Field's data expression has more resolution than can be displayed with the selected number of decimal points the number will be rounded.

Minimum & Maximum

The range established here is used by Dashboard Widgets and the “linear gauge” display format in the view column of the Fields table.

Display format in view

Name Description Example
Blank No graphic or text shown
Number same value as shown in “Value” column Tip: required setting for manually inputting value
Feet as Feet and inches Converts decimal values to inches 6.75 = 6 feet, 9 inches
Pounds as Pounds and ounces Converts decimal values to ounces 6.75 = 6 lbs., 12 oz.
Seconds as Minute and seconds Minutes as a decimal are converted to Minutes and Seconds 72.5 = 72min 30s
Hours as Hours and minutes Hours as a decimal are converted to Hours and Minutes 72.5 = 72h 30min
Seconds as Days, Hours, Minutes and Seconds Convert seconds to 6958745 = 80d 12h
Degrees as direction #s from 1 to 360 are shown as compass directions 235 = Southeast
EPOCH as local time Converts EPOCH (RTC()) seconds to time stamp 1609419599 = 12/31/2020 23:59 PM
Switch on / off switch, click to toggle, When referencing an output, on = 100%
Linear gauge displays percentage of min - max range as green bar graph

Data expression The value of a field is determined by the Field's “Data expression”. The expression works just like a calculated cell in a spreadsheet. The simplest expression is a constant, like 1234 or 89.02, but more commonly the field expression will be used to map the Field to a data source by referencing a register, for example r(3,4). If there is a Device driver #3, with 4 or more registers, the value of its 4th register will populate the Field.

All field expressions are re-evaluated at a constant rate of ten (10) times per second.

Expressions can include math, like r(3,4)+45. As you would expect, the field value will now be 45 greater than the register value.

You may also use values from multiple registers: r(3,4)-r(2,18) This example a creates a differential.

Fields can also reference other fields: f(19), or abs(f(2)-f(3)) The second example will show a differential as an absolute value.

A more advanced example calculates temperature (in °C) from a thermistor (r(1,1) in Ohms), using the Steinhart-Hart equation: 1/(0.00112530885+0.00023471186*ln(r(1,1))+0.00000008566*ln(r(1,1)))-273.15

Another useful example is to use a field as a run-time counter. Because the field value is re-calculated 10 times per second, we can increment the field value based on some other condition. For example, if we want to monitor the time a switch on field #3 is ON (>50), we can use the following expression on a new field: f(THIS) + (f(3)>50)*0.1.

The logic condition (f(3)>50) will evaluate to either 0 (false) or 1 (true). Because the field updates 10 times per second, we multiply this with 0.1 before adding it to the current value of our counter field.

Please refer to the expression reference for the syntax and all the available functions.

Reverse expression

This setting is optional and left blank for most applications.

Log interval

The default log interval of 10 minutes is included with basic service. Two upgrades to the logging service are available, “Logging down to 1 minute” (includes 1, 2, & 5 minute intervals) and “logging down to 5 seconds” (includes 5 & 15 second intervals).

Log method

Several different logging methods are available.

Method Description
Snapshot Captures a single value at the log interval
Mean (average) Calculates the average of all the samples taken over the interval
Minimum Records the lowest sample value over the interval
Maximum Records the highest sample value over the interval
Extreme Calculates the average and records the sample furthest from the average
Trend Calculates a slope value for the samples taken within the processing interval (see “Processing speed”)

Process speed

This setting is only accessible when Trend is selected as the “Log method”.

Is active (check box)

This box is checked by default. Un-checking it will disable logging for the Field

Writable (check box)

Continuous write (check box)

Show on system tab (check box)

Checking this box will make the Field appear on the controller status table, found under the Manage screen's Systems tab.

  • ezeio2/configuration/fields.txt
  • Last modified: 2021-05-10 17:35
  • by andreh