Writing To Bacnet Tags

Can you write to bacnet tags directly without using scriping system.bacnet.writeRaw?

When trying to write to bacnet objects 'present-value' property tied to tags I get Bad("Bad_NotWritable: The access level does not allow writing to the Node.")

Yes, you can.

You haven't responded in the other thread where you indicated your BACnet tags come from a 3rd party OPC UA server, in which case the fact they are BACnet is essentially irrelevant. Is this a different scenario?

Yes this is a different scenario talking directly to a bacnet device

What kind of Object are you trying to write the present-value property on?

Is there a warning in the gateway logs about the writing failing? The device you are writing to may be responding with an ErrorCode indicating WriteAccessDenied.

A analog-value object type.

Pasted below appears to be the log from the error. I can write to this value from another BACnet device but not from Ignition.

com.serotonin.bacnet4j.exception.ErrorAPDUException: ErrorAPDU(errorClass=property, errorCode=write-access-denied,errorClass=property, errorCode=write-access-denied)

at com.serotonin.bacnet4j.transport.ServiceFutureImpl.result(ServiceFutureImpl.java:83)

at com.serotonin.bacnet4j.transport.ServiceFutureImpl.get(ServiceFutureImpl.java:64)

at com.serotonin.bacnet4j.util.RequestUtils.writeProperty(RequestUtils.java:509)

at com.inductiveautomation.ignition.drivers.bacnet.BatchWriteContextImpl$execute$statusCodes$1$1.invokeSuspend(BatchWriteContext.kt:81)

at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)

at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)

at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)

at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)

at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)

Maybe you can compare a Wireshark capture or something. This is clearly the device rejecting the write for some reason :person_shrugging: