Commit Graph
20 Commits
Author SHA1 Message Date
Felipe Martins DielandGitHub 2f4aa35ca6 Bump python-broadlink to 0.15.0 (#39228)
* Rename DeviceOfflineError to NetworkTimeoutError

* Bump python-broadlink to 0.15
2020-09-26 10:46:02 -05:00
Felipe Martins DielandGitHub c6a48d3b61 Support learning different command types with remote (#39670) 2020-09-22 22:09:19 -05:00
Felipe Martins DielandGitHub 2f7b6bfa2d Fix RM mini 3 update manager (#40215) 2020-09-18 15:31:25 +02:00
Felipe Martins DielandGitHub 976d8f7abe Handle an unsupported device in the Broadlink config flow (#40242) 2020-09-18 15:29:26 +02:00
Felipe Martins DielandGitHub a6d3ee90f0 Improve tests for Broadlink config flow (#39894) 2020-09-11 20:00:28 -05:00
Felipe Martins DielandGitHub 9f08955fef Improve tests for Broadlink devices (#39898) 2020-09-11 19:57:07 -05:00
353b40b28a Add tests for Broadlink remotes (#39235)
* Add tests for Broadlink remotes

* Reformat the tests with Black

* Add a helper method for device setup

* Rename device.setup() to device.setup_entry()

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-03 16:51:08 -05:00
Felipe Martins DielandGitHub e4d29bf3ec Add tests for Broadlink sensors (#39230)
* Add tests for Broadlink sensors

* Remove sensor.py from .coveragerc
2020-08-26 22:43:17 -05:00
Felipe Martins DielandGitHub 067efc7805 Remove services.yaml from the Broadlink integration (#39261) 2020-08-26 10:47:44 +02:00
Felipe Martins DielandGitHub a2c1f08c8c Implement config flow in the Broadlink integration (#36914)
* Implement config flow in the Broadlink integration

* General improvements to the Broadlink config flow

* Remove unnecessary else after return

* Fix translations

* Rename device to device_entry

* Add tests for the config flow

* Improve docstrings

* Test we do not accept more than one config entry per device

* Improve helpers

* Allow empty packets

* Allow multiple config files for switches related to the same device

* Rename mock_device to mock_api

* General improvements

* Make new attempts before marking the device as unavailable

* Let the name be the template for the entity_id

* Handle OSError

* Test network unavailable in the configuration flow

* Rename lock attribute

* Update manifest.json

* Import devices from platforms

* Test import flow

* Add deprecation warnings

* General improvements

* Rename deprecate to discontinue

* Test device setup

* Add type attribute to mock api

* Test we handle an update failure at startup

* Remove BroadlinkDevice from tests

* Remove device.py from .coveragerc

* Add tests for the config flow

* Add tests for the device

* Test device registry and update listener

* Test MAC address validation

* Add tests for the device

* Extract domains and types to a helper function

* Do not patch integration details

* Add tests for the device

* Set device classes where appropriate

* Set an appropriate connection class

* Do not set device class for custom switches

* Fix tests and improve code readability

* Use RM4 to test authentication errors

* Handle BroadlinkException in the authentication
2020-08-20 17:30:41 +02:00
Felipe Martins DielandGitHub fec4966ee0 Clean up feedreader files at the end (#39064) 2020-08-19 16:38:34 -05:00
Felipe Martins DielandGitHub 38bb8ef4d2 Clean up command learning in the Broadlink integration (#36318) 2020-06-09 14:15:46 +02:00
a7a58b9eac Fix SP2-CL (0x7544) sensor update (#36242)
* Fix SP2-CL (0x7544) sensor update

This device does not support get_energy(). We need to ignore the CommandNotSupportedError in the update method.

* Format with Black

* Only wrap code that throws with catch

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-02 19:44:45 -07:00
Felipe Martins DielandFranck Nijhof 1feb8ada6c Handle StorageError in the Broadlink integration (#35986) 2020-05-24 11:27:54 +02:00
Felipe Martins DielandGitHub 3d253fa52a Handle StorageError in the Broadlink integration (#35986) 2020-05-23 11:10:06 +02:00
Felipe Martins DielandGitHub 2b38df2766 Allow underscores in broadlink hostnames (#35791)
* Allow underscores in hostnames

* Ignore case
2020-05-19 13:46:12 +02:00
Felipe Martins DielandGitHub 6464c94990 Fix connection problems in the Broadlink integration (#34670)
* Use helper functions for exception handling

* Create a separate class to handle communication with the device

* Update manifest

* Use coroutine for service setup

* Fix sensor update

* Update tests

* Fix MP1 switch

* Add device.py to .coveragerc

* Remove unnecessary blocking from test_learn_timeout

* Change access method for entries with default values

* Make the changes suggested by MartinHjelmare

* Remove dot from debug message

* Use underscore for unused variable
2020-05-13 10:36:32 +02:00
a365f456fc Add support to the new Broadlink RM Mini 3 and RM4 Series (#32523)
* Add device type

* Use snake_case for devtype

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Validate device type as positive int

* Add device type 0x5f36 to switch

* Use default type for sensors

* Add RM4 to switch platform

* Use snake_case for devtype

* Support multiple types of remote

* Validate ip address

* Improve code readability

* Add const.py to .coveragerc

* Use None for unknown device types

* Fix sensors and standardize platform schemas

* Fix if statement

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-04-19 01:16:49 +02:00
Felipe Martins DielandPaulus Schoutsen 5a24dbf599 Broadlink remote (#26528)
* Add broadlink remote control platform

* Fix order of the imports

* Add remote.py to .coveragerc

* Optimize MAC address validation

* Use storage helper class and improve code readability

* Add me to the manifest as a code owner

* Fix dosctring

* Add me to the code owners

* Remove storage schemas, rename storage keys and improve readability
2019-12-02 13:20:36 -08:00
Felipe Martins DielandPascal Vizeli 0ed9e185b2 Add support for learning new commands (#23888)
* Add support for learning new commands

This update creates a generic service in the 'remote' component to enable remote control platforms to learn new commands.

* Update __init__.py with the proposed changes

- Add 'supported_features' property and a constant related to the 'learn_command' functionality.
- Redefine 'async_learn_command' function as a coroutine.

* Update __init__.py

* Fix assertion error

Adding the 'supported_features' attribute generated an assertion error on the 'Demo Remote' platform. This update fixes this.

* Fix duplicated 'hass' object

This update fixes a typo that occurred at the last update.
2019-06-05 11:32:59 +02:00