Skip to content

Releases: XKNX/xknx

Management

25 Jul 23:05
Compare
Choose a tag to compare

Management

  • Add support for creating point-to-point connections to do device management
  • Add nm_individual_address_check procedure to check if an individual address is in use on the network
  • Add dm_restart procedure to request a basic restart of a device
  • Remove PayloadReader class. Management procedure functions should be used to request data from individual devices.

Internals

  • Optionally return a list of Telegrams to be sent to an incoming request as reply. This is used for incoming device management requests. Callbacks for incoming requests (in Interface subclasses) are now handled in an asyncio Task.
  • Incoming L_DATA.req frames are confirmed (L_DATA.con) and replies / acks are sent as L_DATA.ind

Secure discovery bugfix

28 Jun 11:47
Compare
Choose a tag to compare

Bugfix

  • Fix GatewayDescriptor parsing when SearchResponseExtended DIBs are in unexpected order

Fan out

07 Jun 22:06
Compare
Choose a tag to compare

Devices

  • Fan: Add support for dedicated on/off switch GA
  • Sensor: Set unit_of_measurement for DPTString to None

Internals

  • Lock sending telegrams via a Tunnel until a confirmation is received
  • Use device subclass for device_updated_cb callback argument type hint
  • Fix CEMI Frame Ack-request flag set wrongly

Cover update

17 May 12:13
Compare
Choose a tag to compare

Devices

  • Cover: call device_updated_cb periodically when cover is moving
  • Cover: auto-send a stop for covers not supporting setting position
  • Cover: add invert_updown option to decouple updown from position
  • Cover: fix travel time prediction when receiving updates from bus while moving

Protocol

  • Parse and encode different TPCI in a CEMIFrame or Telegram
  • Set priority "System" flag for point-to-point CEMI frames initialized by a Telegram

0.21.2 IP Secure Bug fixes

03 May 22:08
Compare
Choose a tag to compare

Bugfixes

  • IP Secure: Fix MAC calculation for 22-byte payloads
  • IP Secure: Fix Keyring loading

Internals

  • Rename TaskRegistry.register and Task task attribute to async_func to avoid confusion; return Task from start()

Fix Task Registry

01 May 07:53
Compare
Choose a tag to compare

Fix Task Registry

Bugfixes

  • Fix exposure of datetime, time and date objects to the Bus again

Internals

  • TaskRegistry takes functions returning coroutines instead of coroutines directly

Search and connect

30 Apr 12:22
Compare
Choose a tag to compare

Discovery

  • Use unicast discovery endpoint to receive SearchRespones frames
  • Send SearchRequest and SearchRequestExtended simultaneously when using GatewayScanner
  • Skip SearchResponse results for Core-V2 devices - wait for SearchResponseExtended
  • Identify interfaces having KNX IP Secure Tunneling required and skip if using Automatic connection mode
  • Only send SearchRequests from one interface for each scan() call
  • Connect to next found interface in case of unsuccessful initial connection when using "automatic" mode

Internals

  • Use ifaddr instead of netifaces
  • make HPAI hashable and add addr_tuple convenice property

Fix exposure of time and date & cleanups

20 Apr 20:57
Compare
Choose a tag to compare

Bugfixes

  • Fix exposure of datetime, time and date objects to the Bus

Protocol

  • Add DIBSecuredServiceFamilies and DIBTunnelingInfo parser

Internal

  • Include base class in DPTBase.parse_transcoder() lookup
  • Move levels instance attribute form GroupAddress to address_format class variable
  • Remove xknx form every class in the knxip package: CEMIFrame, KNXIPFrame and KNXIPBody (and subclasses)
  • Remove xknx form every class in the io.request_response package
  • Remove xknx form io.transport package and io.secure_session and io.self_description modules

Threading fixes

15 Apr 20:17
Compare
Choose a tag to compare

Devices

  • Notification: add value_type argument to set "string" or "latin_1" text encoding

Bug fixes

  • Fix call from wrong thread in ConnectionManager
  • Fix thread leak when restarting XKNX

Internal

  • Change RemoteValueString to _RemoteValueGeneric subclass

Properly handle device shutdowns

11 Apr 12:17
Compare
Choose a tag to compare

0.20.2 Handle shutdown properly

Bug fixes

  • Properly shutdown climate mode if climate.shutdown() is called and ClimateMode exists