Phase 3 PR 40 — LiveStack write + subscribe tests against TestMachine_001 #39
Reference in New Issue
Block a user
Delete Branch "phase-3-pr40-livestack-write-subscribe"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the code side of LMX #5's two final deferred facts: end-to-end write-roundtrip and end-to-end subscribe-receives-OnDataChange against the live Galaxy through the just-installed
OtOpcUaGalaxyHostservice.Target attribute
Nominated by the user: any tag from
TestMachine_001. Direct ZB query foundDelmiaReceiver_001.TestAttribute— a writable Boolean UDA on theTestMachine_001hierarchy whose name announces it's intended for exactly this.mx_data_type=1(Boolean),lock_type=0(writable),security_classification=1(Operate-tier writable).New facts
Write_then_read_roundtrips_a_writable_Boolean_attribute_on_TestMachine_001— read baseline, invert,WriteAsync, pollReadAsyncin a 5s scan-window loop until the new value comes back, restore on finally.Subscribe_fires_OnDataChange_with_initial_value_then_again_after_a_write— subscribe with 250ms publishing interval, drain the initial-value notification onto aConcurrentQueue(MXAccess advisory fires on its own thread — must not block it), record baseline depth, write the toggled value, wait up to 8s for the post-write notification, search the queue tail for the matching value. Unsubscribe + restore baseline on finally.Design notes
Convert.ToBoolean(value ?? false)— defensive against the boxed-vs-typed quirk in MessagePack-deserialized Galaxy values. Same patternOnReadValueuses.Run from a non-elevated shell
Expected: 7/7 pass against the running
OtOpcUaGalaxyHostservice.Test posture
lmx-followups.md#5 updated with the run command + the one remaining genuine follow-up (alarm-condition fact when an alarm-flagged attribute exists onTestMachine_001).