The resolution there was found in using a local bind address of 0.0.0.0 and a broadcast address particular to the network, like 192.168.1.255 for the 192.168.1.0/24 network. BACnet local device settings are on the /system_settings.shtm page
If you disable communications via LocalDevice.setCommunicationControl after having subscribed, you get the behavior I'm looking for. This seems a bit heavy-handed when all I want to do is turn off acknowledgment for a single service, but it will do for the time being until someone shows me a better way.
I don't believe it is currently possible. I looked around the code a little, and I think it's SubscribeCOVRequest that is the outgoing form used, and it doesn't have these options. I imagine it's something we're interested in supporting, but have no sense of a timeline to offer offhand. Doesn't seem like it would be too much to add, but I can't say.
Pretty much any time the script is going through Java code to do something, it'll happen during validation or actual runtime the same. Things like the RuntimeManager, JsonEmport or calling the set() function will only actually change things if running, since they're going through mechanisms particular to the scripts.
Thanks for the confirmation. So it seems like the sample files in the project are indeed not yet updated. If anyone has updated versions of these sample files and could share them it would be most appreciated!
I am not an expect on the BACnet4J code, but I do try to dabble and help people a little when I can. But,
I think you cannot have an UnsignedInteger for a object with the type of AnalogInput. Looking in ObjectProperties suggests the following support a presentValue property set to the UnsignedInteger type:
systemStatus1 = new BACnetObject(localDevice, localDevice.getNextInstanceObjectIdentifier(ObjectType.positiveIntegerValue));
systemStatus1.setProperty(PropertyIdentifier.objectName, new CharacterString("System status group 1"));
systemStatus1.setProperty(PropertyIdentifier.presentValue, new UnsignedInteger(65535));