Replies: 5 comments 7 replies
-
Hi, Do you have any feedback/wishes? Especially I'd be interested in the metadata that should be shown when selecting a node - what metadata would be interesting/important to have in this section? |
Beta Was this translation helpful? Give feedback.
-
Hi Dominik,
Looks good! For the DataType it would be good to see the data-type instead of this NodeId.
DisplayName would also be good - if you haven’t used this in the tree ;-)
regards,
Andreas
… Am 09.06.2023 um 09:04 schrieb Dominik Riemer ***@***.***>:
Hi,
I've started to work on asynchronous browsing. A screenshot of the current prototype is below. Users can browse through all nodes, see details on every node and nodes can be selected before navigating to the next step of the StreamPipes Connect wizard.
Do you have any feedback/wishes? Especially I'd be interested in the metadata that should be shown when selecting a node - what metadata would be interesting/important to have in this section?
<https://user-images.githubusercontent.com/33908476/244617252-5bfb8bfb-b247-4612-83d9-cce4d0baec2f.png>
—
Reply to this email directly, view it on GitHub <#1650 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGEZIGDYE45QNTRTM4Q6BKTXKLDJTANCNFSM6AAAAAAYYVVBUY>.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.
-
Hi @vogler75, |
Beta Was this translation helpful? Give feedback.
-
Hi @dominikriemer, |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
During the last time, we had a lot of discussions about weaknesses and potential features of our existing OPC UA adapter. To address those, I'd like to propose an action plan for this adapter that we can try to complete within the current release (
0.93.0
).I browsed through the existing issues and discussions and came up with the following overview.
1) Migrate existing OPC UA adapter and sink to a common module
This is a first refactoring task which allows us later on to share features between the adapter and sink (e.g., authentication) more easily and achieve consistency (as we already did for influx). This should include:
nodeId
&namespaceIndex
fromSpOocUaConfig
2) Pull & Subscription handling
We support two query options for OPC UA: pull-based and subscription. While we definitely want to keep both, their implementation in a shared OPC UA adapter introduces a lot of complexity and makes the code hard to read and understand. Therefore, we should add some separation here.
In addition there is one issue with the subscription mode and our current implementation. Let's say your adapter is connected two
x
nodes, then updates for all nodes can result in up tox
events. This might not always be the desired behavior. Thus we could introduce a buffering mechanism and allow the user to activate the buffering within the configuration menu.3) Support OPC UA timestamps
Currently, we don't support the timestamps that are provided by the OPC UA server for every node (server and source timestamp).
This can be achieved by providing a configuration field where a user can select which timestamp to use: server, source or StreamPipes. See also: #886.
To be clarified: Do both timestamps on OPC-UA side always exist? (Potential-Fallback: SP timestamp)
4) Fully support OPC UA types
Our OPC UA adapter can only handle number-based identifier types. This is not compatible with the OPC UA specification (https://reference.opcfoundation.org/Core/Part6/v104/docs/5.2.2). Therefore, we should aspire to get more feature-complete here.
5) Remove Requirement of NodeId (& namespace)
If we compare to tools like UaExpert, there is no need to state an initial node id or namespace.
We should try to get the same behavior and reduce the configuration effort for users thereby.
Furthermore, this should address needs raised here: #888 & ttps://github.com//discussions/890
This requires a asynchronous browsing of available nodes (see 8).
6) Connection Caching
We could cache the connections to an OPC UA server so that they can be shared for multiple adapter instances.
See #888
7) Support encrypted connection
As of now, we only support no authentication and authentication via username/password.
Encrypted authentication is currently not supported.
See #1449
8) Load available nodes on demand
The current adapter tries to load all existing nodes in an OPC UA server recursively which can cause performance problems for larger servers. Therefore, we should introduce partial loading that allows to brows through the existing nodes iteratively.
See #895
9) Add integration test
To improve the robustness of our OPC UA implementation, we could introduce an integration test.
How could possible options look like? Starting a server in a docker container?
10) Handling null values
This is not specific to OPC UA, but I think it's time to handle null/optional values properly in StreamPipes.
References: #1596 & #1485
11) Celebrate new OPC UA adapter
Once we have implemented the desired improvements, we should promote & celebrate the new OPC UA adapter in form of a detailed blog post.
In the midterm we could also think about having a look at the companion specifications and support some aspects there.
This collection is intended as a starting point for further discussion. What do you all think about the different aspects?
If not already there, let's create issues to complete the tasks and add them here or start discussions (as individual threads per topic below) about the individual steps.
cc: @Praveensteinb @vogler75 @curichan @ohlr @dominikriemer @tenthe
Beta Was this translation helpful? Give feedback.
All reactions