Based on your suggestion I did debugging.
UTC_Offset is getting updated when localDevice.writePropertyInternal(pid, value) during the initialize time. ;. After the analysis, I noticed that at 622nd line in BACnetObject.java ( l.propertyChange(pid, oldValue,, value) the value is right;y updated.
But when from 3rd property client ReadProprty (Device Object. UTC_Offset) is sent, the local device is returning the value of the timeZone and not with set value of UTC_Offset.. I could not debug using break point when asked from external device.with ReadProperty or other services. Please guide me where to set the break point, which will help me to debug and furnish you with more information.
Further I believe there is error in the value of UTC_Offset as per the time zone. For example if the time zone is - 7 hours, then the value of the UTC_Offset should be +420 and not -420. This is because as per BACnet local date / time is calculated based on the formula (GMT - UTC offset). So in the above example if UTC_Offset is -420 for - 7 hours. then the actual time would be if GMT equals 0;00 hours, 0 - (-420) equals 0 + 420 which means + 7 hours. and is wrong.