Commit Graph

74 Commits (63957787c4b9e818ce0e5e86f08111fb073bb2b6)

Author SHA1 Message Date
Joakim Plate e8c05298ba
Remove rfxtrx signal repetition (#67675) 2022-03-06 10:29:20 +01:00
Joakim Plate a151d3f9a0
Don't trigger device removal for non rfxtrx devices (#67315) 2022-02-27 00:14:12 +01:00
Joakim Plate 01fa6e7513
Eliminate extra include (#67316) 2022-02-27 00:13:48 +01:00
James Hewitt 069e70ff03
Add mode setting to RFXtrx device configuration (#67173)
This allows users to configure the modes on their RFXtrx device without
downloading additional software that only runs on Windows. It also
enables the use of modes that cannot be permanently enabled on the
device, such as for undecoded and raw messages.
2022-02-25 20:43:29 +01:00
Joakim Plate 8a74295d6f
Add support for rfxtrx sirens and chimes (#66416)
* Add support for sirens and chimes

* Fixup testing

* Fixup comments

* Hook up existing off delay

* Add docs for off delay.

* Rename mixin
2022-02-25 07:53:22 +01:00
Joakim Plate 9906717e33
Use opt in device removal for rfxtrx (#58252) 2022-02-23 20:17:48 +01:00
epenet 250379e181
Add setup type hints (init) (#64351)
* Add setup type hints to acmeda

* Add setup type hints to xiaomi_aqara

* Add setup type hints to motion_blinds

* Add setup type hints to xiaomi_miio

* Add setup type hints to diagnostics

* Add setup type hints to zha

* Add setup type hints to firmata

* Add setup type hints to denonavr

* Add setup type hints to rfxtrx

* Add setup type hints to hue

* Cleanup denonavr

* Add return types to xiaomi_miio

* Fix return type

Co-authored-by: epenet <epenet@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-01-19 18:00:34 +01:00
epenet a19c95e4bd
Ensure service calls are typed [o-r] (#62920)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-28 13:10:17 +01:00
Joakim Plate bda1f02371
Reduce boilerplate code in entry init of rfxtrx (#58844)
* Reduce boilerplate code for rfxtrx

* Use rfxtrx built in to construct event

* Fixup mypy after rebase

* Also fix callable import
2021-12-22 22:38:55 +01:00
Joakim Plate ea3e08c041
Improve type checking for rfxtrx (#58837) 2021-12-09 13:35:53 -08:00
Marc Mueller 79cd281c48
Use platform enum (5) [P-R] (#60943) 2021-12-04 13:19:49 +01:00
Joakim Plate f0b3fbc5a7
Always fire event for known devices in rfxtrx (#58845) 2021-11-16 19:03:18 +01:00
Marc Mueller b6d9e517c2
Use assignment expressions 37 (#58827) 2021-10-31 18:45:27 +01:00
Robert Hillis 7ccfaed736
Use DeviceInfo Class P-R (#58324) 2021-10-25 18:26:03 +02:00
Joakim Plate a8cbb949fa
Rfxtrx drop yaml configuration (#54173) 2021-09-08 22:17:02 -07:00
Joakim Plate 13e7cd237e
Convert to using sensor descriptors (#54115) 2021-08-06 09:56:51 -07:00
Børge Nordli 87165d6133
Support group events for AC switches and binary sensors. Fixes #53065. (#53384)
* Support group events for AC switches and binary sensors. Fixes #53065.

* Review comments
2021-07-23 18:45:31 +02:00
Marc Mueller 074d762664
Rename and reorganize electric unit constants (#53243) 2021-07-20 20:06:23 +02:00
J. Nick Koston 87420627a8
Reduce config entry setup/unload boilerplate Q-S (#49778) 2021-04-27 22:10:04 +02:00
J. Nick Koston c820dd4cb5
Have pylint warn when user visible log messages do not start with capital letter or end with a period (#48064)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 09:26:36 -05:00
Erik Montnemery 14ff6d4d1f
Update integrations p-s to override extra_state_attributes() (#47759) 2021-03-11 21:23:20 +01:00
Quentame 198ecb0945
Uniformize platform setup (#47101)
* A platform is not a component

* Fix dynalite

* SUPPORTED_PLATFORMS --> PLATFORMS

* In tests

* In tests 2

* Fix SmartThings

* Fix ZHA test

* Fix Z-Wave

* Revert Z-Wave

* Use PLATFORMS const in ambient_station

* Fix ihc comment
2021-03-02 21:43:59 +01:00
Paulus Schoutsen 9e07910ab0
Mark entities as unavailable when they are removed but are still registered (#45528)
* Mark entities as unavailable when they are removed but are still registered

* Add sync_entity_lifecycle to collection helper

* Remove debug print

* Lint

* Fix tests

* Fix tests

* Update zha

* Update zone

* Fix tests

* Update hyperion

* Update rfxtrx

* Fix tests

* Pass force_remove=True from integrations

Co-authored-by: Erik <erik@montnemery.com>
2021-02-08 10:45:46 +01:00
Ville Skyttä 2fb3be50ab
Make DeviceRegistry.async_get_device connections arg optional (#44897)
* Make async_get_device connections Optional, default None

* Remove unnecessary async_get_device connections arg usages

Some of these were using an incorrect collection type, which didn't
cause issues mostly just due to luck.
2021-01-07 13:49:45 +01:00
Joakim Plate c1027cace6
Add device entry id to events (#44407)
* Add device entry id to events

* Only add device id if device is known for now
2021-01-04 15:31:10 +01:00
Rob Bierbooms f09004acf5
Increase timeout for setup of rfxtrx (#43003)
* Increase timeout and remove reload

* Use asyncio.TimeoutError

* Remove import

* Add logging

* Minor tweak

* Fix black

* Update homeassistant/components/rfxtrx/__init__.py

Co-authored-by: Joakim Plate <elupus@ecce.se>
2020-11-10 00:30:15 +01:00
springstan 30b94892c4
Use strings instead of f-strings for constants (#40619) 2020-11-09 10:09:53 +01:00
Rob Bierbooms 1fe66df962
Cleanup dispatchers when unloading rfxtrx (#42803)
* Cleanup dispatchers

* Fix name

* Refactor code

* Fix typo in function description

* Fix pylint error

* Change function definition

* Move cleanup_callbacks data to domain
2020-11-04 11:30:46 +01:00
Rob Bierbooms c16f107f6b
Filter rfxtrx configure devices option flow on existing config entry (#40975)
* Prompt only configure devices when device is in config entry

* Fix copy
2020-10-13 13:51:42 +02:00
Paulus Schoutsen 4d5948b4d0
Use dict syntax (#41325) 2020-10-06 15:02:23 +02:00
Simone Chemelli 7554c8d6c5
Add missing unit for signal strength (#40436)
* Added missing unit for signal strength

* Added one more unit

* Replaced string with variable

* Fixed wrong import

* Fix import

* Replaced string with variable

* Fixed wrong import

* Apply suggestions from code review

* Black

* Again a fix :-(

* iSort

* iSort after merge

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-10-01 16:14:29 +02:00
Rob Bierbooms c5041b41c8
Implement config and option flow for rfxtrx integration (#39117)
* Create option flow for Rfxtrx integration (#37982)

* Implement config flow for rfxtrx integration (#39299)

* Add config flow

* Add strings

* Add first series of tests

* Add tests

* Adjust tests according review comments

* Adjust strings

* Add executor for testing connection

* Change ports to dict

* Fix pylint issue

* Adjust tests

* Migrate config entry for rfxtrx integration (#39528)

* Add rfxtrx device connection validation when importing (#39582)

* Implement import connection validation

* Fix binary sensor tests

* Move rfxtrx data

* Fix cover tests

* Fix test init

* Fix light tests

* Fix sensor tests

* Fix switch tests

* Refactor rfxtrx test data

* Fix strings

* Fix check

* Rework device string in test code

* Add option to delete multiple rfxtrx devices (#39625)

* Opt to remove multiple devices

* Fix devices key

* Add tests (phase 1)

* Add tests (phase 2)

* Tweak remove devices test

* Implement device migration function in rfxtrx option flow (#39694)

* Prompt option to replace device

* Revert unwanted changes

* Add replace device function

* WIP replace entities

* Remove device/entities and update config entry

* Fix styling

* Add info

* Add test

* Fix strings

* Refactor building migration map

* Allow migration for all device types

* Add test to migrate control device

* Fixup some names

* Fixup entry names in test code

* Bump pyRFXtrx to 0.26 and deprecate debug config key (#40679)

* Create option flow for Rfxtrx integration (#37982)

* Implement config flow for rfxtrx integration (#39299)

* Add config flow

* Add strings

* Add first series of tests

* Add tests

* Adjust tests according review comments

* Adjust strings

* Add executor for testing connection

* Change ports to dict

* Fix pylint issue

* Adjust tests

* Migrate config entry for rfxtrx integration (#39528)

* Add rfxtrx device connection validation when importing (#39582)

* Implement import connection validation

* Fix binary sensor tests

* Move rfxtrx data

* Fix cover tests

* Fix test init

* Fix light tests

* Fix sensor tests

* Fix switch tests

* Refactor rfxtrx test data

* Fix strings

* Fix check

* Rework device string in test code

* Add option to delete multiple rfxtrx devices (#39625)

* Opt to remove multiple devices

* Fix devices key

* Add tests (phase 1)

* Add tests (phase 2)

* Tweak remove devices test

* Implement device migration function in rfxtrx option flow (#39694)

* Prompt option to replace device

* Revert unwanted changes

* Add replace device function

* WIP replace entities

* Remove device/entities and update config entry

* Fix styling

* Add info

* Add test

* Fix strings

* Refactor building migration map

* Allow migration for all device types

* Add test to migrate control device

* Fixup some names

* Fixup entry names in test code

* Bump version number

* Remove debug key from connect

* Remove debug option from config flow

* Remove debug from tests

* Fix event test

* Add cv.deprecated

* Fix test

* Fix config schema

* Add timeout on connection

* Rework config schema

* Fix schema...again

* Prevent creation of duplicate device in rfxtrx option flow (#40656)
2020-10-01 08:55:57 +02:00
Joakim Plate 0fbeb3bf7b
Use HA constants for Rfxtrx units (#40562)
* Add more units and device classes

* Battery level is a value beteen 0 and 9 where 9 indicate full

Actual 0 battery can't occur since since then we would get to signal

* Adjust tests

* Add wind direction and adjust rain rate

* Adjust data types to be None rather than empty string

* Set counter values to count unit

* Forgotten unit
2020-09-25 08:27:38 -04:00
springstan d2b1918e9c
Drop UNIT_ prefix for percentage constant (#39383) 2020-09-05 21:09:14 +02:00
Rob Bierbooms 5658a1efec
Increase test coverage for rfxtrx integration (#39340)
* Increase switch coverage

* Increase binary sensor coverage

* Final improvements

* Remove debug statement

* Adjust test duplicate cover

* Remove None return test

* Assert on length of conf_entries

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-28 15:05:11 -05:00
Ville Skyttä b4bac0f7a0
Exception chaining and wrapping improvements (#39320)
* Remove unnecessary exception re-wraps

* Preserve exception chains on re-raise

We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.

The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.

Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.

* Fix mistaken re-wrap in homematicip_cloud/hap.py

Missed the difference between HmipConnectionError and
HmipcConnectionError.

* Do not hide original error on plex new cert validation error

Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
2020-08-28 13:50:32 +02:00
Franck Nijhof 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
Joakim Plate c93fc8af4a
Clean up commands generation for rfxtrx (#38236) 2020-07-28 00:44:30 +02:00
Joakim Plate c3966a5ef2
Setup rfxtrx event listener directly (#38298) 2020-07-28 00:29:35 +02:00
Joakim Plate 1776540757
Rfxtrx fixup config entry creation (#38185)
* Make sure import flow completely replace existing config

* Make sure added device contain correct config data

* Revert change to directly run init
2020-07-25 19:13:10 +02:00
Joakim Plate 5d28e109e8
Asyncify rfxtrx startup and event handling (#38155)
* Asyncify startup and event handling

* Adjust linting error

* Must use the thread safe add_job function

* Switch to correct async function
2020-07-24 14:40:10 +02:00
Rob Bierbooms c76b11f9d7
Write device_id to ConfigEntry of rfxtrx integration (#38064)
* Write device_id to ConfigEntry

* Rework based on review comment

* Add hass add job

* Cleanup
2020-07-24 11:49:48 +02:00
Rob Bierbooms 83a27f4855
Fix issue with creation of PT2262 devices in rfxtrx integration (#38074) 2020-07-22 15:09:37 -07:00
Joakim Plate 945acb4e29
Make sure command entities restore from state (#38038) 2020-07-22 00:01:31 +02:00
Rob Bierbooms ad5d7ee615
Implement unload entry for rfxtrx integration (#38037)
* Implement unload entry

* Change async_remove to remove

* Pop data from hass.data

* Change sequence order in unload

* Dont unload internal when unload platforms fail
2020-07-21 23:43:05 +02:00
Rob Bierbooms d9dba9142c
Move data on import in rfxtrx integration into ConfigEntry (#38022)
* Move all data imported from yaml to ConfigEntry

* Revert changes that prevent updating yaml entry

* Cleanup code around time conversion
2020-07-21 09:44:00 +02:00
Joakim Plate f173805c2f
Make sensor and binary_sensor inherit from base class (#37946)
* Make sensor and binary_sensor inherit from base class

* Drop several pointless public properties

* Make sure base function has same parameters

* Drop pass

* Missed one

* Adjust inherit order
2020-07-18 13:43:38 +02:00
Joakim Plate 7c9be024bb
Rfxtrx use previous received event to do complete restore (#37819)
* Add event attribute to display last received event

* Restore state using event attribute

* Allow empty dict for device config

* Must also validate normal case

* Do early return
2020-07-17 10:27:07 +02:00
Joakim Plate 1a64108eea
Switch rfxtrx to config entries (#37794)
* Switch to config flow setup

* Add minimal test for config flow

* Add myself as codeowner and address some review concerns

* Address some further review comments
2020-07-13 23:24:28 +02:00
Joakim Plate ccbc3b5e39
Add rfxtrx ability to send a raw command to device (#37793)
* Add the ability to send a raw command to device

* Add a test for new service

* Use async test

* Sort includes
2020-07-13 16:54:52 +02:00