- Frame exception updates; See below. The
new_exceptionsparameter 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_exceptionswhen calling theFrame()constructor or theFrame.pack_len()method will issue a warning. - The
dali.addressclasses 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.generalhas been improved: commands now have appropriateResponsetypes. 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_configandCommand._responsehave 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=Falsewhen 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=Truewhen 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_valueattribute toResponseobjects to give access to the underlyingBackwardFrameof the response (orNoneif no response was received) - Add
NumericResponseandNumericResponseMaskclasses and make use of them where appropriate - Rename some
Commandclass attributes, removing the initial_to indicate that they are public. The API now supportsCommand.response,Command.devicetype,Command.uses_dtr{0,1,2},Command.inputdevandCommand.appctrlattributes. - 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.busmodule; 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._addressobjtodali.device.Device.address_objsince it is used as API indali.command.Command. [rnix] - Move
dali.device.Deviceclass todali.bus,dali.devicemodule has been removed which conflicted withdali.devicepackage. [rnix] - Add
dali.exceptionsmodule and move all DALI related exceptions to it. [rnix] - Move
dali.interfacestodali.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]