deviceWISE IoT Gateway 23.02 Release Notes

A number of improvements and fixes were added to the IoT Gateway 23.02 release.

Summary:

The 23.02 release includes changes made to the Workbench, Transport Map, Mitsubishi ASCII Driver, Azure Event Hub, deviceWISE VIEW, and many bug fixes.

deviceWISE IoT Enterprise Gateway 23.02 release onwards will be using OpenJDK JRE 17.0.4.1 LST instead of using Oracle JRE 1.8.

Production Release Date: July 2023

New features and enhancements to existing features

Workbench

  • [MAP-18882] -Transport Map Issues with SOAP after updating to 23.01 from Legacy Version
    Description: Fixed row count issue for Simple Element.
  • [MAP-18575] -Incorporate Trending in the Workbench, Admin Panel
    Description: Researched ways of making the generic panel more complex, modified it to be more effective.
  • [MAP-19038] -In Variable window allow values to be copied to clipboard
    Description: In Device Variables panel added popup submenu to copy variable name and value.
  • [MAP-19122] -Variable Groups settings should allow for deadbanding
    Description: Added deadband field for Variable Groups.
  • [MAP-19209] -Report Settings -- in logs and reports -- specify max # entries in Last Completed
    Description: Report setting was added to set limit for last completed action reporting.

deviceWISE View

  • [MAP-18861] -Add Capability to hide the widget
    Description: Capability to hide the widget by updating style (style > CSS > Display > Set to 'none' to hide the widget).
  • [MAP-18860] -Marquee widget add capability for multiple KPI's
    Description: Add support to add multiple variables for Marquee widget.
  • [MAP-18879] -"Delete" button should not be in the corner for best practice
    Description: Position of delete button changes for better usability
  • [MAP-18700] -Cache Variable picker location
    Description: Variable picker location cached based on last browsed location, applicable only for the active browser session.
  • [MAP-19116] -Updated dwVIEW to new Telit Cinterion Branding.
    Description: dwVIEW is now updated to the new Telit Cinterion branding.
  • [MAP-18964] -Create Table widget
    Description: Added new Table widget to show device variables in a tabular format.
  • [MAP-19166] -dwVIEW should invalidate visibly all variables if connection is lost
    Description: If the connection to the core is lost , all variables in the view screen will show an indicator that the data is unknown (red). Then if the auto-reconnect procedure is followed, when DW is up, everything come back to normal.

deviceWISE Runtime

  • [MAP-18784] -Mitsubishi ASCII Driver for Window
    Description: Added Win64 as a supported platform for MelsecA Driver.
  • [MAP-18724] -Created Automated Test - Device Action Block to retrieve a device definition
    Description: Added Device Info Action (under experimental group) to retrieve a device definition.
  • [MAP-18984] -Local DB insert Row count limited to 10,000 rows
    Description: Property "localdb.insert.row_count" is added to modify Max Row count in localdb insert action.
  • [MAP-18947] -Add ASCII mode to file read action
    Description: The ASCII mode was added to the file read action. This new mode is similar to the "strings" mode, except that it does not output array and has a dynamic string length.
  • [MAP-18898] -Add metrics of license pooling in system variables
    Description: Added metrics of license pooling in system variables: license.pool.server.device_total; license.pool.server.device_used; license.pool.server.http_total; license.pool.server.http_used; license.pool.server.gateway_total; license.pool.server.gateway_used.
  • [MAP-19059] -Package DigiCert Global Root G2 CA with Azure Driver
    Description: Update Azure driver to include the DigiCert Global Root G2 certificate for host verification.
  • [MAP-19022] -Disable the "System Serial Number" field in Node Administration Panel with a property
    Description: property "hardwareid.system_serial_number" is added. Set to "false" to disable/hide System Serial Number.
  • [MAP-18209] -Improvements to Trigger reporting, Stack trace
    Description: Trigger reporting supports stack trace which only reports on the last ten actions executed.
  • [MAP-19125] -Fire remote subtrigger action succeeds even when the node connection device is stopped
    Description: Remote Trigger is now returning a failure if device is not started for the remote trigger.
  • [MAP-19237] -Expose 'Maximum Output Size' Parameter to 'Get SubString' Action
    Description: 'Maximum Output Size' Parameter in 'Get SubString' Action now has no length limit (up from 1024)
  • [MAP-19213] -"Stack Trace" settings in the core
    Description: Last Action report setting can be set from the Workbench.
  • [MAP-19159] - Mark S/F Queue Messages
    Description: HTTP Request which are coming out of S&F will be marked with HTTP Header "X-Buffered-Mode:true".
  • [MAP-18360] -Can't publish BINARY variables via the Web API
    Description: Binary variables is now a supported datatype in dwVIEW.
  • [MAP-19268] -Improvements to Trigger reporting. Stack trace
    Description: Trigger reporting supports stack trace which only reports on the last ten actions executed.

Transaction Server

  • [MAP-18973] -Postgress support should allow Functions in addition to SPs
    Description: Functions is now supported for Postgress SQL.

Drivers and Extensions

  • [MAP-18674] -IFM IO-Link not handling NULL string
    Description: Check for bad sensor data in case of interrupted communications.
  • [MAP-18748] -Azure Event Hub allow the use of multiple items. Support Batch
    Description: Azure Event Hub now supports sending batch messages.
  • [MAP-18981] -MAX Windows (likely Linux too) does not have dwtrending dwhaas, dwkawasaki
    Description: Drivers dwtrending an dwkawasaki added to max package.
  • [MAP-18945] -Kawasaki Robot -- type should be Kawasaki Robots, not just Robots
    Description: Update drive name to more accurate description of what the driver supports.
  • [MAP-18871] -Implement optional password for MC Protocol
    Description: dwmelsec: Added to support remote password to unlock if PLC enabled password access.
  • [MAP-18778] -MQTT -- using latest paho and exposing and allow for selecting rev 3 and 5 version
    Description: dwmqtt: Supported mqtt connection with ver 5.0
  • [MAP-18463] -MT -- error message needs work
    Description: When MTConnect error XML sent as a response from the MTConnect adapter, in deviceWISE driver does proper cleanup.
  • [MAP-19025] -Optimize Rockwell Serial communications
    Description: Rockwell Driver: Updated DF1 serial to asynchronous read/write if the maximum pending device configuration is set to > 1.
  • [MAP-18988] -Yaskawa Robot -- Add NLS messages
    Description: NLS Entries added for the Yaskawa driver.

Issues Fixed on the 23.02 Release

Workbench

  • [MAP-19037] -Cannot Enter Text into a Text Column in a Local DB
    Description: Corrected type restriction editing of values in local db cells.
  • [MAP-19048] -Data mapping's file import not working
    Description: Corrected issue in 23.01 with Data Mapping items failing to import.
  • [MAP-19164] - Weird behavior when scanning for fallback IP using Zebra Integrator
    Description: Allow workbench to communicate with IPv6 Gateway addresses that can be addressed via IPv4 octet scheme.

deviceWISE View

  • [MAP-18261] -Undoing a delete of a widget from a group restores it to the main canvas
    Description: Fixed defect and now deviceWISE View, when it comes to undoing a delete, have the expected behavior.
  • [MAP-18703] -Update or Create widget to scroll text (right, left, frequency, ...) for Marquee Applications
    Description: Added widget to to scroll text right, left based on frequency, for Marquee Applications.
  • [MAP-18723] -HEATMAP Widget: Add Support to add Custom Series for Heat Map
    Description: Added capabilities to update series for Heatmap using properties view.
  • [MAP-18776] -SQL Widget spams sqlite.exec if database is slightly larger
    Description: Removed duplicate calls from SQL Widget to load data.
  • [MAP-18865] -Telit Visual inspection widget not painting images
    Description: Fixed the data format defect to correct the issue with Telit Visual Inspection Widget not painting images.
  • [MAP-18823] -dwview: sql widget does not work when local variable is used in custom query
    Description: Fixed the loading of local variable used in custom query for SQL widget.
  • [MAP-18885] -BAR Chart series not refreshed on state change
    Description: Fixed defect BarChart default values not refreshed in live mode.

deviceWISE Runtime

  • [MAP-18677] -When client connects to two different license servers consecutively, the first license server does not release the license when the client disables
    Description: Fix license client not releasing license to the old server when a new server is configured.
  • [MAP-18691] -License client not pulling in pooled licenses on AIX64 despite successful connection to server
    Description: License client not pulling in pooled licenses on AIX64 despite successful connection to server.
  • [MAP-18766] -localdb import fails when delimiter is inside qualifiers
    Description: local db csv import fails to import the following row: valuea, valueb,"[valuec, valued]" when double quote is qualifier and comma is delimiter.
  • [MAP-18856] -Device Info action still executes successfully even when the specified device type does not match the named device
    Description: Device Info Action now returns failure when the specified (trigger) device type does not match the named (actual) device.
  • [MAP-18852] -Database Select with data set to Timestamp does not return anything
    Description: localdb select did not return correct value when timestamp does not contain miliseconds.
  • [MAP-18830] -Issue with libevent in windows
    Description: Problem with libevent, disabling it by default until we have a fix for the problem. Without libevent, customer might have a problem if they they have thousands of clients connecting to dwview at the same time.
  • [MAP-18793] -Unable to Ping Localhost or Self
    Description: Unable to ping localhost on Linux Gateway. Socket filter is added to only receive ICMP echo reply.
  • [MAP-18980] -Default value is true for Boolean variables
    Description: Added "variable.empty_char" property to change variable default value. Original value is 0xFF.
  • [MAP-18979] -AIX does not have netinet/ip_icmp.h and it's causing the build to fail
    Description: AIX is now building correctly and no doc is needed.
  • [MAP-18965] -Local DB Export and Import issue (with reader)
    Description: "Treat Empty as Error" action parameter is added to localdb csv import action. To fail action if the csv file is empty, set "Treat Empty as a Error" to true. default is set to true.
  • [MAP-19010] -Ports are not closed after HTTP Server stop
    Description: Http server connections will now shutdown correctly when server stops.
  • [MAP-18895] -Node crash when running script in JQ Query
    Description: When the filter is expecting a string array, but some elements contain other datatype, devicewise tries to count the string len of the value, which results in a crash. A fix is applied so it wont crash in this scenario.
  • [MAP-19098] -deviceWISE Error with LDAP package when doing node backup
    Description: Fix a problem where backup throws error if email notification was not set.
  • [MAP-19009] -AAM - Mutex Deadlock
    Description: AWS IoT Core driver fixed deadlock issue when wanting for response.

Transaction Server

  • [MAP-18759] -WS_SOAP Transport Map sending incomplete tag in request
    Description: Fixed SOAP Request Empty Tag when value are not provided in the Input Trigger.
  • [MAP-18640] -Transaction failing with error code -4855
    Description: NLS Files update with -4855 "Transaction Timeout".
  • [MAP-19318] -Postgress datetimestamp not working for select query
    Description:Fixed datetimestamp data type issue in Select clause in MSSQL

Drivers and Extensions

  • [MAP-18696] -HTTP Server can't render all that it has but HTTP Server LWS does
    Description: HTTP Server corrupts files that contains <DW String
  • [MAP-18722] -TR50 not restarting when network is not available
    Description: Fix problem when user imports TR50 via SUP import action, the state would not persist and revert back to stopped state on restart.
  • [MAP-18802] -IFM Can't handle IO Link v10 sensor
    Description: IFM IO-Link driver supports sensor with older IODD file.
  • [MAP-18772] -Siemens Listener: Loss in data received from Siemens PLC (Byte offset 1020)
    Description: Fixed Loss in data of 3 bytes received in Siemens Listener in ISO-TCP protocol when we receive data in multiple packets.
  • [MAP-18699] -Rockwell Legacy -- Should have retries
    Description: Supported Retry of failed/timeout read/write request for DF1 devices in async path.
  • [MAP-18637] -Parse string to timestamp - how to display milliseconds
    Description: String to Timestamp action will now include milliseconds on conversion.
  • [MAP-18864] -Listener not shutting down gracefully, causing peer to hang
    Description: When TCP Listener device is stopped/disabled, a FIN TCP packet will be sent to ensure a graceful shutdown.
  • [MAP-18862] -Feature Request: TCP Listener - Increase Max concurrent connections to 500
    Description: Updated "Max Concurrent Connections" device property range to allow to configure more number of connections.
  • [MAP-18560] -IFM implement scaling units
    Description: Scaling factors will be applied to sensor values base on sensor configuration.
  • [MAP-19096] -JSON_NEW does not parse nested JSON
    Description: JSON get action was not parsing "Object" type correctly.
  • [MAP-19090] -Multi-block read/write causes polling to fail
    Description: dwmelsec: Fixed the rd/wr issue with offset > 64K with multi var rd/wr request
  • [MAP-18339] -DWG driver for serial port: The data bits cannot be modified
    Description:Fixed serial port initialization on Linux.
  • [MAP-19236] -Crash on Linux - Optimize Rockwell Serial communications
    Description: dwrockwell: Added indirect_get checks to fix df1 serial crash