|
From: Joel B. <jo...@ca...> - 2016-04-15 11:53:02
|
BACneteers,
tl;dr : a new subpackage called 'service' for collections of mix-ins and classes related to some specific functionality.
----
The server support for file objects is in samples/ReadWriteFileServer.py, with some extra code in bacpypes.app (the do_AtomicReadFileRequest and do_AtomicWriteFileRequest) so the device supports those services and can pass along the requests to the file objects. If an application wants to support files, then these two pieces should be included together in one module with a mix in class for the device object and the implementations of the file objects (the bogus random data that is in self._file_data in the __init__() would come out). The plan is to move it to 'bacpypes.service.file'.
The server support for COV is in samples/COVMixin.py and the plan is to move it to 'bacpypes.service.cov'.
The support for commandable objects is in samples/CommandableMixin.py and the plan is to move it to 'bacpypes.service.command'. There is no specific client test application because the regular read/write property applications work.
The support for ReadPropertyMultiple (and WritePropertyMultiple which isn't written yet) would move out of the samples and into the core Application class (in app.py).
You can probably guess where I'm going next...
bacpypes.service.alarm - alarm summary, acknowledge alarm
bacpypes.service.event - enrollment summary, event information, event notification
bacpypes.service.fault - fault algorithms as object mixin classes
bacpypes.service.trend - trend log objects and ReadRange service
bacpypes.service.vt - virtual terminal
Comments?
Joel
|