Fields

What is a Field?

In the Datacake Cloud the measured values of your devices are stored in so-called fields. These are "fields" in our time series database. Depending on your subscription plan, a certain number of fields can be created per device.

Creating a new Field

To create your own field, open any device and navigate to its configuration area using the tab bar.

There you scroll down a little until you see the "Fields" panel:

Just click on the blue button "Add Field" to create a new field. The following dialog should appear:

Name

This is the displayed, readable name as it can be used in the portal, e.g. to give widgets on dashboards a title or in other places.

You can change this name at any time later.

Identifier

The identifier is a unique designation that is used for storing data in the database.

Once the field is created, the identifier cannot be changed. If you still want to change it, you must delete the field.

Types

We support following field-types:

Integer

Stores integers like 1234567.

Float

Stores numbers with decimal places, even floating point, such as 1234.56. This type is suitable for storing values with decimal places, such as

  • Temperature

  • Pressure

  • Air quality

String

Save complete character strings. like Sensor OK, Your own payload information, A83B8CFH38420. These are being stored unprocessed in the database including a timestamp.

Use this data type to store e.g.:

  • status messages

  • events

  • Your own payload data

In addition, strings can be used in conjunction with mapping fields to convert numeric sensor values into a status via look-up table.

Boolean

Via Boolean fields you can store measured values of digital signals that are either only 0 or 1, or True or False. Use these for:

  • Status-Signals of digital Inputs

  • True / False conditions

  • Events

Counter

You can use a counter field to measure the relative change of an absolute value over time.

Every time a measurement is transmitted, we calculate and store the relative change to the previous recorded value.

If the change is negative, i.e. the transferred value is smaller than the previously transferred value, we assume that the counter has re-started counting from 0 and store the transmitted value instead of the relative change.

This ensures that we can display the consumption as a relative change even after resetting an external meter source.

A counter field can only be used to measure positive changes. If you want to measure a negative change, you must first invert the measurement using a mapping field and a negative scaling factor (for example, -1).

How that works

The counter field expects a rising value. Typically, this is consumption, such as in an electricity meter or flow meter. But also number of events, i.e. basically the counter can be used wherever something has to be counted.

A further function of the counter is the recognition of a counter reset. Let us assume that you send a power consumption to your counter field. Every day, this counter starts at the new value 0, even if the value was 10.000 the day before (as an example).

The counter field detects this reset and extracts it from the total value, so you always have a continuous consumption.

Negative Values

You can also use the counter field to enter a negative consumption. This is the case, for example, if you store a filling level as a value in a float field.

Here you create a mapping field parallel to the float field, which then has the type "Counter". The mapping field will then ask you which factor you want to use for the conversion. Here you simply enter the value -1.

The background is that the counter-field expects a positive increase in change. With a negative one it currently assumes a reset. With the factorization of -1 the negative change is inverted and becomes a positive change (even if the value is negative from now on).

What can you do with counters?

Well. Quite a lot. On the dashboard you can use a chart widget as an example to show the relative consumption with a counter field. This will look something like the following example (shows energy consumption of an electricity meter - recorded via counter field and the electricity meter only provides the absolute value):

You can define the time axis yourself and also the resolution. In the example above, the "Daily Consumption" diagram shows a bar showing the consumption for half an hour at a time. One bar thus corresponds to the consumption for half an hour.

To change this scale, you can simply change the resolution from half an hour to another range (e.g. 1 minute or 3 hours, so also 1 day, etc.). All this dynamic time range and information is store within your Counter-Fields.

GEO / Location

This field type stores geolocation coordinates, which are provided by GPS modules, for example, and can be used to display positions on maps.

If you choose to store coordinates using a location field, the field expects you to deliver the data as a string and formatted as follows:

"(latitude,longitude)" // Structure
"(52.0123,4.124521)" // Example

Unit

Use the input field to define the unit of the measured values that are being recorded into that field. Thanks to a free text field, you can define any units here, whether °C, PPM, Bar, Fahrenheit or cake, biscuits, whatever.

Conversion

You want to convert units into another one? No problem! Use mapping fields for the conversion of your measurement values via scaling, look-up table or linear scaling of a value range. Use Formula Option of a field to do simple mathematical operations.

Formula

Each field has the function of a formula. Here, simple mathematical operations can be used to combine measured values from other fields or to perform special calculations. More on this topic is given in the following section:

​