Table of Contents

Progressive Web App

Vision 42 ® is a progressive web app. This means it can be installed on your pc, smartphone, and tablet. Installed apps have these benefits:

State engine

Vision 42 keeps track of its internal state and even unlocks the state through its URL. This results in some powerful features:

Always up-to-date

When necessary, any visible information in the app will be automatically refreshed, after 15 seconds at most. This refresh will be delayed for elements the user is interacting with. For most elements, the focus will be used to determine this. For instance, a cursor in an editable input field will pause refreshing. For maps, this is an open plot window. Mind that it is not easy to keep all information up-to-date and to never disturb the user in the process.

Sign in

QA environment

If you do not want to pollute the production environment with test data, you can use the QA environment at (Quality Assurance). Note that data in QA will be overwritten daily by production data.

In QA, you can try things out with impunity. This is especially useful for new project files or for trying out new data formats. Large reports can be run in this QA-environment, without impact on production performance.

Password managers

Vision 42 deliberately integrates well with password managers. We strongly advise to fully make use of a password manager. It can generate a strong random password, which it will remember and even fill in for you. Many password managers can even function across devices. A quick start is to use the Google Password Manager that is built into our recommended browser, Google Chrome.

Remark: In the rare case where you have to access Vision 42 instances of two different customers, make use of different domains in the URLs - for example and If not, a password manager can get confused, because it only can handle a single cryptographically encoded password per domain (and per account).


Signing in will persist until the local storage is cleared by the browser. This is a deliberate choice of a large convenience gain over a tiny security loss.

We strongly advise against signing in on a public or untrusted device. Should you do so anyhow, make sure to sign out. Closing the Vision 42 tab or window will not sign you out.

Identity and access management

The authentication and authorization mechanisms of Vision 42 can be replaced by an OAuth2 integration with an external identity and access management (IAM) system. This may be your own IAM-platform or that of a third party like Google, LinkedIn, Facebook, and countless others. User properties and even roles can be synchronized.

The following limitations apply:

User section

Your language

At the time of writing, Vision 42 is available in five languages:

The default is automatic, which matches the language of your browser. Switching languages does not require signing off.

Your password

Enter a new password twice, to change it. The strength has to be 50% at least, as indicated by the gauge.

The minimum length is six. Passwords that have a mixed case, are longer, or contain a special character will be rated stronger. Trivial text will be rated weak.

Your picture

Vision 42 supports Gravatar (globally recognized avatar) for profile pictures:

Alternatively, you may paste the URL of a profile picture on the Internet.

Your print

Set your preferred page size, orientation, and margin here. The default is an A4 portrait with a 10 mm margin. These settings will be remembered per device.

Your notifications

Using this table, you can subscribe to notifications on a per-project basis. There is a choice for receiving outage alerts or not. Message subjects will be prefixed with [alert] or [outage], to facilitate classification rules.

Vision 42 aims to send you as few messages as possible:

The body of an alert message includes:

Subject: [alert] Example project

BH-11: green -> red (level = -1.96 > -2 m)

BH-42: green -> yellow + outage (level = -1.8 > -2 m & 63 min lag)

BH-50: yellow -> green

Email will be sent by blind carbon copy (bcc), out of privacy considerations. Only an explicit opt-in mechanism has been made available. Subscribing someone other than yourself, is not easy on purpose.

Your KML

Information in your Vision 42 database can be integrated with any application that supports the Open Geospatial Consortium (OGC) Keyhole Markup Language (KML) standard:

It suffices to download and open a special KML file once. Note the file is compressed, as indicated by the .kmz extension. Do not share this file, as it has access to Vision 42 in your name. In case of unauthorized access, just change your password.

The KML integration will display and synchronize this sensor information automatically:

The field-of-view of the camera will be taken into account. You can filter further on one or more instrument types.

Note the application's altitude datum may differ slightly from the local datum. The latter is typically country-specific and dependent on a mean sea level. Vision 42 facilitates this:

For performance and clutter reasons, only 100 instruments will be shown at a time. Zooming in will reveal more instruments per area, of course.

Tip: You can open KML files from multiple Vision 42 instances simultaneously.

Map section

In reading order, you will find the following controls:


This controls the map background: satellite or aerial imagery, a classic map, display labels or not. Additionally, any Web Map Service defined in the setup section can be selected and viewed here.

Projects and instrument types

These lists dynamically show which projects and instrument types are located within the map boundaries. Select one or more projects or instrument types to filter the instrument markers and pan / zoom the map accordingly.

Tip: The search function of the browser can be used throughout Vision 42. For most computers, its keyboard shortcut is Ctrl + F. For Apple computers, this is ⌘ F. In the Map section, this can be especially useful to quickly select a project by part of its name or code.


The edit mode can be used by administrators to position instruments visually on the map.

Field navigation

This button toggles the navigation mode, which locks the map to your device location. This is especially useful for field engineers. The button icon can indicate several conditions:


This button lets you export the data within the map boundaries to a gpx-file (GPS Exchange Format), which is automatically or easily opened with a navigation app.


This arrow always points north. It is the only map control that will be included on prints. Clicking this button will reset the heading and tilt of the map.

Google Maps

Clicking the Google logo in the bottom-left corner, will take you to the same location in Google Maps. This comes in handy for navigation / route purposes: just right click and choose route to this point.

Street View

The Pegman icon can be dragged onto roads. This will open Street View with an integrated instrument layer. You can even open plot windows, just like on the map. On smartphones and tablets, this integration functions as augmented reality.


The + and - buttons will zoom the map in or out, in discrete steps. Using a scroll wheel (mouse) or a pinch gesture (touch), will zoom fractionally.


The ˄ button will toggle a sliding footer, containing an opacity slider and optional overlays.

Note: This type of overlay is deprecated and will be removed in the future.

Instrument markers

The markers on the map indicate instrument locations and names. Their color denotes their alert status: green, yellow, or red. Keeping severity in mind, red will take precedence over yellow.

A stop symbol ■ stands for an outage; measurements were expected, but did not arrive. A blank white marker indicates an idle instrument, either one without data or one excluded from import.

By default, outage detection is performed by artificial intelligence (AI). New sensors will be trained briefly. The outage detection is adaptive, taking both changed behavior and recent outages into account.

Per instrument, a manual override of automatic detection is available. This can be useful for intermittent measurements, like a total station in foggy conditions.

3D buildings and camera

Any map can be tilted and rotated, to change the camera position. Do to so, use Shift + drag (mouse) or two-finger swipe (touch). Zoom in on regular maps to see the buildings in 3D.

Businesses are hidden

In urbanized areas, like city centers, the map could become quite cluttered. Of course you could turn off the labels and end up with satellite imagery and nothing else. Granular hiding of businesses (bars, restaurants, retail, ...) has made the map much less crowded, while retaining street names and other useful information such as metro stations, schools (traffic congestion) and the like.

Note: Due to a bug in Google Maps, a hybrid map may still display businesses.

KML layers

The Vision 42 team can add your KML or KMZ layers to the map. Please create a ticket to do so.

Note: These restrictions apply.

Tunnel boring machines

Tunnel boring machines will be indicated by a specific icon. Their locations can be updated automatically and in real time.

Tunnel boring machine

Plot section

Open data as spreadsheet

All plots and most tables have an Open spreadsheet button. It lets you export the current table or the data of the current plot to a csv-file (comma-separated value), which is automatically or easily opened with any spreadsheet application, like Microsoft Excel.

Alert zones

When a plot contains alert zones, a ! button will appear. Pressing that exclamation mark will automatically scale the plot, so all alert zones are in view.

Hiding series

By clicking on a legend entry, the corresponding series will be plotted alone. Add more series by clicking more entries. Click any colored entry again, to display all series.

Plot menu

Left click or tap any value point to open the plot menu. To close it, click outside the menu or press the escape key. Dependent on the context, the plot menu may contain these actions:

Some actions can be applied on time ranges, using the following menu options:

Vertical measurements

By default, Vision 42 will plot a profile in the conventional way; with the x-axis pointing right and the y-axis pointing up. Vertical measurements will be plotted vertically, with an optional ground level indication. The orientations of the x-axis and the multiple y-axes will be set automatically, based on the metadata information received. Here are some examples, with the name of the vertical axis mentioned between brackets:

Vision 42 was designed to function fully automatically and in real time. Usually, the loggers or instruments send their data directly to us, or the app will fetch them from somewhere. Next the cumulative profiles ​​of the above inclinometers will be calculated, for example. Plotting of values relative to a dynamic instrument datum is embedded in the application, as well is recalculation to absolute levels in mASL.

Inclinometer checksums will not be plotted by default, nor will their depths show up. This behavior can be controlled by the do-not-plot flag.

In-place inclinometers

For the sake of traceability, Vision 42 will make use of the original vertex numbers in the IPI file. The (excluded) angles and the temperatures are being measured on those vertices. As is the case for inclinometers, the top angle measurement will have a relative depth of zero. This way, the relative depths will correspond to the depth values in the data files, if any.

The calculated cumulative profile contains an extra value, the zero origin. It begins half a gauge deeper and ends half a gauge higher, while the intermediate vertices fall between the angles. These interlaced vertices will be numbered higher, following the original vertices.

Invalid measurements

Invalid measurements:

Marking measurements as invalid has the advantage over deleting, in that they do not return when one reimports data. Invalid measurements will only become deleted using Delete file or Delete series in the plot menu.

For profile data, marking a value of the first vertex (Z1, Depth1, ...) as invalid will exclude that time point from the slider.

Measurement interval

The measurement interval is defined within Vision 42 as the time between the last two measurements. This allows dynamic measurement frequencies.

The curve shape is preserved: needle peaks, periodics.Visualisation of data gaps and measure points.Visualisation of manual measurements as discrete starts.Changing the time range of a plot will now stick to the end or the start of the measurements.

Media section

In this section, you will find uploaded and imported media files. The metadata can be edited by regular users, but not by guests:

The location will be shown on the inset map. Media files can be deleted, after confirmation. When a media file cannot be embedded by your browser, a download button will appear. At the time of writing, this was the case for PDFs on Android Chrome.

3D models

Where available, an augmented reality button will appear.

On geo-referenced 3D models, this sensor information will be displayed and synchronized automatically:

The coordinate system of the 3D model has to match that of the associated project.

Tip: instruments without an elevation will be omitted.

The orbital camera can be positioned interactively:

Input section

Delimiter-separated values

Most data formats will be imported in a generic fashion. This will automatically handle:

Note this includes comma-separated values (CSV) and RFC 4180.

These column designations might come in handy (case and white-space insensitive):

At least these delimiter-separated data formats are supported:

Tip: Feel free to use our demo to try out (other) data formats.

Binary formats

Other binary formats will be skipped.

JSON family

The benefits of delimiter-separated values apply.


The benefits of delimiter-separated values apply.

Other formats

Media files

In absence of more specific information, these and all other formats will make use of:

Export formats

Please note that files from AE Sensors, ARGUS (export and Iv Infra), KISTERS WISKI, Leica GeoMoS, and Senceive are currently not always stored within Vision 42. This happens when they cannot be linked with a single data logger or a single instrument. After all, these files contain a complete project or site. Only original data files are stored by Vision 42, for the moment.

For this type of data format, instrument identifications must be unique across projects. A compelling reason for this, is the lack of other (sufficiently) unique information such as serial numbers. A simple solution is to use a unique prefix per project. After the initial import, you can remove that prefix from the instrument names, as you see fit.

An error will be raised as long as there are duplicatie sensors.

Continuous input

Vision 42 can import project data continuously from multiple MQTT, MQTTS, AMQP, AMQPS, SFTP, FTP, FTPS, HTTP, HTTPS, (OPeN)DAP, (OPeN)DAPS, FDSN, FDSNS, and KNMI locations. The standard URL syntax must be used to configure import locations. We advise making use of the separate password field, to avoid a readable password in the URL.

A location may be a growing file, or a directory in which new files arrive. Possible errors can be found under the Setup section.

Older values will be discarded, except when "Delete files" is set. Note that the latter implicates the built-in SFTP and FTP servers.

Continuous input from directories, with the "Delete files" flag off, has a fairly strict requirement: the natural order of filenames must be chronological. Vision 42 keeps track of which file was last imported, and will continue from there on the next time. This is necessary because directories can contain millions of files and obtaining modification times is on a per-file basis. In combination with often under-performing FTP servers, this would at least undermine the quasi-real-time nature of the Vision 42 app, and often become undesirably slow and cause heavy system load.

For SFTP, public key authentication is supported, so passwords can be avoided. To configure, add this public key to .ssh/authorized_keys:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0skCWi+E3HMQgeuINQPYnO24K96JIGMVrca9xUzrtnbws31DeDkec0y+DH4ilUpZbEb2I+6krcQYEZnn92/IHBADJj7+iRBtmZJhPvguloaNygyBLF4E0yk6YB2PBdGXuoY/trGWj4h3h9NPKXpbkQwZtfmj8v4cQ7QGxbatmn62/piHfgY9tnL7ZpN9oxO4AQdSUisU4knPZViS7Go4Rj2bPDSVssqI+vCeNONjnvdSHXibwlIb/AiHMXJfSLEZytCnC1Ran9z9fPUWP0xCh+pHVKVv7hVwW6jc0R6081e4amBZOWsMiskoY/0CQGAfek9E6ON8yz7d+k7dKu2QZ Vision 42

FTP(S) servers and in-between firewalls must support extended passive mode. If not, connections will fail. Technical: your FTP software and your NAT firewall (Network Address Translation) must be able to handle EPSV and EPRT commands.

Built-in SFTP and FTP servers

From within the application, an administrator can ask for access to the built-in SFTP and FTP servers. This is a one-time step. From then on, all received files will automatically be imported. You may pass the credentials to your trusted integrators. For SFTP, public key authentication is supported, so passwords can be avoided.

Only files that are at least 5 seconds old will be imported via the built-in SFTP and FTP servers. This is so to prevent data loss. After all, while a file is being written to, an incomplete import and a subsequent deletion could otherwise occur.

In case of external SFTP or FTP(S) connections, this check does not happen because there is no guarantee that the clocks of both servers will run synchronously.

Identification of files

Vision 42 aims to function fully automatically, using a data chain that is as short as possible while avoiding Excel processing and intermediate servers.

The app will automatically link files to instruments based on data in the file, usually the header. In absence of this, the last alphanumeric word from the filename (for input by upload) and/or the full path (for continuous input) will be used instead. An underscore will usually be considered part of the identifier. This to match BH_14 and not BH in a filename, for example.

In case of a new file with previously unknown instruments / sensors, the application will populate the system with the correct instruments and their position.

Note that within an instrument, sensors will be matched by column number, if applicable.

Caution: As an administrator, you may change the identification of an instrument. This can break things, so only do this if you know exactly what you are doing.


Barring exceptions, metadata such as units is only read the first time. This is consciously so, to make changes in the application possible. If not, the data would be overwritten every time, by metadata in files over which you may not have control.

Calculations and reimporting

Calculations are performed during import. A notable exception is the dynamic calculation of values relative to a given instrument datum. This method of calculating allows for parameters that vary over time. Here are some examples:

This method is simple and avoids having to define the full time course of each calculation parameter.

Reimporting requires little effort:

Coordinate transformations

Regional coordinates will be transformed and updated in bulk, using the project's given coordinate system. This means instrument locations will will be updated accordingly, even live.

About time

The timezone field, in the instruments and data loggers table, dictates how times should be interpreted on input.

Vision 42 can handle milliseconds. For the time format, fractional seconds of arbitrary precision are being read. For the database, this is rounded to milliseconds, because the hard limit of the plots is 1 millisecond.

Editing in Excel

For example, editing in Excel can be useful for correcting depth errors in inclinometer measurements. After missing a "click," the remaining column can be slid down and the missing value of the previous measurement can be inserted. Using an ordinary editor, this is all too laborious.


On import, cumulative profiles will be calculated automatically. The deepest value is the origin, inherited from the previous, non-invalid profile. Usually, the origin will be zero, except for shortened inclinometers. The inclinometer length may vary over time.

A cumulative profile begins half a gauge deeper and ends half a gauge higher, while the intermediate values fall between the angles. These interlaced vertices will be numbered higher, following the original vertices.

Note that the top angle measurement has a relative depth of zero and that even depths may vary over time.

Internet of Things (IoT)

The Vision 42 app has extensive provisions for the Internet of Things. The following technologies have been fully integrated and tested:

The Things Network

Add a continuous input like this:

Reference documentation can be found here. The Storage Integration is also supported. Vision 42 can import the (NDJSON) stream of stored messages.


Add continuous inputs like this:

Reference documentation can be found here.

We do not recommended AllThingsTalk for a large numbers of sensors.

Private LoRa networks

There is a good change that Vision 42 will be able to import data from your private LoRa network. Add a continuous input with a custom MQTT URL. Please see the documentation of your private LoRa server / gateway.

However, your private MQTT broker has to be reachable from our servers without the need for VPN or equivalent.


At the time of writing, all message types are supported:

Two channels are supported: URL and BATCH_URL.

Use as the URI pattern. Note the quality assurance environment is also supported.

All HTTP methods are supported (GET, POST, and PUT), as are both URL and JSON encoding.

Make use of the default variable names, as can be seen in this example:

When using the Sigfox custom payload configuration, prefix your data variables with "customData_".

Alternatively, a variable named "format" may be used to pass the payload data format. The syntax can be found here:

If no data format is specified, Vision 42 will try to guess the data format out of:

Next to the variables in the payload, these standard variables will be imported, when not manually excluded:

Sensors section

Behavior of tables

The column header is like a search bar, with ...

Some more features:

Alert thresholds

In the sensors table, you may define the thresholds for alerting:

Current alert zones will be indicated in plots, when possible. Only one set of thresholds can be visualized at a time. For plots with mixed sets of thresholds, hiding series will display them.

These three screenshots show alert zones in a time plot, a scatter plot, and a profile plot:

Alert zones in a time plot
Alert zones in a scatter plot
Alert zones in a profile plot

Virtual and manual sensors

Instruments and sensors will be automatically created on import. In case of virtual or manual sensors, you will want to create these yourself, since there is no data available to import.

New sensors can be created under the SENSORS tab. Make use of the plus sign + at the bottom of the sensor table. An instrument (whether virtual or not) must be entered. Next, fill in the formula of the virtual sensor or set the manual flag to mark the sensor as such.

Transferring sensors

You can easily transfer a sensor to another instrument, using the drop-down list in the first column of the sensors table. This will not be a problem for new sensor data. Vision 42 will remember where the data was coming from. This is visible in the origin column.

Time lag

Per sensor, the average time lag is displayed in the sensors table. Its unit denotes either milliseconds (ms), seconds (s), minutes (min), hours (h), days (D), weeks (W), months (M), or years (Y).

Do-it-yourself profile plot

In case you need a profile plot, but your data does not contain vertex positions, do the following:



Let's start off with a simple example. Given are two instrument sensors, BH1-level and BH2-level. Create a new sensor difference at the bottom of the sensor table, for example under instrument BH1. For the sensor difference, enter the formula [123]-[345], using the corresponding keys to the right of the sensor table.

In the tooltip of the formula you will find a summary example in terms of syntax:

[key1]>1,2 ? 3.4E-5**6 : log([key2];10)+elevation²-position³

Note that:




Out-of-band filter example:

-42<x && x<42

? x

: null


Error handling

Broken formulas will automatically be disabled on calculation, accompanied by a helpful error message. Example:

# Call to undefined function ln()


Additionally, both upload and continuous input will show the error.

Cyclic references will also be detected and disabled.


Whenever a source sensor changes, the formula will be calculated. An exception to this behavior is a (calibration) formula which depends on its own sensor. The calculations can also be done for the past. Re-importing is the trigger for this.

You can clone a single sensor using the simple formula [123].

The measurement freshness in formula calculations is asymmetrical:


Calibrated sensor data can be achieved by adding a calibration formula to a sensor.

In case this formula depends on the own sensor, the original value will be replaced by the calibrated value. Such a formula will only be calculated for the points in time of the original sensor.

Alternatively, a virtual sensor can be used to store the calibrated data alongside the original data.

Air pressure compensation

The automatic air pressure compensation only uses linear interpolation between a time up to 110% of the interval before and a time up to 110% after. This provides the most correct value. The formulas do the same - using 210% / 110%, supplemented with substitution with the previous or the next measurement within 210% / 110% of the interval. Extrapolation is never considered because it produces incorrect values ​​near inflection points. If no near measured values ​​are found, previously calculated values ​​are deleted by both mechanisms - except for upload without the overwrite check mark. When importing, all relationships between values ​​and calculations are taken into account. This ensures, for example, that all air pressures are read first and then the dependent calculations are made.

The formula mechanism is therefore more recent, better and more suitable for continuous measurements and alarms. The intention is to replace the automatic air pressure compensation and all other implicit calculations with formulas, with or without a formula builder or the like.

In summary, the formulas will currently do much better than the automatic air pressure compensation. A difference between the measurement and the send interval can still get in the way here, but to a lesser extent. We do not wish to go much further than 125% of the interval, because we strive for a certain balance of correctness and usability.

Repurpose instruments or data loggers

Administrators can clear an instrument id. On arrival of new data, a new instrument will be created automatically.

Override outages

The automatic detection of outages can be overridden. To do so, fill in the outage field in the instruments and data loggers table, by specifying the desired time lapse in minutes.

Confirm alerts and outages

Vision 42 can repeat alerts and outages every 15 minutes until they have been confirmed. To do so, make use of the confirm flag in the instruments and dataloggers table. The messages will indicate which instruments have to be confirmed:

Subject: [alert] Example project

BH-11: yellow -> green

BH-42: green -> red (level = -1.96 > -2 m & confirm)

Click or tap that first link to confirm the alert or the outage. A confirmation message will automatically be sent:

Subject: [confirmed] Example project

To: you and relevant colleges

Reply-To: your@address

BH-42 -> Your Name

Without project

This table lets you easily manage instruments which are not linked to a project:

Cleaning up files

Through a background process, where unreferenced files of at least one week old are removed; this way there will be multiple backups. References without a file are also continuously checked.

Projects section

Projects and guests

The checkbox controls the project visibility. Disabled projects will be hidden where possible, resulting in a less cluttered and faster app.

A coordinate system and a unit of elevation can be assigned per project. Among other things, reporting and importing will make use of this.

Download a project

The download button retrieves all data of a project. Each line in the resulting JSONL file looks like this:


"vision42": "demo",

"device": "Indoor air quality",

"channel": "CO₂",

"key": 10428,

"time": "2024-06-23T16:06:06.369Z",

"epoch": 1719158766369,

"value": 2492,

"offset": null,

"unit": "ppm"


White space added for readability

Restore a project

A downloaded project can be restored by uploading the JSONL file. This way, you can reduce the size of your database by deleting old values and have the option of restoring later. The upload will not overwrite existing data.

Note: For large projects, it might be needed to split the file into smaller pieces, before upload.

Periodic reports

In this table, you can add receivers, adjust the title, and set the period. The column last denotes when the report did last run. When empty, the past period will be reported on. Changing the period will clear last and thus resend the past period.

The subject of report messages will be prefixed with [report], to facilitate classification rules.

Currently, the available periods are:

No PDF file will be attached to report emails, because:

Deleting old values

Old values of a project, be it measured or calculated, can easily be deleted in bulk up to a given date. This operation may take a while to complete, dependent on the size of your database. Closing or reloading the app window will break off the delete operation. Values marked invalid will be left behind, to aid future re-importing.

Report section

Using this section, you can easily and rapidly create nice looking reports. Just start out by selecting the instruments you want to report on. Note you are not limited to a single project.


From top to bottom, a report consists of:

Next up are all selected instruments:

Saving a periodic report

In order to create a periodic report, you must save it to the database first. That is the function of the save button. After successfully having stored the current report, you will be redirected to the projects section. There you can finish defining your periodic report.

The following report metadata will be saved to the database:

Limited by RAM memory

While generating large reports, a browser may become sluggish for a longer time. After a while, some browsers will offer the choice to close the app or to keep waiting on it. This is a indication that the RAM memory has been depleted and the report is better split into smaller parts.

Review section

This section allows for rapid reviewing of specific data. Currently, reviewing of inclinometers and manual measurements is provided, with more on the way.


A number of plots will help you analyze inclinometer data, in each direction:

Typically, the directions will be A and B, resulting in four vertical plots.

Manual measurements

An optimized table will present your measurements next to any derived virtual sensors. Changing a measurement will visually recalculate the corresponding virtual value. Changing a date/time will do so for both manual and virtual sensors.

Invalid values will be clearly marked by a red strike-through. Deleting a row will include any invalid values.

Setup section

Instrument types

This table is meant for managing instrument types and corresponding letters or symbols for their marker. The latter is used in the report section, for instance.

Instrument properties

In this table, you can define properties per instrument type. Leave the instrument type blank for generic properties, ie. all instrument types at once. The report flag toggles inclusion on reports. The information field may be used as a manual for the property. It will show up when users fill in the property values - the specifications of an instrument.

The input field is meant for advanced users. A little explanation about the syntax is in order:

Coordinate systems

Coordinates can be transformed on-the-fly and in a fully automatic way. The desired coordinate systems can be searched and selected here. More than 6.000 coordinate systems have been included in Vision 42.

Tip: Sensor formulas may be combined with the automatic coordinate transformation and the update of instrument location. For instance, some tunnel boring machines only send the last four digits of the local coordinates. With two formulas, the offsets can be added easily before transformation.


This table contains errors, if any, encountered by your background jobs like continuous import or export.


Vision 42 can forward all received data and corresponding events of a given project to multiple destinations. The standard URL syntax must be used to configure forwarding. We advise making use of the separate secret field, to avoid a readable password in the URL.

Errors will be indicated by a clickable exclamation mark. They will be cleared automatically, once solved.

Forwarded data will remain in a send queue, until acknowledged. This guarantees delivery and makes outage recovery fully automatic.

The data payload looks like this and has generic and channel properties:


"device": "Indoor air quality",

"id": "58A0CB000011D9C3",

"latitude": 50.964592,

"longitude": 3.72257827,

"altitude": 21,

"epsg": 31370,

"easting": 104607.24027609851,

"northing": 184011.27231100108,

"time": "2024-06-16T15:49:23.785Z",

"CO₂ [ppm]": 792,

"Indoor air quality": 69,

"Relative humidity [%]": 74,

"Temperature [°C]": 20,

"Volatile organic compounds [ppm]": 1


White space added for readability

The event payload is similar. Outage events will be repeated, to distinguish between sensor(s) and system down.


"device": "Indoor air quality",

"id": "58A0CB000011D9C3",

"latitude": 50.964592,

"longitude": 3.72257827,

"altitude": 21,

"epsg": 31370,

"easting": 104607.24027609851,

"northing": 184011.27231100108,

"time": "2023-11-13T12:31:39.588Z",

"channel": "CO₂ [ppm]",

"type": "!",

"event": "1005 > 994 ppm"


White space added for readability

Specifications per network protocol:

For TLS forwarding, a CA-issued certificate is being used. Brokers may use this for authentication, like Microsoft Azure Event Grid.


Vision 42 can export project data to multiple SFTP, FTP, and FTPS locations. The standard URL syntax must be used to configure export locations. We strongly advise making use of the separate password field, to avoid a readable password in the URL. The locations must be directories, in which files will be exported in an orderly fashion. Existing files will be overwritten. Possible errors can be found in the Errors table.

The exported files contain times, instrument (or location) names, sensor (or quantity) names, units, and values. The latter will be relative to their instrument datum, if any. Invalid values will be excluded. Note that this structure is identical to the Senceive CSV format. Additionally, the Vision 42 files adhere to several standards:

With usability in mind, exported files will not exceed 200.000 lines. This method of exporting is one-way only. It can not be used to keep data in the target system fully synchronized. After all history has been exported, data older than 25 hours will be exported continuously. This way, instruments have a day to upload their data.

Caution: Importing into the originating instance will usually not match the original instruments. If so, any instrument datums and calibration formulas will have to be reset.

For SFTP, public key authentication is supported, so passwords can be avoided. To configure, add this public key to .ssh/authorized_keys:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0skCWi+E3HMQgeuINQPYnO24K96JIGMVrca9xUzrtnbws31DeDkec0y+DH4ilUpZbEb2I+6krcQYEZnn92/IHBADJj7+iRBtmZJhPvguloaNygyBLF4E0yk6YB2PBdGXuoY/trGWj4h3h9NPKXpbkQwZtfmj8v4cQ7QGxbatmn62/piHfgY9tnL7ZpN9oxO4AQdSUisU4knPZViS7Go4Rj2bPDSVssqI+vCeNONjnvdSHXibwlIb/AiHMXJfSLEZytCnC1Ran9z9fPUWP0xCh+pHVKVv7hVwW6jc0R6081e4amBZOWsMiskoY/0CQGAfek9E6ON8yz7d+k7dKu2QZ Vision 42

FTP(S) servers and in-between firewalls must support extended passive mode. If not, connections will fail. Technical: your FTP software and your NAT firewall (Network Address Translation) must be able to handle EPSV and EPRT commands.

WMS layers

Web Map Service is a standard for serving map images over the Internet. All embedded maps in the Vision 42 app, like those in the map and report sections, can be enhanced with WMS layers. However, some basic WMS knowledge is required to do so. Please create a ticket, should your need help.

SCADA integration

Vision 42 can serve data, alerts, and outages to SCADA clients (Supervisory control and data acquisition). Please create a ticket to add your project to our shared SCADA servers. Mention for whom we need to create a username and password.

A channel alert indicates its level, corresponding to the four thresholds: -2,-1,0,1,2. Aggregations per device and per project equal the maximum absolute level: 0,1,2.

A channel outage is a simple boolean: false,true. Aggregations per device and project indicate the outage percentage.

Organization section


This section lets you manage the organization structure and the users of the app. It is geared towards administrators, while regular users can view and browse the information. Out of privacy considerations, this section is not available for guests.

It is divided into three parts:

In the structure graph you can select a department.

Creating new users

New users are first created without a department:

Email, notifications, channels, and SMS

The identification field controls how messages will be sent to a user:

Combinations of the above can also be realized, by creating more than one account per person.

Forgotten passwords

Password management is done by clicking the reset-password link, next to the name of the user. If the identification of the user is a contact address, the new login credentials will be sent automatically. If not, the password will be displayed on screen, in order to convey it to the user by other means.

If desired, the user can change the reset password using her or his profile page.

Organization structure

This third section handles the organization structure. New departments can be created by providing:

 Add the new entity by clicking the plus icon.

Access rights

Members of your main department, typically denoted by your company name, have the right to change things within Vision 42. Administrators have more rights, like adding users and organizational entities.

Users who are not members of that main department are considered guests. They can only view their assigned projects and edit their own data.

Print / PDF


Make use of the menu or the dedicated buttons within the Vision 42 app. The Ctrl + P or ⌘P key combinations will also work as expected. Avoid using any print option in the browser's menus, since those will not resize maps correctly. The latter can also occur when printing from Android.

Note: Google Maps is here to blame.

Customized header

Vision 42 will add a nice header to prints and PDFs, containing customer information:

Please create a ticket, should this information have to be updated.

Typically, a browser will add its own header and footer, over which Vision 42 has no control. You can simply turn these off once, in the print dialog.


Care has been taken to achieve the best possible print / PDF quality. Plots, for example, will remain scalable vector graphics (SVG). Only maps are bit-mapped, due to the very nature of aerial and satellite photography.


Use this menu option if you want to share a plot, a report, a review, a map, etc. with a user. The app state URL will be shared by chat, email, clipboard, or any other suitable app. In absence of sharing facilities, the URL will be copied to the clipboard.

About section

Create a ticket

This link allows you to create a ticket, directly in our software management system. Most fields will be filled in automatically. Please enter a one-line summary and a detailed description of the problem.

 Tickets can cover:

Once submitted, you will receive an automatic message whenever your ticket changes. In those messages, you will find links to edit or append the ticket and to add an attachment. The security code is there to stop spambots. Please ignore the login page, which is meant for staff members taking care of your ticket.

Tip: Instead of attaching a screenshot, you may attach a single-file web page. Just use the keyboard shortcut Ctrl + S or ⌘S and choose the .mhtml option, if needed. Avoid using any save option in the browser's menus, since those will not include dynamic content. This method has the following advantages:


This section contains interesting statistics about your data in the Vision 42 application. Note that the number of values will only be counted once a day, for performance reasons.


A history of all changes made to your instance of Vision 42 can be found here. In the QA-environment this list is supplemented by available changes not yet promoted to production.

Sign out

This menu option will delete your stored credentials and sign you out of the application.


© 2012-2023 Vision 42 Ltd.