Hello everyone,
I am able to connect my Jetson Nano to a BACnet network and run bacnet.whois()
and bacnet.devices
and see the Temco T3-LB controller; I use this information to then create a BACnet object representing the controller. This is the code I use:
import BAC0
# Connect to the BACnet network
bacnet = BAC0.connect(ip='192.168.99.105/24')
# Discover the BACnet controller and obtain its IP address and Device Instance ID
controller_info = bacnet.whois()[0]
controller_ip, device_instance_id = controller_info
# Create a BACnet object representing the controller
controller = BAC0.device(address=controller_ip, device_id=device_instance_id, network=bacnet)
The following is the output for running bacnet.whois()
and bacnet.devices
in a Python console:
>>> bacnet.whois()
[('192.168.99.2', 205244)]
>>> bacnet.devices
Manufacturer Address Device ID
Name
T3-LB TemcoControls 192.168.99.2 205244
However, I have not been able to find documentation on how exactly to read from OR write to (overwrite) a value of an AnalogOutput; I also cannot get the points for the controller. I have been trying without success for the past few days. This is what I get when I try to get the points:
>>> controller.points
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/username/archiconda3/lib/python3.7/site-packages/BAC0/core/devices/Points.py", line 725, in __repr__
val = float(self.lastValue)
TypeError: float() argument must be a string or a number, not 'NoneType'
The closest thing I could get to read values without immediately getting errors was running the following:
>>> objects = bacnet.read('192.168.99.2 device 205244 objectList')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/username/archiconda3/lib/python3.7/site-packages/BAC0/core/io/Read.py", line 217, in read
"APDU Abort Reason : {}".format(reason)
BAC0.core.io.IOExceptions.NoResponseFromController: APDU Abort Reason : noResponse
but as you can see, I got a noResponse
.
I want to know how to use the labels used for the analog outputs (OUT7) and what should the values be for obj_type_str
and prop_id_str
in build_rp_request
, I already know which addr
and obj_inst_str
to use.
TL;DR version: I need to know how to programmatically (by using Python, via BAC0
) read from and overwrite to the different Analog Outputs. It would be much appreciated!