Import alarms: CSV file structure

Activate Cloud Notify and set up a data source

This article assumes you’ve already set up a data source (including variables). View our corresponding guides if you haven’t yet.

The import function in Cloud Notify is, together with the export function, built to easily and effortlessly copy alarms from one device to another. Additionally, you can use the import function to prepare alarms in a CSV file and load them all at once into your Cloud Notify app.

How to: export and import alarms

View the “Set up alarms“-guide about the actual steps of exporting and importing a CSV file.

CSV file structure

The structure of the CSV file need to be correct for the import function to work properly. The headers (first row) of column 1-8 should look like this:

TypeNameSeverityAddressConditionThresholdOn delayOperator instructions

Each column represents a different setting and these are all explained below. You can easily navigate to the desired section by pressing the corresponding header above.

Tip: an easy template

You can quickly and easily create a template by first creating a single alarm using the X4 remote interface and then exporting this alarm to a CSV file.


This is the alarm type. SMTP based alarms have type “unary“. All other alarms, since they’re a triggered based event (true or false), have type “boolean“.


You can name the alarms freely. It is advised to enter a very brief description of the alarm, i.e. “emergency stop zone B”.


There are three severity options to choose from:

  • High: for critical alarms
  • Medium: for important alarms
  • Low: for “nice to know” alarms


Here you enter the variable address for which the alarm is meant for. The address is fully explained in the “Import variables” article. Below you will find an example address of every supported protocol.

ProtocolExample address
Digital inputGPIO::

The table below lists all options if you’re looking to add localhost alarms that alert you when the x500 IoT gateway’s own connection has been lost. Details on the connection types can be found here: VPN and MQTT connection – What are they.

ProtocolExample address
VPN connection__vpn_connected__
MQTT connection__mqtt_connected__
MQTT logger connection__mqtt_ixlogger_connected__


Here you enter the logical operator of your alarm trigger condition. These are listed in the table below, including support per data type.

Online (X4 remote)Offline (CSV file)BooleanStringFloatInteger
Equal to==
Not equal to!=
Smaller than<
Smaller than or equal to<=
Greater than>
Greater than or equal to>=


Here you enter the threshold of your alarm trigger condition. This is the variable value at, below, or above which the alarm is triggered, depending on the condition. The table below shows the available options and examples per data type.

Variable typeOptionsExample value
Boolean“TRUE” or “FALSE”TRUE
StringPlain text“emergency stop ON”
FloatNumber with decimal point2.55
IntegerWhole numbers3

On delay

In some cases it may only be important to trigger an alarm when the condition is met for a specific time period, i.e. if a temperature exceeds 800°C for longer than 5 minutes. These “5 minutes” can be set here in milliseconds.

No delay

Enter 0 if you do not wish to use this setting.

Online (X4 remote)Offline (CSV file)
Over a periodOn delay
0 seconds0
1 second1000
1 minute60000
1 hour3600000

Localhost alarms are triggered when the condition has been met for at least 1 hour. The delay is set in hours, unlike other alarms, which are set in milliseconds.

Online (X4 remote)Offline (CSV file)
Over a periodOn delay
1 hour1
3 hours3

Operator instructions

Here you enter the text message, instructions, and any additional information that is important to be enclosed with the alarm.