Commit Graph

87 Commits (e6f280cf7a9c93e878febc2f0090031159ad1133)

Author SHA1 Message Date
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 3d557b5583
Collection of code styling tweaks (#87381) 2023-02-04 12:52:26 -05:00
Marc Mueller bc115634d1
Remove unnecessary try-else (2) (#86159) 2023-01-18 14:25:09 +01:00
Franck Nijhof baef267f33
String formatting and max line length - Part 3 (#84394) 2022-12-22 13:35:47 +01:00
Matthias Alphart 0561c14d53
Add `text` platform for KNX (#82811) 2022-11-29 18:05: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
Marc Mueller 0c8eeaa643
Update mypy to 0.990 (#81783)
* Update mypy to 0.990

* Remove type ignore - overriding attr with property (13475)

* Remove type ignores - hasattr (13544)

* Adjust type ignore - assignment (13549)

* New error code - type-abstract (13785)

* Disable annotation-unchecked (13851)
2022-11-08 14:41:39 +01:00
Matthias Alphart 441d7c0461
Wait for config entry platforms in KNX (#77437) 2022-08-28 12:36:31 +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
Marc Mueller 6e49b0e122
Use assignment expressions [K-Z] (#66881) 2022-02-19 17:19:46 +01:00
Paulus Schoutsen 5da923c341
Protect state.as_dict from mutation (#65693) 2022-02-04 14:45:25 -08:00
Marvin Wichmann 072f7d5611
Add support for TCP tunneling connections to KNX (#64928) 2022-01-26 06:36:07 +01:00
Matthias Alphart 456d403303
Fix KNX onboarding when there is no yaml config defined yet (#64216) 2022-01-16 20:44:21 -08:00
epenet c7cb26cbab
Use Platform enum in load_platform [a-l] (#63750) 2022-01-10 10:30:47 +01:00
Mirko Lenz ab4effc7e2
Allow sending GroupValueResponse telegrams with knx.send service (#62639)
* Add knx.respond service

* Combine knx.send and knx.respond services

* Rename knx attribute and fix tests

* Use parametrization in tests

Co-authored-by: Marvin Wichmann <marvin.wichmann@unic.com>
2021-12-29 18:15:48 +01:00
Marvin Wichmann 66b8f87e43
Fix notify platform setup for KNX (#61842)
* Fix notify platform setup for KNX

* Apply review suggestions

* Store hass config in DATA_HASS_CONFIG

* Readd guard clause
2021-12-15 19:30:38 +01:00
Marvin Wichmann cefbc2c428
Allow setting local_ip for knx routing connections (#61836) 2021-12-15 13:15:56 +01:00
Marvin Wichmann affa3a6ada
Add missing local_ip to KNX config flow and options flow (#61018)
* Add missing local_ip to KNX config flow and options flow

* Update strings
2021-12-04 23:07:28 +01:00
Marvin Wichmann 3baa7b679d
Use new Platform enum in KNX (#60902) 2021-12-03 09:29:38 -08:00
Marvin Wichmann 1d63ae8696
Code quality improvements for KNX integration (#60024) 2021-11-20 16:15:33 +01:00
Marvin Wichmann e5c33474e3
Add config and options flow to KNX integration (#59377) 2021-11-20 11:30:41 +01:00
Matthias Alphart 4e1958c1bd
Add Button platform to KNX integration (#59082)
* add button platform

* default values for payload and payload_length

* allow `type` configuration for encoded payloads

* add test for type configuration

* move common constants to const.py

- CONF_PAYLOAD
- CONF_PAYLOAD_LENGTH

* validate payload for payload_length or type

* c&p errors

* fix unique_id and pylint

* fix validator
2021-11-10 20:34:35 +01:00
Matthias Alphart fc7d4ed118
Add decoded telegram payload to knx_event service (#57621)
* decode knx_event telegram payload with given dpt

* exception handling for invalid payloads

* Update homeassistant/components/knx/__init__.py

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

Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>
2021-11-06 19:31:25 +01:00
Matthias Alphart fa7b72a4ed
reload service: remove entities before disconnection (#58712) 2021-10-30 00:04:57 +02:00
Marvin Wichmann 48d4cdf882
Update xknx to 0.18.11 and fix flaky test (#57877)
* Update xknx to 0.18.11

* review: join the queue before actually asserting
2021-10-17 09:43:18 +02:00
Marvin Wichmann addb91d49e
Update xknx to version 0.18.10 (#57635)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-10-14 10:54:48 -07:00
Ville Skyttä 470f2dd73f
Upgrade pyupgrade to 2.21.2, apply its changes (#52987) 2021-07-19 10:46:09 +02:00
Matthias Alphart 5687ced7b3
Cleanup KNX integration (#52168)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-26 14:30:36 +02:00
Matthias Alphart 74db49fae4
Add KNX select entity (#52026)
* select entity for knx

* validate select options

* lint

* phytonify

* Tweak

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-24 10:54:04 +02:00
Matthias Alphart 742159a6a6
Add number entity to KNX (#51786)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-23 17:20:49 +02:00
Matthias Alphart 164e45f0a7
KNX: move some Schema to schema.py (#51307)
* create platform schema node from schema class

* move connection schema to schema.py

* rename SCHEMA to ENTITY_SCHEMA

* Final module level constants
2021-06-01 08:59:23 +02:00
Matthias Alphart 8b21a652ba
Create KNX sensor entity directly from config (#49642)
* create sensor entities directly from config

* move staticmethod to module level

* remove factory call
2021-05-25 20:16:54 +02:00
Ruslan Sayfutdinov 37466ae423
Don't ignore mypy errors by default (#49270) 2021-04-26 14:23:21 +02:00
Matthias Alphart 671148b6ca
Update xknx to version 0.18.1 (#49609) 2021-04-24 14:18:14 +02:00
Matthias Alphart 985b4a581a
Create KNX switch entity directly from config (#49238) 2021-04-15 09:47:43 +02:00
Marvin Wichmann 91837f08ce
Update xknx to version 0.18.0 (#48799) 2021-04-08 14:54:43 +02:00
Matthias Alphart 051f29f9b6
Remove KNX type alias for homeassistant.core types (#48422) 2021-03-27 22:20:11 +01:00
Matthias Alphart 8fa935234a
Type check KNX integration __init__ and knx_entity (#48044) 2021-03-26 16:10:55 +01:00
plomosits 18e6816373
Improve Docker and Kubernetes support for KNX (#48065)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
2021-03-22 20:03:57 +01:00
Matthias Alphart 987c2d1612
Type check KNX integration expose (#48055) 2021-03-19 10:12:55 +01:00
Marc Mueller 25a13d1554
Update typing 10 (#48071) 2021-03-18 13:07:04 +01:00
Matthias Alphart a4075d9e11
KNX sensor: float no longer valid for `type` (#48005) 2021-03-16 21:33:56 +01:00
Matthias Alphart 54a9b69ecb
Update xknx to 0.17.2 (#47732) 2021-03-10 10:32:22 -10:00
Matthias Alphart ce8871ef59
KNX remove custom deprecation warnings (#47238) 2021-03-03 00:50:40 +01:00
Matthias Alphart 3fda9fd0c6
KNX address constant (#47196) 2021-03-01 21:59:36 +01:00
Matthias Alphart dadc99dbd3
Deprecate knx config_file (#46874)
* deprecate config_file

* removed cv.deprecated for now, added persistent notification

* Update homeassistant/components/knx/__init__.py

Co-authored-by: Philip Allgaier <philip.allgaier@gmx.de>

* remove notification, add cv.deprecated again

* Update homeassistant/components/knx/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* remove cv.deprecated again

Co-authored-by: Philip Allgaier <philip.allgaier@gmx.de>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-03-01 11:55:55 +01:00
Matthias Alphart 92afcb6b4b
KNX services send and event_register accept multiple group addresses (#46908)
* send and event_register service accept lists of group addresses

* remove lambda

* object selector for lists

* knx.read takes lists too
2021-03-01 11:51:59 +01:00