Machine Variables
Firmware distinctive variables for reading and writing values and parameters
Last updated
Firmware distinctive variables for reading and writing values and parameters
Last updated
Machine variables are essentially firmware properties, so you need to create a firmware first to be able to manage its variables.
To access the firmware variables click on the firmware version to enter its details view.
Open the firmware details page to manage firmware variables. Here you can add variables, one by one, from within dedicated tab by type: Metrics, States, Events, Configuration. Click + Add variable button to perform this operation (pic. below pos. 1)
A faster and easier way to add machine variables is to import a csv file via the import Variables button. This csv file must contain the entire set of machine variables that firmware needs (pic. below pos 2)
Pay attention: every import operation erase old variables!
Export Variables will download the current variables in csv Get Sample Data will download a generic set of sample variables More info about machine variables at https://things5.readme.io/reference
You may want to identify some variables as a HACCP report items. Flag the checkbox in Haccp column to include variable in this report.
To edit this attribute, the model of the firmware, must have the "HACCP enabled" checkbox checked! (see Add new model)
Variables may be configured to be included only when a particular condition is met, using the gear icon next to the checkbox:
Metric variable can be visible always, never or only when a specific State is set
State variable can be visible always, never or only when it assumes a particular value
Event variable can be visible always or never (no gear icon)
Event variables may have three different level of severity, changed with the drop-down menu: alarm, warning or info. Severity is a mandatory field.
In the "Event log" section, severity level is shown by its icon, shown in the Type column
alarm-type events are extracted from the whole set of events and shown in the overview page as "latest alarms" in last 24 hours by default
Here below a sample set of data for machine variables. File is available here
ui_unit is optional and it is required only when one is different from the other.
Columns are for specific purpose and can have specific type and value of data
Beside the most common measurement units, we also provide some special ones to allow data to be sent in such a "custom" form.
A modbus workaround for example, consist to multiply a value by 10 to get the tenth part of the measure: that means that the value 123 represents the real value 12,3
These special ones are:
All four examples here above are shown with labels ("temperature setpoint" and "Time Tracker") that are different from relative variable name (temp and onLineTimeCounter). To do so, you must set translations uploading a translation file in where you tell Things 5 how to show any variable name or variable value depending on user interface language preferences. Follow instructions in "Variables translations" guide's section.
Field | Type | Description | Value (can be) |
---|---|---|---|
Simbol | System behavior |
---|---|
name
string
name of the variable
any
type
string
variable type
string, integer, float
unit
string
original data unit of measure
One of the available UM
ui_unit
string
display unit of measure
One of the available UM
writable
boolean
when value is "true", variable can be written
true , false
min
integer,
float
the minimum value the variable can assume
a number
max
integer,
float
the maximum value the variable can assume
a number
category
string
used only for configuration variables. It's used on the frontend to group variables together like "Settings" and "General" grouping
any
source
string
name of the asset
metrics, states, events, configuration
severity
string
event severity level
alert, warning, info
hh:mm:ss
value is read as a number of seconds, and is printed as a time string using the format hh:mm:ss
1/10 °C
value is read as a number of tenths of a Celsius degree and is printed divided by 10 to represent a number of Celsius degree e.g. 123 °C/10 is 12,3 °C
1/10 °F
value is read as a number of tenths of a Fahrenheit degree and is printed divided by 10 to represent a number of Fahrenheit degree e.g. 541 °F/10 is 54,1 °F
1/10 K
value is read as a number of tenths of Kelvin and is printed divided by 10 to represent a number of Kelvin e.g. 2854 K/10 is 285,45 K
1/10 pH
value is read as a number of tenths of ph and is printed divided by 10 to represent a number of ph e.g. 67 ph/10 is 6,7 ph
1/100 pH
value is read as a number of tenths of ph and is printed divided by 100 to represent a number of ph e.g. 678 ph/100 is 6,78 ph
1/10 V
value is read as a number of tenths of Voltand is printed divided by 10 to represent a number of Volt e.g. 123 V/10 is 12,3 V
1/10 kW
value is read as a number of tenths of kW and is printed divided by 10 to represent a number of kW e.g. 123 kW/10 is 12,3 kW
1/10 bar
value is read as a number of tenths of bar and is printed divided by 10 to represent a number of bar e.g. 123 bar/10 is 12,3 bar
1/10 barg
value is read as a number of tenths of barg and is printed divided by 10 to represent a number of barg e.g. 12 barg/10 is 1,2 barg
1/100 barg
value is read as a number of tenths of barg and is printed divided by 100 to represent a number of barg e.g. 123 barg/100 is 1,23 barg