- Frame exception updates; See below. The
new_exceptions
parameter has been removed from theFrame()
constructor and theFrame.pack_len()
method. - Method to control the power supply in the Lunatone DALI USB 30ma
added to
dali.driver.hid.tridonic
[mbecker] - Improved support for colour-control devices (device type 8) [jktjkt]
- Driver for Lunatine SCI RS232 [opieters]
- Driver for AL-DALI-HAT [rijimuge]
- Bug fixes to input device support [jktjkt]
The exceptions raised by dali.frame.Frame()
and the
Frame.pack_len()
method are changing. In release versions <= 0.8,
if you pass an invalid sequence to initialise a Frame
a
TypeError
will be raised. In release 0.9 this changed to
ValueError
. If you pass an invalid length to pack_len()
,
currently a ValueError
will be raised. In release 0.9 this changed
to OverflowError
.
To obtain the new behaviour when using release 0.8, pass
new_exceptions=True
to Frame()
and pack_len()
. In release
0.9, you can to continue to obtain the old behaviour by passing
new_exceptions=False
. In the release after that (provisionally
"0.10"), passing any value for new_exceptions
will issue a warning
and in the release after that, the new_exceptions
keyword
argument will be removed.
The new behaviour makes the library more consistent with the
exceptions raised by the native int.from_bytes()
and
int.to_bytes()
methods.
- Python 3.6 is no longer supported.
- Frame exception updates; see above. The old behaviour is no longer
available and passing
new_exceptions
when calling theFrame()
constructor or theFrame.pack_len()
method will issue a warning. - The
dali.address
classes for gear and devices have been separated.dali.address.Short()
has been split intodali.address.GearShort()
anddali.address.DeviceShort()
; similar changes have been made toGroup()
,Broadcast()
andBroadcastUnaddressed()
. The old names are still present and usable for gear, and there is no plan to remove them. [sl-wallace] - The 24-bit command support in
dali.device.general
has been improved: commands now have appropriateResponse
types. This code has now been tested against real hardware. [sl-wallace] - The memory subsystem now supports access to the memory banks of 24-bit control devices as well as 16-bit control gear. [sl-wallace]
- 24-bit event messages are supported. [sl-wallace]
- Support has been added for pushbutton devices (IEC 62386 part 301). [sl-wallace]
- 24-bit frame support has been added to the async Tridonic driver. [sde1000]
- A driver has been added for Lunatone LUBA serial DALI interfaces. [sl-wallace]
- Support for colour devices (device type 8) has been added. [sl-wallace / Petr Ilgner]
- Support for occupancy sensors (IEC 62386 part 303). [sl-wallace]
- Support for light sensors (IEC 62386 part 304). [sl-wallace]
Command._devicetype
,Command.is_config
andCommand._response
have been removed. (They were deprecated in release 0.7.)- Frame exception updates; see above. The new behaviour is now the
default, and the old behaviour can be accessed by passing
new_exceptions=False
when calling theFrame()
constructor and theFrame.pack_len()
method. - Updated the Hasseb driver to use a more generally available HID library [dgomes]
- Memory bank subsystem: command sequences to access and interpret the contents of memory banks [ferdinandkeil, sde1000]
- Frame exception updates; see above. The new behaviour can be
accessed in this release by passing
new_exceptions=True
when calling theFrame()
constructor and theFrame.pack_len()
method. - Driver updates [jbaptperez, awahlig, rousveiga, rnixx]
- Remove unused problematic imports from
dali.driver.hasseb
[dgomes]
- Frame improvements: add
pack_len()
method and simplifystr(BackwardFrame())
output - Add
Response.raw_value
attribute toResponse
objects to give access to the underlyingBackwardFrame
of the response (orNone
if no response was received) - Add
NumericResponse
andNumericResponseMask
classes and make use of them where appropriate - Rename some
Command
class attributes, removing the initial_
to indicate that they are public. The API now supportsCommand.response
,Command.devicetype
,Command.uses_dtr{0,1,2}
,Command.inputdev
andCommand.appctrl
attributes. - Add support for "sequences" of commands that implement higher-level operations. Initial sequences include commisioning of control gear (discovering bus units and assigning short addresses), reading the list of device types, querying and setting group membership.
- Remove the obsolete
dali.bus
module; all of the useful code from it is now implemented as sequences - 4–5× performance improvement of the
command.from_frame()
function - Remove support for Python 2
- Some driver additions and changes [sde1000, hasseb, mhemeryck]
- Python 3 fix in async Tridonic driver [jjonek]
- Updated Hasseb driver [dgomes]
- Move tests to dedicated package. [rnix]
- Rename
dali.device.Device._addressobj
todali.device.Device.address_obj
since it is used as API indali.command.Command
. [rnix] - Move
dali.device.Device
class todali.bus
,dali.device
module has been removed which conflicted withdali.device
package. [rnix] - Add
dali.exceptions
module and move all DALI related exceptions to it. [rnix] - Move
dali.interfaces
todali.drivers.daliserver
. [rnix] - Update Package structure documentation. [rnix]
- PyPI support [dgomes]
- Python 3 support [sde1000]
- Introduce basic sync and async drivers. [rnix]
- Basic implementation of LUNATONE Dali USB driver. [rnix]
- Initial release. [sde1000]