* 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
* 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
* Only auth on enter_learning in response to errors.
* Remove extra newline.
* Add missing break on successful attempt.
* Avoid logging success message when auth is unsuccessful.
* 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
* Allow host/ipv6 address for broadlink service
This matches switch config and is a regression fix
* Restore padding of packets for broadlink
* Drop unused import
* Fix comment on test
* Consolidate
* Fix tests
* Update imports
* Fix import
* Use importlib because integration and package share name
* Fix more tests
* Update .coveragerc and CODEOWNERS