Profile cover photo
Profile photo
BACpypes
107 followers -
BACpypes is a library for building BACnet applications using Python.
BACpypes is a library for building BACnet applications using Python.

107 followers
About
BACpypes's posts

Post has attachment
Version 0.14.1 Released

Hot on the heals of the last release comes the next one that fixes lots of squirmy wormy bugs, and this has the wheel for the pip installers. Shoutout to +Christian Tremblay for helping find them so quickly.

Version 0.14.0 Released

I've been receiving feedback that the segmentation state machine code was broken and most of the work in this release has been to fix it.  I wanted to have some detailed units tests that beat the pulp out of the various state transitions, but I have settled for running "no barf" tests for now.

The only API change is that the DeviceInfo class has moved from the appservice module to the app module, and there is a new DeviceInfoCache class which is used to maintain the DeviceInfo instances used by the state machines.  There will be some additional sample applications that show how you can build derived classes to synchronize the cache with databases.

Post has attachment
Version 0.13.8 Released

This release begins to distance itself from Python 2.5 support by moving the sample applications from py25/py27 syntax to py27/p34 syntax. The library itself is still supported, but without being supported by the nose and tox testing tools and without a collection of sample applications, it will be harder to make sure it stays current.

* the samples have moved from py25 to py27/py34
* the project metadata has moved from the setup.py file to the init.py files
* verify the object identifier is well-formed

This release is titled Ready To Move because the next round of changes will be more significant.

Post has attachment
Version 0.13.7 Released

This relatively simple patch release is to clean up some problems with platform detection (which is now much more explicit) add a little hook from objects back to the application stack that "owns" it, clean up a minor string/bytes issue in the TCP stuff which probably doesn't impact anybody.

There are now some COV sample applications that are still a work in progress (COVMixin.py for the server side and SubscribeCOV.py for the client side), a ConsoleCmd.py sample application that will eventually be part of an improved tutorial, and TCPClient.py and TCPServer.py applications if you are curious in digging into the TCP side of things.

On the topic of Read Property Multiple, if you could poke around some with those sample applications and describe a condition where it fails, I would appreciate it, and join in the thread with +Ananatharaj G to track down the bug.

+Ananatharaj G I got your request in the comment on the release announcement and I thought it would be better to start a new thread.

What kinds of things do you think the sample should show?  There are quite a few different collections of optional properties (like the change of state tracking properties, intrinsic reporting, etc).  The simplest version doesn't have any of the optional properties, just the required ones.

For binary inputs and outputs there is also an expectation that there is some related physical input and output, and there are lots of different ways the rest of the "platform" will signal those changes to your application.  Do you have a simple Python application that detects changes to a binary input and prints to the console and accepts a value from the user and makes a call to trigger an output change?

Post has attachment
Version 0.13.6 Released

While investigating a bug with a BACpypes user, I found another which warranted a "hot fix" release.  While the patch was very simple [1], getting it uploaded to PyPI was trouble and I stumbled around with file names bundled into the release names, and then again getting the wheels right, and it necessitated another version.

Along with the patch is a new bit of sample code that mocks up an accumulator object in the simplest way, so reading valueChangeTime returns a DateTime object with the current date and time.

[1] https://github.com/JoelBender/bacpypes/commit/debc36e3b89a2f9f42b8ea5296eac491863d8eac

Post has attachment
Version 0.13.4 Released

On the off chance that #BACpypes  email traffic doesn't jump out of you Inbox and do a happy jig on the top of your monitor, there has been another release of BACpypes!  This one solves a specific issue [1] that has popped up on more than one occasion.

If you have notifications from PyPI and you are watching BACpypes releases, you will noticed that version 0.13.5 appeared briefly, but this was an anomaly caused by me running a set of commands in the wrong order :-/.

There is another new feature courtesy of the GitHub community, Gitter!  This is a chat room specific to the project where you can ask questions or just say hello.  It supports GitHub markdown, you so you can chat about issues or post fancy code snippets, etc.  I'm not present all the time, but I am while I'm working on BACpypes issues, and I'll chat back when I see your comments. 


Joel
[1] https://github.com/JoelBender/bacpypes/issues/63
[2] https://gitter.im/JoelBender/bacpypes

Post has attachment
Version 0.13.3 Released

More bugs have been squashed and issues closed.  The really nice thing about git branches is being able to move from issue to issue, the not so nice thing is figuring out which branches are for closed issues that have been merged and should be deleted.

Post has attachment
Version 0.13.2 Released

There has been a lot of work on #BACpypes lately, mostly cleaning up loose ends, and some things (specifically Date parsing of string values) have significantly improved.  The eggs and wheels are available on PyPI and the latest code is always available on GitHub:

    https://github.com/JoelBender/bacpypes/releases/tag/v0.13.2

A Huge Thank You to Christian Tremblay and Steve Mandl for helping get this together.  There were a fair number of bumps in the road keeping the branches and issues straight!


Joel

Post has attachment
Now that I've started, let's see what I should be doing if I had watched this presentation first!  LOL!  Timing is everything...
Wait while more posts are being loaded