Search Icon

Varo and EMS

The target audience of this document is developers of EMS loggers, who may be interested in using Varo to assess EMS compliance. This document may include some forward-looking statements, anticipating that Varo will be extended to support debugging by developers of EMS loggers. This document is an early draft, seeking comments

Overview

Varo was originally developed to support collection and transmission of data from ubiquitous 30DTR loggers (e.g., Berlinger’s FridgeTag). In 2023, Varo was extended to be compatible with data loggers that conform with the PQS Equipment Monitoring Systems (EMS) standards (esp., E006/DL01.1). This document provides guidance to developers who are building EMS data loggers and who are interested in using Varo to assess the standards conformance of such loggers during the system development phase. This document clarifies the capabilities of Varo in the context of the PQS EMS standards and should not be interpreted as altering those standards in any way. In the event of any inconsistency between this document and the PQS EMS standard themselves, the PQS standards should be treated as authoritative.

Understanding the Varo connection process

After physically connecting Varo to a data logger, the user is prompted to initiate a "Check Connection" process from the Varo UI. When the user accepts the prompt, Varo follows the process outlined below to connect to – and assess compatibility with – EMS data loggers.

  1. Initialize connection to the logger as a USB Mass Storage Device
    1. Request user permission to access USB device (if not already granted)
  2. Check for partitions on the logger
  3. Mount the first partition as FAT32 file system
  4. Inspect the USB Vendor ID ("VID") and Product ID ("PID") of the attached device
    1. This step is necessary to support legacy (i.e., pre-EMS) loggers
    2. If VID+PID combination does not match a Varo-supported legacy logger, Varo assumes the attached device is EMS compliant
  5. Search for files matching the filenames defined in E006/DL01.1, as follows:
    1. Raw data file (i.e. "CURRENT" file)
    2. Synchronization data file (i.e., "SYNC" file)
    3. Historical raw data file(s) (i.e., "DATA" files in "DATA_HISTORY" folder)
    4. 60-day summary report (PDF file)
  6. If EMS data is found, consider the connection successful and copy files from logger
  7. Return control to user, allowing them to proceed with creation of a Varo report

Contrast with legacy 30DTR connection process

The primary difference in Varo's support for EMS and pre-EMS loggers is how Varo supports different filenames and file system layouts. Prior to the EMS specification, different loggers used different filenames and folder structures. For a small number of pre-EMS loggers, Varo maintains a list of well-known USB VID+PID combinations, which allows Varo to configure itself correctly to find and copy files from these devices. Any new EMS logger should have a unique VID+PID combination, which will ensure that Varo treats these devices as EMS-compliant.

Emulating a logger with USB flash drive

For testing purposes, is possible to emulate an EMS logger using an off-the-shelf USB flash drive, as follows:

  1. Partition the USB drive according to your preferences, ensuring that the first partition has storage volume similar to the logger you intend to emulate. Due to limitations of some formatting tools, it's advisable that the size of the first partition be no greater than 32GB.
  2. Format that first partition with a FAT32 file system, accepting the default allocation size and, optionally, providing a name for the filesystem.
  3. Mount the new partition.
  4. Create necessary files and folders in the root directory, as listed below. Optionally, you may download a compressed archive of sample EMS logger files from this location. Unpacking this archive to the logger's root directory will create the sample EMS files and folders.
    1. 60-day summary report (PDF)
    2. Synchronization data file (JSON)
    3. Raw (i.e., "CURRENT") data file (JSON)
    4. DATA_HISTORY folder (if not previously created)
  5. Eject the USB drive from your workstation.

The resulting USB drive can be connected to Varo using the Varo OTG cable. Varo will treat the USB drive as an EMS logger and allow you to generate a Varo report.

Using Varo to debug logger connections

TBD - Varo roadmap includes new features/functions for debugging connections.

Common failures with Varo connections

Varo can read logger’s filesystem before files have completed writing

When an external device attempts to mount an EMS logger via USB, the logger must create the required set of files on-the-fly. These files includes the 60-day summary report, the Synchronization data file, and the Raw data file. The logger should ensure that these files have finished writing prior to completing the mount. If Varo is allowed to mount and access the logger's drive prior to these files being available, the Varo connection process may fail.

Files don't conform to the file naming standard

After connecting to an EMS logger, Varo searches for files matching the filename conventions described in the E006/DL01.1. If the filenames presented by the logger don’t conform to the specification, the connection process may fail.

Logger presents duplicate files

Varo expects that there will be one (and only one) copy of the three key files, listed below, in the logger's root directory. If Varo finds more than one file matching the associated filename patterns, the connection process may fail.

  • 60-day summary report (PDF)
  • Synchronization data file (JSON)
  • Raw data file (JSON)

Frequently asked questions

Q: Do I need to configure my logger with a specific USB Vendor ID (VID) and Product ID (PID) for Varo compatibility?

A: No. Provided your logger has a unique USB Vendor ID (VID) + Product ID (PID) combination, which is not shared by a legacy 30DTR logger, Varo will assume your logger is EMS-compliant and search for data files based on EMS file naming conventions.