Skip to content

Conversation

@NikolaiShipilov
Copy link
Collaborator

No description provided.

openDAQ-dev and others added 30 commits January 29, 2026 14:29
* Improve stability

If a object could not be paresed it is still possible to connect with an opc-ua server. For this nullptr checks were added.

* Add one nullptr check more.
Temporary fix for disabled ws streaming on server
TODO: function-type properties
Missing:
  - Node order of function type properties
  - Handling of referenced nodes that appear in 2 places in the openDAQ component treee
* Remove order dependency for receiving of time/value signal meta-data in ws streaming
* Fix websocket streaming for scenarios when tableId does not equal to signalId
* Use ws streaming protocol absoluteReference meta as signal origin
    * <TBBAS-906> Signal/Streaming framework: Automatically subscribing mirrored signals
                  when signal has at least one connection to the InputPort
                  and unsubscribing when the connection count decreases to zero.
    * <TBBAS-905> Native streaming: Subscribing domain signals automatically by client side
                  when value signal is being subscribed.
                  Adding/Removing reader on server side when signal is being subscribed/usubscribed

    * Streaming framework refactoring:
      SignalRemote renamed to MirroredSignalConfig for interfaces and smart pointers
      IMirroredSignalConfig inherits ISignalConfig
      Streaming source management methods moved from ISignalConfig to IMirroredSignalConfig
      Streaming and MirroredSignal implement additional private interfaces
      Mirrored signal gets initial DataDescriptorChanged EventPacket directly from active streaming source
…ing or converting (allows reading of different value-types per signal)
* 'WebsocketControlPort' property added to websocket streaming server config
* streaming server utilizes control server implementation from streaming-protocol-lt library
* server subscribes signals only if request received from client
* <TBBAS-1200> Implement OpcUa attribute reader
    * subscribe/unsubscribe client signals which connected/disconnected to/from InputPort
    * temporarily subscribe all available signals during streaming connection initialization
* Renaming: TMS->DAQ

In opc-ua we are also calling the spec daq. Because of this we should also not use the name TMS there.

* Remove options for building daq mandatory opc-ua specs

For the openDAQ SDK it makes no sense to switch the options to false, because these types need to be known,
so that variables from a opc-ua server a visible on openDAQ client side.

* Add Vendor Spec support for openDAQ Clients

If an electronic supplier add some more definition to opc-ua based on the openDAQ specs, it
is possible to add these via vendor spec defintion. For this a vendor needs to add
the source of the opc-ua files, Types, nodeIds and the NodeSet2 itself.

* Add cmake generation of endpoint nodeset register methods

* Fix opc-ua types were not added to opc-ua server.

Tests are running again.
Remove specific registerCustomTypes call for HBK Spec.

* Improve PR based on Feedback

Create separate CMakeLists.txt for HBK vendor spec.
Add compile option for the vendor spec.

* Register only data types if the server supports the namespaces

This is important because if all namespaces are added which are generated by the SDK it could come to namespace index missmatch.
It is very importnat that only the namepsaces provided by the opc-ua server are added and in the right order.

---------

Co-authored-by: Jaka Mohorko <jaka.mohorko@dewesoft.com>
dejancrn and others added 28 commits January 29, 2026 14:29
)

* OPC-UA client: warn and ignore duplicate properties

* Update changelog and logger message

---------

Co-authored-by: Jaka Mohorko <jaka.mohorko@dewesoft.com>
* Fix parsing IPv6 addresses

* modify regex parsing according to https://datatracker.ietf.org/doc/html/rfc3986#section-2.3

Co-authored-by: Aljaž Frančič <aljaz.francic@gmail.com>

* Fix linklocal suffix for discovered IPv6 addresses on Windows

* Make connection string parsing regex static

* Update changelog

* Fix LT pseudo-device IPv6 connection info

* add tests for device connection info using IPv6 connection

---------

Co-authored-by: Aljaž Frančič <aljaz.francic@gmail.com>
* Provide host name for native client
* Fix redundant dropping of streaming connections when exclusive control client connected
* Fix property add and remove core events for DeviceInfo via config protocol
* Provide backward compatibility for older native config clients
* Switch to libNativeStreaming tag v1.0.18
* Make property removing thread-safe
* Add module helper method to populate discovered device info properties
Co-authored-by: Jaka Mohorko <jaka.mohorko@dewesoft.com>
* Add implementation of parallel device creation using std::async combined with existing device creation logic.
* Introduce new OPENDAQ_PARTIAL_SUCCESS status code.
* Add serialization support for IErrorInfo to enable error details transfer over the native configuration protocol.
* Extend native configuration protocol (and bump version to 16) to support bulk device addition.
Description:
- Adding default values for node attributes;
- Additional check of method args (if list/dict) before adding a method property node;

Changelog:
* fix: check if method args contain a list/dict before adding a method-property-node (list/dictionary types are not yet supported over OPC UA)

* [TBBAS-1960] fix: default value for variable node attributes;
it fixes a warning "Writing the value of Node <node> failed with the following reason: DataType of the value is incompatible"

* [TBBAS-1960] fix: default value for hbk variable node attributes;
    it fixes a warning "Writing the value of Node <node> failed with the following reason: DataType of the value is incompatible"
* Add installable version of daq::test_utils  as header-only interface lib
* Separate testutils into internal and installed libs
* Do not export-install module libraries as cmake targets
* Move and install opendaq_dependency macro
* Install discovery libraries for client modules
* Update changelog

* Add missing include
@NikolaiShipilov NikolaiShipilov force-pushed the other/extracted-history branch 2 times, most recently from c89bbde to 53ff1ac Compare January 29, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.