When implementing an OPC-UA client using the client SDK and adding event monitored items to subscriptions a call to ConditionRefreshAsync has no effect.
ConditionRefreshAsync internally calls the method MethodIds.ConditionType_ConditionRefresh using Session.CallAsync. This call always returns BadNodeIdInvalid.
Instead the synchronous ConditionRefresh call works as expected in the same setup.
IMHO this is because the internal Session.CallAsync seems to miss the object-id parameter which is ObjectTypeIds.ConditionType in the synchronous ConditionRefresh call.
Expected Behavior
ConditionRefreshAsync should work like the ConditionRefresh call.
Steps To Reproduce
Create Session
Create Subscription
Add a event monitored item
Call ConditionRefreshAsync.
Environment
- OS: Windows 11
- Environment: VS 2022
- Runtime: .NET8
- Nuget Version: 1.5.374.126
- Component: OPCFoundation.NetStandard.Opc.Ua.Client
- Server: UA CPP Demo Server
- Client: Implementation based on OPCFoundation.NetStandard.Opc.Ua.Client
Type of issue
Current Behavior
When implementing an OPC-UA client using the client SDK and adding event monitored items to subscriptions a call to
ConditionRefreshAsync
has no effect.ConditionRefreshAsync
internally calls the methodMethodIds.ConditionType_ConditionRefresh
usingSession.CallAsync
. This call always returnsBadNodeIdInvalid
. Instead the synchronousConditionRefresh
call works as expected in the same setup.IMHO this is because the internal
Session.CallAsync
seems to miss the object-id parameter which isObjectTypeIds.ConditionType
in the synchronousConditionRefresh
call.Expected Behavior
ConditionRefreshAsync
should work like theConditionRefresh
call.Steps To Reproduce
ConditionRefreshAsync
.Environment
Anything else?
No response