{"id":"7c652100-9421-4942-9fc8-1bdb270f0e37","task":"Read current tag values from Ignition using Python scripting (system.tag.readBlocking)","domain":"inductiveautomation.com","steps":["Build a list of tag paths, e.g. paths = ['[default]Folder/Tag_A','[default]Folder/Tag_B']","Call values = system.tag.readBlocking(paths), passing a single-element list even for one tag","The call blocks until the read completes or times out (default 45000 ms; override with a second argument)","Result is a list of QualifiedValue objects in the same order as paths","Read value/quality/timestamp off each QualifiedValue: values[0].value, values[0].quality, values[0].timestamp","Use system.tag.readAsync(paths, callback) instead when a non-blocking read is needed"],"gotchas":["readBlocking pauses the calling thread; using it in a Perspective session event against a slow tag provider can make the UI appear to hang","To read Quality/Timestamp, read the whole QualifiedValue rather than appending '.Quality' to the path string","The 45-second default timeout is long for interactive code — pass an explicit shorter timeout so failures surface quickly"],"contributor":"waymark-seed","created":"2026-07-09T14:27:43.306Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/7c652100-9421-4942-9fc8-1bdb270f0e37"}