Releases: XKNX/xknx
Releases · XKNX/xknx
Add support for DPT 16.001 and SearchRequestExtended
Features
- Add support for SearchRequestExtended to find interfaces that allow IP Secure
- Use XKNX
state_updater
argument to set default method for StateUpdater. StateUpdater is always started - Device / RemoteValue can always opt in to use it, even if default isFalse
. - Add support for DPT 16.001 (DPT_String_8859_1) as
DPTLatin1
with value_type "latin_1".
Bug fixes
- Stop SecureSession keepalive_task when session is stopped (and don't restart it from sending STATUS_CLOSE)
- Fix encoding invalid characters for DPTString (value_type "string")
IP Secure
🥳 IP Secure 🥳
New features
- This release adds support for IP Secure tunnelling through #879 (@farmio and @marvin-w).
Thanks to MDT for providing us an interface for testing purposes! - Add support for requesting tunnel interface information #856 (@farmio)
Breaking changes
Internals
- Return
bytes
fromto_knx()
in knxip package by @farmio in #867 - Upgrade test and lint environment by @farmio in #876
Full Changelog: 0.19.2...0.20.0
TCP Heartbeat
Connection
- Do a ConnectionStateRequest heartbeat on TCP tunnel connections too
Devices
- Handle invalid payloads per RemoteValue, log a readable warning
Bugfix for route_back
Connection
- Tunneling: Fix route_back connections sending to invalid address
Protocol
- add DescriptionRequest and DescriptionResponse Frame parser
Tunneling connection protocol
Devices
- Handle ConversionError in RemoteValue, log a warning
Connection
- Raise if an initial connection can not be established, auto-reconnect only when the connection was successful once
- Add support for TCP tunnel connections
- Optionally run KNXIPInterface in separate thread
- Handle separate Tunneling control and data endpoints
- Fix rate limiter wait time: don't add time waiting for ACK or L_DATA.con frames to the rate_limit
Internals
- Some refactoring and code movement in the io module - especially in KNXIPInterface; renamed UDPClient to UDPTransport
- Cleanup some list generating code in the knxip module
Resurrect Gateway Scanner on Linux
Internals
- Fix Gateway Scanner on Linux
Tunnelling flow control
Internals
- Tunnel: Implement flow control according to KNX spec recommendations: wait for L_DATA.con frame before sending next L_DATA.req with 3 second timeout
- Logging: Some changes to loggers like
knx
now includes the source/destination HPAI and a timestamp - Fix a rare race-condition in the gateway scanner where a non-existing interface was queried
Hold your colour
Internals
- Fix GatewayScanner on MacOS and Windows and only return one instance of a gateway
Devices
- Light: Only send to global switch or brightness address if individual colors are configured to not overwrite actuator colors
- Light: Debounce individual colors callback to mitigate color flicker in visualizations
Add always callback to NumericValue and RawValue
Internals
- Gatewayscanner now also reports the individual address of the gateway
- Outgoing telegrams will now have the correct source_address if tunneling is used
Devices
- Added
always_callback
option to NumericValue and RawValue
Task Registry
What's Changed
- Update custom integration with upstream changes by @marvin-w in #779
- Start and stop state updater based on current connection state by @marvin-w in #778
- Bump flake8-isort from 4.0.0 to 4.1.1 by @dependabot in #781
- Bump flake8 from 3.9.2 to 4.0.1 by @dependabot in #776
- Add task registry by @marvin-w in #780
Full Changelog: 0.18.10...0.18.11