Commit Graph

85 Commits (fa332668d6ed158f56eed4ea6ad4c0ebeccf7a96)

Author SHA1 Message Date
Matthias Alphart 557b9c7d51
Add KNX interface device with diagnostic entities (#89213) 2023-03-19 02:13:52 -11:00
Matthias Alphart bfae8992a9
Better log message for KNX expose conversion error (#89400) 2023-03-08 22:42:07 +01:00
epenet 14bf68ad03
Cleanup expected_lingering_tasks in knx (#89279) 2023-03-07 11:59:31 +01:00
epenet c51bde9a26
Fail CI on lingering tasks (#88905) 2023-03-07 11:35:48 +01:00
Matthias Alphart 36dabaaea6
Fix lingering tasks in KNX tests (#89201) 2023-03-05 20:19:42 -05:00
Matthias Alphart e849878a48
Fix KNX Keyfile upload (#89029)
* Fix KNX Keyfile upload

* use shutil.move instead
2023-03-02 10:13:02 -05:00
epenet d65dff3f9e
Adjust entity registry access in tests (2) (#88960) 2023-03-01 16:23:36 +01:00
Jan Bouwhuis 4f6a25b470
Allow parameterizing YAML config in tests (#87981)
* Add fixture to parameterize yaml config

* Apply to more tests

* Re-add @fixture label

* Add fixtures to patch yaml content and targets

* Typo

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update references to mock_yaml_configuration

* Apply new fixtures

* Apply to check_config tests

* Follow up comments

* Rename fixtures, update docstr

* Split paths

* Patch load_yaml_config_file instead

* sort

* Fix tests

* improve docst

* Rename fixtures

* sorting

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Improve docstr

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Improve docstr

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-20 16:57:12 +01:00
Matthias Alphart 6a0ea09f29
Upload KNX Keyfile from Config/Options Flow directly (#88097)
* Manage KNX Keyfile from UI

* migrate config entry to use new keyfile

* Revert "migrate config entry to use new keyfile"

use same config style as before instead of entry version migration

* clean up uploaded file when integration is removed

* change default filename

* revert to previous step name

* remove empty directory on unload
2023-02-20 14:48:56 +01:00
Franck Nijhof ed79265843
Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
Matthias Alphart d7861e79c5
Update xknx to 2.5.0 (#88069) 2023-02-14 12:44:43 +01:00
epenet ea29cdfe83
Add type hints to integration tests (part 12) (#87997) 2023-02-13 13:03:51 +01:00
Erik Montnemery cc564026fa
Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
epenet f75ac17554
Add type hints to integration tests (j-m) (#87704) 2023-02-08 19:06:59 +01:00
epenet a79be493e5
Adjust hass_client type hint in integration tests (#86954)
* Adjust hass_client type hint in integration tests

* Adjust hass_client_no_auth

* Fix rebase
2023-02-02 16:29:57 -05:00
Matthias Alphart db428f2141
Update xknx to 2.3.0 - add some DPTs, Routing security (#85658)
Update xknx to 2.3.0
2023-01-11 00:24:56 +01:00
Matthias Alphart 0c7eb431e6
KNX ConfigFlow: add selection of secure tunnel endpoint (#84651) 2022-12-28 11:43:03 +01:00
Matthias Alphart a752232de8
KNX ConfigFlow: Validate contents of knxkeys file (#84411) 2022-12-27 21:00:19 +01:00
Matthias Alphart acd31d4ae3
Add `cooldown` and `respond_to_read` options for KNX expose (#84613)
Add cooldown option for KNX expose
2022-12-27 20:36:02 +01:00
Matthias Alphart 4ca6db825c
Address late KNX flow tests review (#83208)
* Address late KNX flow tests review

* Update tests/components/knx/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-04 18:39:27 +01:00
Matthias Alphart 6cef37641c
KNX Config/OptionsFlow: Test connection to manually configured tunnel (#82872) 2022-12-03 12:53:12 +01:00
Matthias Alphart a43d944309
Address late KNX flow tests review (#82975)
* KNX flow tests review

* patch out async_setup_entry in options-flow tests

* remove unneeded hass.async_block_till_done()

* Update test_config_flow.py

* autouse setup mock

* patch out async_setup too

* rename fixture according to pytest docs

* test call count to async_setup_entry

* dict access instead of .get()
2022-11-30 18:54:06 +01:00
Matthias Alphart 0561c14d53
Add `text` platform for KNX (#82811) 2022-11-29 18:05:51 +01:00
Matthias Alphart e738df502b
Fix KNX secure config switching from manual to keyfile (#82724) 2022-11-28 10:18:45 +01:00
Matthias Alphart cb06f8b668
KNX Config/OptionsFlow: minimize wait time for interface discovery (#81982)
* Minimize wait time for interface discovery

* fix OptionsFlow when connection failed

there is no `self.hass.data["KNX"]` when we are in retry mode after failed integration setup

* review changes

* fix new tests
2022-11-28 07:03:51 +01:00
Matthias Alphart 4517af509c
Add support for KNX IP-Secure routing (#82765)
* always use instance variable for new entry data

- change `self._tunneling_config` to non-optional `self.new_entry_data`
- always use self.new_entry_data in `finish_flow()`

* support secure routing

* amend current tests

* use sync latency tolerance

* test secure routing config flow

* diagnostics redact backbone_key

* test xknx library setup

* check length of backbone_key

* better readable key validation
2022-11-27 23:33:12 +01:00
Matthias Alphart daf56e92a0
Update xknx to 2.0.0 (#82709) 2022-11-26 06:49:11 +01:00
Matthias Alphart ee9231363f
Refactor KNX Config and Options flows (#80641) 2022-11-10 14:25:41 +01:00
Matthias Alphart 428a33c00f
Migrate KNX to use kelvin for color temperature (#81112) 2022-10-27 16:00:34 -04:00
epenet 0d696b84b2
Cleanup root component imports in tests (#78893) 2022-09-21 06:57:41 -10:00
epenet 00dd27ef1b
Apply hass-relative-import to tests (i-r) (#78732) 2022-09-19 09:46:59 +02:00
Matthias Alphart 441d7c0461
Wait for config entry platforms in KNX (#77437) 2022-08-28 12:36:31 +02:00
Erik Montnemery 3d723bddf8
Use mock_restore_cache in tests (#77298) 2022-08-25 09:28:53 +02:00
Matthias Alphart a98f658854
Update xknx to 0.22.0 (#75749) 2022-07-26 10:32:26 +02:00
Franck Nijhof a6244eea28
Search/replace RESULT_TYPE_* by FlowResultType enum (#74656) 2022-07-07 21:28:18 +02:00
G Johansson 90e1fb6ce2
Weather unit conversion (#73441)
Co-authored-by: Erik <erik@montnemery.com>
2022-06-23 10:48:30 +02:00
Erik Montnemery 8c0ae545c9
Migrate knx NumberEntity to native_value (#73536) 2022-06-15 14:39:56 +02:00
epenet 4eb46d45ca
Cleanup deprecated async_get_registry in tests (#72059) 2022-05-18 13:12:38 +02:00
epenet 7d2363ad22
Use light enums in tests (#70801) 2022-04-26 16:32:00 +02:00
epenet 069dd567f7
Use climate enums in knx (#70676) 2022-04-25 14:57:31 +02:00
Matthias Alphart 639e3bb900
Add optional `type` for KNX notify entity configuration (#70451) 2022-04-23 12:21:58 +02:00
Marvin Wichmann 3d30a757bf
Update xknx to 0.20.2 (#69853) 2022-04-11 16:51:13 +02:00
Matthias Alphart b3d1574a71
Refactor KNX config flow and validate user input (#69698)
* validate config flow user input

* test flow for invalid user input

* validate multicast address blocks

* Update homeassistant/components/knx/config_flow.py

Co-authored-by: Marvin Wichmann <me@marvin-wichmann.de>

Co-authored-by: Marvin Wichmann <me@marvin-wichmann.de>
2022-04-10 15:56:45 +02:00
Marvin Wichmann b5b514b62f
Full test coverage for KNX integration (#69697)
* 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
2022-04-09 00:33:50 +02:00
Marvin Wichmann 9b05a1264a
Add support for IP secure to KNX config flow (#68906)
* Add support for TCP Secure in KNX config flow

* Add support for TCP Secure in KNX config flow

* Fix typing

* Fix import

* Move assert up to cover all possible cases
2022-03-30 21:10:47 +02:00
Marvin Wichmann cec3a08b95
Cleanup KNX integration (#68820)
* Cleanup KNX integration

* Cleanup KNX integration

* Update homeassistant/components/knx/__init__.py

Co-authored-by: Matthias Alphart <farmio@alphart.net>

Co-authored-by: Matthias Alphart <farmio@alphart.net>
2022-03-29 16:46:02 +02:00
Matthias Alphart f2aee38841
Run KNX protocol logic in a separate thread (#68807) 2022-03-28 23:56:29 +02:00
Matthias Alphart d4370395e2
Update xknx to 0.19.1 (#65275) 2022-01-30 20:12:44 -08:00
Marvin Wichmann 98aa69fdaf
Fix KNX Expose for strings longer than 14 bytes (#63026)
* Fix KNX Expose for too long strings

* Fix tests

* Catch exception and avoid error during config entry setup for exposures

* Properly catch exceptions in knx expose

* Fix pylint

* Fix CI

* Add test for conversion error
2022-01-29 14:32:12 +01:00
Marvin Wichmann 62584b4813
Add tests for KNX diagnostic and expose (#64938)
* Add test for KNX diagnostic

* Add test for KNX expose

* Apply review suggestions
2022-01-27 23:03:20 +01:00