Releases: XKNX/xknx
Releases Β· XKNX/xknx
Expose cooldown
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
2.1.0 Enhance notification device
Devices
- Notification: Add
respond_to_read
option. - Notification: Rename
self._message
toself.remote_value
.
Find and Connect
Interface changes
- Removed
own_address
fromXKNX
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
andmulticast_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 bysecure_tunnelling
andsecure_routing
arguments. When multiple methods areTrue
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
andInvalidSignature
errors in favor ofInvalidSecureConfiguration
. - Keyring: rename
load_key_ring
toload_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
Bugfixes
- Fix Latency parsing in .knxkeys keyring files
Secure Routing
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 filesBackbone
tag. - Use
multicast_group
from a .knxkeys keyring filesMulticastAddress
tag (Routing). - Support InternalGroupAddress in xknx.tools package.
Protocol
- Add TimerNotify frame parser
Routing flow control
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
Bugfixes
- Fix expected sequence counter reset for UDP Tunnelling connections with route_back enabled.
Handle UDP hickups
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
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
Management
- Ignore received telegrams addressed to individual addresses other than XKNXs current address