Ok, I found the Script Console... Sorry, newbie at Ignition...
from com.inductiveautomation.ignition.common.model.values import BasicQualifiedValue, QualityCode
paths = "[SolidRed]/Path/To/Device/MyString"
values = system.tag.readBlocking(paths)
qualities = { "Bad" }
qvals = [qv.derive(getattr(QualityCode, quality, 'Uncertain')) for qv, quality in zip(values, qualities)]
values
qualities
qvals
result = system.tag.writeBlocking(paths, qvals)
Gives:
>>>
[[MyString, Good, Tue May 03 09:13:32 CEST 2022 (1651562012495)]]
set(['Bad'])
[[MyString, Bad, Tue May 03 09:13:32 CEST 2022 (1651562012495)]]
>>>
Which looks good to me.
And a popup with the following error message:
Error writing to tag(s): Gateway Comm Mode is not Read/Write.
Edit:
Got it fixed with:
system.util.setConnectionMode(
3
)
It is actually working from the Script Console and not from Web Dev. Have to investigate further...
Edit 2:
Ok, got it working in Web Dev as well. Probably did something wrong earlier...
Minor bug:
qvals = [qv.derive(getattr(QualityCode, quality, "Uncertain")) for qv, quality in zip(values, qualities)]
should be:
qvals = [qv.derive(getattr(QualityCode, quality, getattr(QualityCode, "Uncertain"))) for qv, quality in zip(values, qualities)]