Update value in PI¶
Writing a value back to PI using Python is an interesting feature. Having this capability we can use PIconnect for implementing collecting data process it someway (e.g. a prediction model) and write back the results someway it can be used by final users.
After discussion with @Hugovdberg & with contribution of @ldariva we finally implemented an interface for the AFSDK UpdateValue method with 4 parameters value as AFValue time as python datetime.datetime with specified timezone replace_option as AFUpdateOption buffer_option as AFBufferOption.
from datetime import datetime
import PIconnect as PI
from PIconnect.PIConsts import UpdateMode, BufferMode
with PI.PIServer(server='foo') as server:
point = server.search('foo')[0] # the tag has to be created
point.update_value(
1.0,
datetime.now(),
UpdateMode.NO_REPLACE,
BufferMode.BUFFER_IF_POSSIBLE,
)