.... (None, <PropertyIdentifier: 10502>), .....
\nYou see \"None\" for this property, but if I readout this with Yabe, I see:
\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.
\nSome guess work can be done when reading... but to write to those properties, you got to be certain.
\nFor 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.
\nFor 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
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
I need to import the file so BAC0 \"knows\" about the proprietary objects and properties
\nimport 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
I may or not provide the vendor ID
\nBy 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"}}}-
Beta Was this translation helpful? Give feedback.
-
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 : Here is an example on how I use this principle with Johnson Controls devices
I need to import the file so BAC0 "knows" about the proprietary objects and properties
I may or not provide the vendor ID By using this file, BAC0 knows the type, so it's also possible to write to the properties when allowed. |
Beta Was this translation helpful? Give feedback.
-
excellent! It works at the first trial. Many thanks! |
Beta Was this translation helpful? Give feedback.
-
Hi,
However, I still get the ‘-no property type-’ error when trying to read my property:
So I'm wondering whether I need to do something else for BAC0 to take it into account? I read in the lib documentation (https://bac0.readthedocs.io/en/latest/proprietary_objects.html) something about a create_proprietaryobject function to call but it doesn't seem to exist in BAC0 2025.2.post18... Thanks in advance ! |
Beta Was this translation helpful? Give feedback.
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…