Skip to content

Releases: XKNX/xknx

Expose cooldown

27 Dec 10:56
Compare
Choose a tag to compare

Devices

  • ExposeSensor: Add cooldown option to allow rate-limiting of sent telegrams.
  • ExposeSensor: Add respond_to_read option.

Connection

  • Disconnect when tunnelling sequence number (UDP) gets out of sync.

Internals

  • Add task.done() to TaskRegistry tasks.
  • Decouple KNXIPFrame parsing from CEMIFrame parsing. TunnellingRequest and RoutingIndication now carry the raw cemi frame payload as bytes. This allows decoupled CEMIFrame parsing at a later time (in Interface class rather than in KNXIPTransport class) for better error handling and upcoming features.
  • Make KNXIPFrame body non-optional. Return KNXIPFrame object and remaining bytes from KNXIPFrame.from_knx() staticmethod.
  • Add new logger xknx.cemi for incoming and outgoing CEMIFrames.
  • Remove timestamp and line break in knx and raw logger.

2.1.0 Enhance notification device

29 Nov 14:05
Compare
Choose a tag to compare

2.1.0 Enhance notification device

Devices

  • Notification: Add respond_to_read option.
  • Notification: Rename self._message to self.remote_value.

Find and Connect

25 Nov 15:18
58dd959
Compare
Choose a tag to compare

Interface changes

  • Removed own_address from XKNX class. ConnectionConfig individual_address can be used to set a source address for routing instead.
    If set for a secure tunnelling connection, a tunnel with this IA will be read from the knxkeys file.
  • Disable TelegramQueue rate limiting by default.
  • Separate discovery multicast group from routing group. Add multicast_group and multicast_port ConnectionConfig parameters.

Connection and Discovery

  • Use manually configured IP secure tunnel password over loading it from keyring.
  • GatewayScanFilter now also matches secure enabled gateways by default. The secure argument as been replaced by secure_tunnelling and secure_routing arguments. When multiple methods are True a gateway is matched if one of them is supported. Non-secure methods don't match if secure is required for that gateway.
  • Self description queries more information from Core v2 devices via SearchRequestExtended.

Features

  • Add support for python 3.11
  • Add methods to Keyring to get interfaces by individual address (host or tunnel).

Internal

  • Remove InterfaceWithUserIdNotFound and InvalidSignature errors in favor of InvalidSecureConfiguration.
  • Keyring: rename load_key_ring to load_keyring and make it a coroutine.

Management

  • Fix APCI service parsing for 10bit control fileds.
  • Set reasonable default count values for APCI classes.
  • Set xknx.current_address for routing connections so management frames received over Routing are handled properly.
  • Fix wrong length of AuthorizeRequest.
  • Raise sane error messages in Management.

Bugfixes

  • No mutable default arguments. Fixes unexpected behaviour like GatewayScanner not finding all interfaces.

1.2.1 Hotfix release

20 Nov 11:50
Compare
Choose a tag to compare

Bugfixes

  • Fix Latency parsing in .knxkeys keyring files

Secure Routing

10 Oct 05:43
Compare
Choose a tag to compare

This is our 100th release πŸŽ‰

Features

  • We now support KNXnet/IP Secure multicast communication (secure routing) in addition to tunnelling!
    Thanks to Weinzierl for providing us a router for testing purposes!
  • Parse latency from a .knxkeys keyring files Backbone tag.
  • Use multicast_group from a .knxkeys keyring files MulticastAddress tag (Routing).
  • Support InternalGroupAddress in xknx.tools package.

Protocol

  • Add TimerNotify frame parser

Routing flow control

26 Sep 19:42
Compare
Choose a tag to compare

Added

  • Convenience functions for KNX group communication (xknx.tools)

Routing

  • Support flow control for routing

Protocol

  • Add RoutingBusy frame parser
  • Add RoutingLostMessage frame parser

Route-back reconnect

31 Aug 21:56
Compare
Choose a tag to compare

Bugfixes

  • Fix expected sequence counter reset for UDP Tunnelling connections with route_back enabled.

Handle UDP hickups

24 Aug 07:02
Compare
Choose a tag to compare

Bugfixes

  • Correctly retry sending a TunnellingRequest if no TunnellingAck was received for the first time for UDP tunnelling connections
  • Ignore repeated TunnellingRequests received from UDP tunnelling connections
  • Properly log repeated heartbeat errors

1.0.0 - Support for lukewarm temperatures

13 Aug 22:03
Compare
Choose a tag to compare

Internal

  • Fix DPT2ByteFloat numeric range issues
  • Fix keyring parsing
  • We can now correctly parse 20,48 Β°C thus xknx is now a stable library (switch to SemVer versioning)

Wrong delivery

29 Jul 14:03
Compare
Choose a tag to compare

Management

  • Ignore received telegrams addressed to individual addresses other than XKNXs current address