Skip to main content

Maintenance Release: 2.1.7

Breaking change

When using an MQTT connection with wildcards (# or +) in the mapping, and the variable name is different from the mapping (excluding the wildcard), different column names will be generated for this data starting with this version. You will need to either adapt your dashboards (if any) or change the variable name so it matches the mapping, replacing / with _ and excluding wildcards.

Example: A variable named MyData with mapping data/values/# and MQTT topic data/values/value1 would generate the data column data_values_value1 in 2.1.6 and earlier. Starting in 2.1.7, it will generate the data column MyData_value1. This is consistent with other connection types. Changing the variable name to data_values will again result in the data column data_values_value1.

Features

Note: We avoid adding new features in maintenance releases. However, some small features are included as they are considered low risk with high value.

  • Logging: Setting the environment variable CAPTURE_SEPARATE_ERROR_LOG=true will generate a separate error log file (if file logging is enabled).
  • Collector: By setting the Custom property of LocalDb to {"TryToConvertDataInCaseOfTypeMismatch": true}, the system will attempt to convert data types in case of an InfluxDB data type mismatch when inserting into the local DB.
  • Syncer: By setting the Custom property of SyncDestination to {"TryToConvertDataInCaseOfTypeMismatch": true}, the system will attempt to convert data types in case of an InfluxDB data type mismatch when inserting into the cloud DB.
  • File syncing: Option to delete files after they have been synced. This option is available on the sync destination.

Improvements

  • General: Enhanced logging.
  • General: Performance improvements.
  • General: Expanded automated test coverage.
  • General: Automatic recovery from corrupt .NET mutex after a power loss.
  • S7: Process "On Follow" parents last, ensuring they always log the latest known values of child variables.
  • Redis Local DB: Data in Redis local DB is only deleted after being successfully sent, preventing data loss during network outages.
  • CloudManager UI: Now accessible at http://localhost:5004 and will automatically redirect to http://localhost:5004/api/ui/.
  • CloudManager: Will automatically fix configurations where sync buckets have incorrect DB names.
  • CloudManager UI: Disabled the bucket DB name field on the local database as it always uses the name of the DB.
  • CloudManager UI: Hidden the port field for S7.
  • S7: The CloudManager UI now supports creating mappings with the DBLI type.
  • ADS: Support added for an infinite number of dimensions for arrays, struct arrays, and virtual tags (sKey) at any depth in the ADS struct. This includes performance improvements in handling ADS values, additional unit tests, and improved code extensibility.

Fixes

  • S7: Resolved an issue where data from one S7 variable could create points for other variables with the same mapping but different collect types, leading to more points than expected (no incorrect data was generated).
  • Collector: Fixed an issue where connections without time info in the data could keep waiting when Sync with system time was enabled.
  • CloudManager UI: No longer necessary to toggle the Time Manager checkbox when saving a new connection.
  • Device Registration: Device registration via the network adapter now works correctly again on native Windows and Linux installations.
  • MQTT: Data coming from MQTT, with a mapping containing a wildcard, generated the wrong data column name. Because of this, Hybrid and Timer collect types didn’t work correctly. See the breaking change above for more info.