Issue
In a Niagara R2 UNC, the standard output window displays this error message every few minutes:
Node.set Cast exception: nvi_7238 DsEnum <- DsFloatStatus [/DeltaHotel/lonTrunk/localLonDevice]
java.lang.ClassCastException
at tridium.foundation.dataspecies.DsEnum.copyFrom (bytecode 2)
at tridium.foundation.node.Node.commitPropertyChange (bytecode 42)
at tridium.foundation.node.Node.doPropertyChange (bytecode 31)
at tridium.foundation.prism.Prism.commitEvent (bytecode 77)
at tridium.foundation.prism.Prism.dispatch (bytecode 50)
at tridium.foundation.node.Node.dispatch (bytecode 15)
at tridium.foundation.node.Node.set (bytecode 36)
at tridiumx.lonworks.devices.LocalLonAppDevice.setNvValue (bytecode 39)
at tridiumx.lonworks.services.NvManagerService.setLocalNvValue (bytecode 7)
at tridiumx.lonworks.LonNvDevice.writeProperty (bytecode 62)
at tridiumx.lonworks.LonNvDevice.asyncPropertyChange (bytecode 24)
at tridiumx.lonworks.devices.ForeignLonAppDevice.asyncPropertyChange (bytecode 132)
at tridiumx.lonworks.services.LonAsyncEventService.processAsyncEvent (bytecode 16)
at tridium.services.helpers.AsyncEventHelper.run (bytecode 49)
at java.lang.Thread.run (line 5)
Environment
Niagara R2 LON
Cause
The error indicates that the link between the DSEnum and DsFloatStatus are not compatible – even though a link was allowed between them. The link may work but not all the time. That may be why it is not a frequent error.
Resolution
Locate a conversion object that can be placed in between them (an object that converts float to enum or vice-versa depending on the link’s direction).