aboutsummaryrefslogtreecommitdiffstats
path: root/src/OpcUaMonitoredNode.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix writeValueAtRange sending scalar for single-element range writesThomas Vanbesien2026-02-241-0/+6
| | | | | | OPC UA requires an array value when using an index range, even for a single element. Strict servers reject a scalar with BadIndexRangeNoData. Wrap the coerced value in a QVariantList when it isn't one already.
* Add writeValueAtRange for index-range array writesThomas Vanbesien2026-02-231-0/+67
|
* Add custom log handler and expand demo node coverageThomas Vanbesien2026-02-201-0/+6
| | | | | | | | | Replace default Qt message pattern with a custom handler that matches open62541 server log format: timestamps with UTC offset, colored type/category tags padded to 20 chars, and shortened category names. Add sbyte, byte, datetime, guid, and bytestring node types to all three demo pages. Add Guid type coercion to writeValue.
* Wire monitored property to OPC UA monitored itemsThomas Vanbesien2026-02-201-3/+73
| | | | | | | The monitored bool now calls enableMonitoring/disableMonitoring on the Value attribute. Adds publishingInterval property (default 100ms). Value is no longer read at init — delivered by the monitored item. Empty 4th demo page to verify monitoring stops when navigating away.
* Add write support with automatic type coercion to OpcUaMonitoredNodeThomas Vanbesien2026-02-201-4/+216
| | | | | | | | | writeValue() Q_INVOKABLE coerces QML JS types to the exact C++ type expected by the OPC UA node (auto-detected from DataType attribute via opcUaDataTypeToQOpcUaType). Handles all scalar types, booleans, and comma-separated array input. Adds writable property derived from AccessLevel bits. Demo shows inline TextField + Write button for writable nodes, "(READ-ONLY)" for others.
* Display all 30 nodes across 3 pages with human-readable tooltipsThomas Vanbesien2026-02-201-2/+22
| | | | | | NodePage rewritten with Repeater/ItemDelegate showing 10 nodes per page (RW Scalars, RO Scalars, RW Arrays). DataType resolved via namespace0Id helpers, AccessLevel decoded from bitmask to readable flags.
* Implement OpcUaMonitoredNode attribute reading with OpcUaNodeInfo gadgetThomas Vanbesien2026-02-201-0/+157
|
* Add nodeId and monitored properties to OpcUaMonitoredNodeThomas Vanbesien2026-02-201-0/+30
|
* Rename classes to OpcUa* prefix, replace BobinkNode with OpcUaMonitoredNode ↵Thomas Vanbesien2026-02-201-0/+18
boilerplate Rename BobinkAuth → OpcUaAuth, BobinkClient → OpcUaClient (C++ class names only; QML module URI and singleton name stay as Bobink). Remove BobinkNode (QQuickItem-based) and add OpcUaMonitoredNode skeleton using QObject + QQmlParserStatus, following Qt convention for non-visual QML types.