Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

UDT Tags at Edge with Transmission set to Convert UDTs = False

You cannot have UDTs definitions with the same name and different tag members within the system.  


Warning
Changes made at an Edge device to UDT Definitions are not propagated through the system. You will see that any tag instances of that UDT at the Edge device will reflect the changes, but the recorded definition for the UDT at MQTT Engine will not change nor will tag instances for other Edge devices using that UDT Definition.

With Publish UDT Definitions set to True, the UDT Definitions will be included in NBIRTH messages where each UDT Definition includes an "md5" metric.  

For each named UDT Definition, MQTT Engine will compare the MD5 sum received in the NBIRTH with MQTT Engine uses the MD5 sum of the UDT Definition stored to detect differences and will ignore any new UDT definitions received that share the same name as the first recorded UDT definition.identify collisions. If a collision is detected, the UDT Definition received in the NBIRTH will be ignored and a warning will be logged and you can see the detail by setting from the com.cirruslink.mqtt.engine.gateway.sparkplug.SparkplugBPayloadHandler logger similar to:

Image Added

Turning this logger to TRACE .This detail will show the UDT definition at MQTT Engine and also the UDT definition published in the NBIRTH message. The offending edge node can be identified from the NBIRTH message.

Changes made at an edge device to UDT definition member tags are not propagated through the system. You will see that any tag instances of that UDT at the edge device will reflect the changes, but the recorded definition for the UDT at engine will not change nor will tag instances for other edge devices using that definition.

UDT Collision Detection Image Added


Action at EdgeResultActionResult
Delete UDT Instance


Delete UDT Instance and add with the same name and UDT type


Delete UDT Instance and add with the same name and different UDT type


...