I was trying to use BAC0 package in python 3 to get value from BACnet device available in BACnet network.
import BAC0 bacnet = BAC0.lite(ip='192.168.5.10/24' ,port=47809)
value = bacnet.read("192.168.5.13:47808 analogInput 1 presentValue")
Where 192.168.5.10 is my local PC Host address and 192.168.5.13 is the ip address of BACnet Device
Getting error :
BAC0.core.io.IOExceptions.NoResponseFromController: APDU Abort Reason : Timeout
First off - for the benefit of others, you're missing a new-line after the 'import BAC0' statement.
I've just tested with a slight variant (- not that I'm a Python developer), but it seemed to work; I've masked the exact IP addresses that I tested with):
Are you sure you've got the correct (IP address and) port #?
Has the default gateway been set upon the 'server'/serving/target device (- at least in the case whereby the BACnet client & server are sitting within different subnets)?
Are you sure that this target/'server' device does not also have a DNET & DADR pair of values associated with it - i.e. also require them to be specified?
Is there a F/W blocking communication?
Is the device currently (marked as) 'out-of-service' (or encountering an issue)?
Has it got a valid BACnet license and/or BACnet configuration applied?
You might need to diagnose further with Wireshark, to see what response octets/bytes are been sent back (if any - and maybe even what 'service' request octets/bytes are been sent); or maybe even 'VTS' (Visual Test Shell) instead/too.