Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Update address space to 1.05.02 #1444

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Draft: Update address space to 1.05.02 #1444

wants to merge 3 commits into from

Conversation

oroulet
Copy link
Member

@oroulet oroulet commented Sep 17, 2023

seems to break some stuff that need to be fixed somehow...

@oroulet
Copy link
Member Author

oroulet commented Sep 17, 2023

@ZuZuD client HR client failing with that update

@schroeder- @AndreasHeine or anyone knowing events. What is that failing test supposed to test? I have no idea what is correct. I did not change anything apart from updating address space

@schroeder-
Copy link
Contributor

If i find free time i can look into the event stuff.
Ma guess would be they changed some refs types which our server or event generator doesn't support yet.

@AndreasHeine
Copy link
Member

@oroulet did they add/remove eventfields in 1.05?

@oroulet
Copy link
Member Author

oroulet commented Sep 17, 2023

@oroulet did they add/remove eventfields in 1.05?

Zero ideas but it looks like something like that. It is probably just a matter of adapting the tests..

Comment on lines +34 to +37
self.add_property('ConditionClassId', None, ua.VariantType.NodeId)
self.add_property('ConditionClassName', None, ua.VariantType.LocalizedText)
self.add_property('ConditionSubClassId', None, ua.VariantType.NodeId)
self.add_property('ConditionSubClassName', None, ua.VariantType.LocalizedText)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These optional Fields got added to every event.

@SnoopAir
Copy link

Hello, I'm started using asyncio/asyncua for the first time in a project. The given custom NodeSet depends on 1.05.02 and I wonder what is preventing this merge request from being done.
Are there open issues/questions preventing the merge? Is there a guesstimate when it will be done? Or anything that can be helped with?

@Gregor841
Copy link

My programming skills are probably to little to actively help, but i would also highly appreciate if 1.05.02 would be supported as it is blocking our development as the 05.02 is a requirement for the modules we would like to load to our OPC UA Server.
The Python Server is just amazing for people "only" having an automation background and compared to the .NET SDK it takes 10x less time to get results.

@oroulet
Copy link
Member Author

oroulet commented Apr 24, 2024

I really should finish that one. I was hoping to get help for parts of the code I do not know but maybe I should just remove the failing code

@schroeder-
Copy link
Contributor

For the failing test, you need to add these event fields, that got added in 1.05.02 for every event:

'ConditionClassId', None, ua.VariantType.NodeId
'ConditionClassName', None, ua.VariantType.LocalizedText
'ConditionSubClassId', None, ua.VariantType.NodeId
'ConditionSubClassName', None, ua.VariantType.LocalizedText

@oroulet
Copy link
Member Author

oroulet commented Apr 25, 2024

'ConditionClassId', None, ua.VariantType.NodeId
'ConditionClassName', None, ua.VariantType.LocalizedText
'ConditionSubClassId', None, ua.VariantType.NodeId
'ConditionSubClassName', None, ua.VariantType.LocalizedText

Thanks, but to add where? I could not find out where. everything in event code seems to be read from the address space. Where are the hard coded things?

@schroeder-
Copy link
Contributor

schroeder- commented Apr 25, 2024

Maybe because they are optional? Or just remove them from the comparison list.

@schroeder-
Copy link
Contributor

The properties get added mutliple times:

self.add_property('ConditionClassId', None, ua.VariantType.NodeId)
self.add_property('ConditionClassName', None, ua.VariantType.LocalizedText)
self.add_property('ConditionSubClassId', None, ua.VariantType.NodeId)
self.add_property('ConditionSubClassName', None, ua.VariantType.LocalizedText)

and

self.add_property('ConditionClassId', None, ua.VariantType.NodeId)
self.add_property('ConditionClassName', None, ua.VariantType.LocalizedText)
self.add_property('ConditionSubClassId', None, ua.VariantType.NodeId)
self.add_property('ConditionSubClassName', None, ua.VariantType.LocalizedText)

this could be the error.

@oroulet
Copy link
Member Author

oroulet commented Apr 25, 2024

removing these, did not help, Did not change anything in fact. but I still do not understand anything of that event code ;-(

@schroeder-
Copy link
Contributor

Ok its not the lines.
But if these lines are added, they also added multiple times in the address space. This could trigger the issue. Maybe start a simple server and look if BaseEventType and ConditionId contain both these 4 values.
Because from the logging of the test it looks like in 1 case these values are dupplicated and in another case they are not dupplicated in the list.

@oroulet
Copy link
Member Author

oroulet commented Apr 25, 2024

these extra attribute must come from model at least. probably a bug in 1.0.5
and yes I see them when browsing
image

@schroeder-
Copy link
Contributor

From the spec:
The BrowseNames of the ConditionClassId, ConditionClassName, ConditionSubClassId, and ConditionSubClassName Properties originated from OPC 10000-9. They have now been generalized to also apply to Events, however to preserve backward compatibility the names have been preserved.

Maybe just use convert the list to sets and compare those?

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.

None yet

5 participants