Skip to content
\n

.... (None, <PropertyIdentifier: 10502>), .....

\n

You see \"None\" for this property, but if I readout this with Yabe, I see:
\n\"Screenshot

\n

How can I readout this property?

","upvoteCount":1,"answerCount":3,"acceptedAnswer":{"@type":"Answer","text":"

Dealing with Proprietary objects in BAC0 (in fact, with BACpypes3) requires some work. The library needs to know in advance, what kind of \"type\" the property is.

\n

Some guess work can be done when reading... but to write to those properties, you got to be certain.

\n

For now, the way I understood BACpypes3, I haven't looked too deep in the \"guess the type path\" and I adopted the explicit way of defining proprietary objects and properties. This way, we can safely read and write those.

\n

For your convenience, I added one attempt to define the proprietary objects for priva blue contollers here :
\nhttps://github.com/ChristianTremblay/BAC0/blob/develop/BAC0/core/proprietary_objects/privablue_105.py

\n

Here is an example on how I use this principle with Johnson Controls devices

\n
# trying to read property 32527 of Device Object\nawait bacnet.read('3:6 device:5206 32527')\n\nRuntimeWarning: Enable tracemalloc to get the object allocation traceback\n'-no property type-'\n
\n

I need to import the file so BAC0 \"knows\" about the proprietary objects and properties

\n
import BAC0.core.proprietary_objects.jci_5\n>>> await bacnet.read('3:6 device:5206 32527', vendor_id=5) \n'8-1'\n>>> await bacnet.read('3:6 device:5206 32527')              \n'8-1'\n
\n

I may or not provide the vendor ID

\n

By using this file, BAC0 knows the type, so it's also possible to write to the properties when allowed.

","upvoteCount":1,"url":"https://github.com/ChristianTremblay/BAC0/discussions/531#discussioncomment-12377047"}}}

Read proprietary property #531

Answered by ChristianTremblay
hvdort asked this question in Q&A
Discussion options

You must be logged in to vote

Dealing with Proprietary objects in BAC0 (in fact, with BACpypes3) requires some work. The library needs to know in advance, what kind of "type" the property is.

Some guess work can be done when reading... but to write to those properties, you got to be certain.

For now, the way I understood BACpypes3, I haven't looked too deep in the "guess the type path" and I adopted the explicit way of defining proprietary objects and properties. This way, we can safely read and write those.

For your convenience, I added one attempt to define the proprietary objects for priva blue contollers here :
https://github.com/ChristianTremblay/BAC0/blob/develop/BAC0/core/proprietary_objects/privablue_105.py

He…

Replies: 3 comments

Comment options

You must be logged in to vote
0 replies
Answer selected by hvdort
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants