Skip to content

Releases: XKNX/xknx

Improvements to HA integration; removal of core config handling

07 Apr 21:35
Compare
Choose a tag to compare

Breaking Changes

Devices

  • Add support for cover lock
  • ExposeSensor values can now be read from other xknx devices that share a group address
  • Add more information to sensors and binary sensors in the HA integration

Internals

  • Drop support for python 3.7
  • use pytest tests instead of unittest TestCase
  • Move RequestResponse and subclasses to xknx.io.request_response.*
  • Move ConnectionConfig to xknx.io.connection
  • Store last Telegram and decoded value in RemoteValue
  • Improve CI to use Codecov instead of Coveralls for code coverage reports

Add support for unique ids

30 Mar 21:34
Compare
Choose a tag to compare

HA integration

  • Add support for unique ids

Internals

  • Remove unfinished config v2

Bugfix for ValueReader

26 Mar 05:35
Compare
Choose a tag to compare

Internals

  • Comparing GroupAddress or IndividualAddress to other types don't raise TypeError anymore
    This caused errors when Point-to-point Telegrams were received while the TelegramQueue had match-all-callbacks (ValueReader)
  • Specify some type annotations

Passive addresses

16 Mar 15:05
Compare
Choose a tag to compare

Devices

  • Accept lists of group addresses using the heads for group_address / group_address_state and the tails for passive_group_addresses in every Device (and RemoteValue)
  • Sensor: Don't allow floats in DPTBase value_type parser

Internals

  • type annotation fixes

Value templates

10 Mar 19:38
Compare
Choose a tag to compare

Devices

  • BinarySensor, Sensor: add ha_value_template attribute to store HomeAssistant value templates

Internals

  • Distribute type annotations in package

Cover up

23 Feb 22:01
Compare
Choose a tag to compare

Devices

  • Cover: Use correct step direction when stopping

Internals

  • Convert all Enums to upper case to satisfy pylint

Route back

19 Feb 20:41
Compare
Choose a tag to compare

New Features

  • Add new optional config route_back for connections to be able to work behind NAT.
  • Read env vars after reading config file to allow dynamic config.

HA integration

  • knx_event: fire also for outgoing telegrams

Devices

  • BinarySensor: return None for BinarySensor.counter when context timeout is not used (and don't calculate it)
  • Climate: Add create_temperature_sensors option to create dedicated sensors for current and target temperature.
  • Weather (breaking change!): Renamed expose_sensors to create_sensors to prevent confusion with the XKNX expose_sensor device type.
  • Weather: Added wind bearing attribute that accepts a value in degrees (0-360) for determining wind direction.

Internals

  • RemoteValue is Generic now accepting DPTArray or DPTBinary
  • split RemoteValueClimateMode into RemoteValueControllerMode and RemoteValueOperationMode
  • return the payload (or None) in RemoteValue.payload_valid(payload) instead of bool
  • Light colors are represented as Tuple[Tuple[int,int,int], int] instead of Tuple[List[int], int] now
  • DPT 3 payloads/values are not invertable anymore.
  • Tunnel: Interface changed - gateway_ip, gateway_port before local_ip, local_port added with default 0.
  • Tunnel: default auto_reconnectto True

Fan contributions

06 Feb 20:04
Compare
Choose a tag to compare

Devices

  • Fan: Add max_step attribute which defines the maximum amount of steps. If set, the fan is controlled by steps instead of percentage.
  • Fan: Add group_address_oscillation and group_address_oscillation_state attributes to control the oscillation of a fan.

Bugfix for yaml loader

24 Jan 22:57
Compare
Choose a tag to compare
  • fix conflict with HA Yaml loader

HA register services

16 Jan 19:35
Compare
Choose a tag to compare

HA integration

  • knx_event: renamed fire_event_filter to event_filter and deprecated fire_event config option. A callback is now always registered for HA to be able to modify its group_addresses filter from a service.
  • added knx.event_register service allowing to add and remove group addresses to trigger knx_event without having to change configuration.
  • added knx.exposure_register service allowing to add and remove ExposeSensor instances at runtime

Internals

  • remove DPTComparator: DPTBinary and DPTArray are not equal, even if their .value is, and are never equal to None.
  • add Device.shutdown() method (used eg. when removing ExposeSensor)
  • TelegramQueue.Callback: add group_addresses attribute to store a list of GroupAddress triggering the callback (additionally to address_filters).
  • add a lot of type annotations