VOLTTRON / volttron

VOLTTRON Distributed Control System Platform
https://volttron.readthedocs.io/
Other
456 stars 216 forks source link

Upgrade Bacpypes to latest version #2820

Open bonicim opened 2 years ago

bonicim commented 2 years ago

Description of Issue

Volttron is currently pinned to use the dependency, Bacpypes == 0.16.7, which is not compatible with Python3. Since Python2.7 has already been sunset and Volttron requires Python 3.6, the Bacpypes dependency also needs to updated. More importantly, some of Volttron's Bacnet scripts, which use Bacpypes under the hood, can potentially fail because Volttron is calling those scripts using Python3. For example, grab_bacnet_config.py can fail because the script is executing incompatible Python 2.7 code from Bacpypes using Python 3. See #2818

UPDATE: For more guidance on updating the Bacpypes library, see Technology Robusness category in #2925.

There are two main places where bacpypes is used: BacnetProxyAgent and Volttron's BACnet scripts.

On a different note, what is to be gained from upgrading bacpypes to the latest release vis-a-vis the effort to upgrade it within the Volttron Driver Framework?

Affected Version

develop

acedrew commented 2 years ago

Hey @bonicim it looks like I was conflating conversations with Joel about what was coming down the pipe (pype?) with what's actually done, it looks like even the most recent release is still based on asyncore. Asyncore is not scheduled for deprecation until 3.12, but that's not too far away.