Commit graph

105 commits

Author SHA1 Message Date
Joost Lekkerkerker
9c54c4abf5
Use snapshot assertion for KNX diagnostics ()
Co-authored-by: farmio <farmio@alphart.net>
2023-08-21 11:48:55 +02:00
Matthias Alphart
0f5d423d1e
Move KNX keyring validation and storage to helper module ()
* Move KNX keyfile validation and store to helper module

* Rename module and fix tests
2023-08-07 23:30:14 +02:00
Paul Bottein
83af2f5b8b
Allow to sort options in select selector ()
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-08-03 21:49:22 +02:00
Matthias Alphart
74deb8b011
Add datetime platform to KNX () 2023-07-25 11:04:05 +02:00
Matthias Alphart
8ff9f2ddbe
Add date platform to KNX () 2023-07-24 21:12:37 +02:00
Matthias Alphart
89259865fb
Restore KNX telegram history ()
* Restore KNX telegram history

* increase default log size

* test removal of telegram history
2023-07-09 21:15:55 +02:00
Matthias Alphart
479015244d
KNX Cover: Use absolute tilt position if available () 2023-07-09 12:00:51 +02:00
Matthias Alphart
c81b6255c2
Use async_on_remove for KNX entities removal ()
* Use `async_on_remove` for KNX entities removal

* review
2023-07-01 07:16:45 -04:00
Matthias Alphart
1615f3e1fd
Add reload service to KNX () 2023-06-28 21:45:17 -04:00
Matthias Alphart
489781c1e6
Add time platform to KNX () 2023-06-28 15:19:32 +02:00
Franck Nijhof
3e85a29b86
Move overlapping pylint rules to ruff, disable mypy overlap () 2023-06-27 17:42:46 +02:00
Matthias Alphart
2ce23c17ca
Update KNX frontend - add Group monitor telegram detail view ()
* Use TelegramDict for WS communication

* Update knx_frontend
2023-06-25 14:58:08 +02:00
Matthias Alphart
733bca88f1
Fix KNX device trigger passing info data () 2023-06-22 21:13:10 +02:00
Ville Skyttä
2e59ae9e90
Import util.dt as dt_util in components/[k-o]* () 2023-05-29 23:02:14 +02:00
Matthias Alphart
b10e73e2d4
Configurable KNX Telegram history size ()
* Configurable KNX Telegram history size

* Add maximum value to description
2023-05-22 18:09:59 +02:00
Matthias Alphart
c522ea855d
KNX Group Monitor: Load latest 50 Telegrams on start ()
* remove impossible test

IndividualAddress telegrams are not processed by xknx.telegram_queue

* Use Telegrams helper class for group monitor messages

* Store 50 telegrams in deque for group monitor

* Send recent telegrams at once on connection of group monitor

* Update KNX-frontend to support group monitor prepopulation
2023-05-17 09:58:00 +02:00
Matthias Alphart
2f8e8901fc
Add KNX interface device trigger for telegrams ()
* telegram device trigger initial

* add Telegrams helper class

to parse and convert Telegram only once instead of once per device trigger

* translation

* label for extra_field

* test device trigger

* test trigger callback removal

* rename extra_field key to same name as used in trigger

* typo
2023-05-15 22:59:29 +02:00
Matthias Alphart
6250b0a230
Add a custom panel for KNX with a group monitor ()
* Add KNX panel

* provide project data for the panel group monitor

* upload and delete project from panel

* test project store

* more tests

* finish tests

* use integers for DPTBinary payload monitor display

* add project to diagnostics

* require new frontend version

* update knx_frontend

* review suggestions

* update xknxproject to 3.1.0

---------

Co-authored-by: Marvin Wichmann <me@marvin-wichmann.de>
2023-05-11 00:13:22 +02:00
Matthias Alphart
33808cd268
Add entity name translations to KNX system sensors ()
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-04-23 01:31:59 +02:00
Matthias Alphart
95d44e100b
Update xknx to 2.9.0 ()
* Update xknx to 2.8.0

* add tests for validators

* Update strings.json

* Update xknx to 2.9.0
2023-04-22 18:25:14 +02:00
Matthias Alphart
557b9c7d51
Add KNX interface device with diagnostic entities () 2023-03-19 02:13:52 -11:00
Matthias Alphart
bfae8992a9
Better log message for KNX expose conversion error () 2023-03-08 22:42:07 +01:00
epenet
14bf68ad03
Cleanup expected_lingering_tasks in knx () 2023-03-07 11:59:31 +01:00
epenet
c51bde9a26
Fail CI on lingering tasks () 2023-03-07 11:35:48 +01:00
Matthias Alphart
36dabaaea6
Fix lingering tasks in KNX tests () 2023-03-05 20:19:42 -05:00
Matthias Alphart
e849878a48
Fix KNX Keyfile upload ()
* 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) () 2023-03-01 16:23:36 +01:00
Jan Bouwhuis
4f6a25b470
Allow parameterizing YAML config in tests ()
* 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 ()
* 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 ()
* 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 () 2023-02-14 12:44:43 +01:00
epenet
ea29cdfe83
Add type hints to integration tests (part 12) () 2023-02-13 13:03:51 +01:00
Erik Montnemery
cc564026fa
Move EntityCategory to homeassistant.const ()
* 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) () 2023-02-08 19:06:59 +01:00
epenet
a79be493e5
Adjust hass_client type hint in integration tests ()
* 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 ()
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 () 2022-12-28 11:43:03 +01:00
Matthias Alphart
a752232de8
KNX ConfigFlow: Validate contents of knxkeys file () 2022-12-27 21:00:19 +01:00
Matthias Alphart
acd31d4ae3
Add cooldown and respond_to_read options for KNX expose ()
Add cooldown option for KNX expose
2022-12-27 20:36:02 +01:00
Matthias Alphart
4ca6db825c
Address late KNX flow tests review ()
* 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 () 2022-12-03 12:53:12 +01:00
Matthias Alphart
a43d944309
Address late KNX flow tests review ()
* 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 () 2022-11-29 18:05:51 +01:00
Matthias Alphart
e738df502b
Fix KNX secure config switching from manual to keyfile () 2022-11-28 10:18:45 +01:00
Matthias Alphart
cb06f8b668
KNX Config/OptionsFlow: minimize wait time for interface discovery ()
* 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 ()
* 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 () 2022-11-26 06:49:11 +01:00
Matthias Alphart
ee9231363f
Refactor KNX Config and Options flows () 2022-11-10 14:25:41 +01:00
Matthias Alphart
428a33c00f
Migrate KNX to use kelvin for color temperature () 2022-10-27 16:00:34 -04:00
epenet
0d696b84b2
Cleanup root component imports in tests () 2022-09-21 06:57:41 -10:00