JoelBender / bacpypes

BACpypes provides a BACnet application layer and network layer written in Python for daemons, scripting, and graphical interfaces.
MIT License
303 stars 129 forks source link

Unsetting the expecting reply bit #472

Open JoelBender opened 2 years ago

JoelBender commented 2 years ago

Discussed in https://github.com/JoelBender/bacpypes/discussions/471

When unsetting the expecting reply bit in a ReadPropertyMultipleRequest like this:

        request = ReadPropertyMultipleRequest(listOfReadAccessSpecs=readAccessSpecList)
        request.pduExpectingReply = 0
        request.pduDestination = Address(address)
        iocb = IOCB(request)
        deferred(self.request_io, iocb)

The bit is turned back on by the time the packet hits the wire.

JoelBender commented 2 years ago

There is a gist here that shows the bit correctly follows the request, if it is turned off at the application then it remains off through the stack.