* Add fan mode support to knx climate
* fix linting errors
* remove unneeded None protection from CONF_FAN_PERCENTAGES_MODES
* Update homeassistant/components/knx/climate.py
Co-authored-by: Matthias Alphart <farmio@alphart.net>
* Update homeassistant/components/knx/climate.py
Co-authored-by: Matthias Alphart <farmio@alphart.net>
* Update homeassistant/components/knx/climate.py
Co-authored-by: Matthias Alphart <farmio@alphart.net>
* Update homeassistant/components/knx/schema.py
Co-authored-by: Matthias Alphart <farmio@alphart.net>
* find closest percentage when not in fan modes
* new field for fan speed mode, max steps apply to both step and percentage
* not picking FAN_OFF when the percentage is closest to zero
* add fan zero mode to support auto mode
* use StrEnum for FanZeroMode
* change default to 'percent'
* fix mypy errors
---------
Co-authored-by: Matthias Alphart <farmio@alphart.net>
* Support DPTComplex objects and validate sensor types
* Gracefully start and stop xknx device objects
* Use non-awaitable XknxDevice callbacks
* Use non-awaitable xknx.TelegramQueue callbacks
* Use non-awaitable xknx.ConnectionManager callbacks
* Remove unnecessary `hass.async_block_till_done()` calls
* Wait for StateUpdater logic to proceed when receiving responses
* Update import module paths for specific DPTs
* Support Enum data types
* New HVAC mode names
* HVAC Enums instead of Enum member value strings
* New date and time devices
* Update xknx to 3.0.0
* Fix expose tests and DPTEnumData check
* ruff and mypy fixes
* Full test coverage for KNX integration
* Allow for 0 values, since we all live at those kind of areas in the world
* Remove unneeded method
* Add missing test for climate mode
* Cleanup test and remove fixture that was used only once