* Implement heartbeat in the Broadlink integration
* Rename INTERVAL to HEARTBEAT_INTERVAL
* Test that we log an error message when the heartbeat fails
* Improve type annotations
* Remove unused argument
* Simplify state logic
* Fix uvindex state
* Fix type for logger
* Increase tests coverage
* Fix pylint arguments-differ error
* Suggested change
* Suggested change
* Remove unnecessary variable
* Remove unnecessary conditions
* Use int instead of list for forecast days
* Add enabled to sensor types dicts
* Fix request_remaining conversion and tests
* Run hassfest
* Suggested change
* Suggested change
* Do not use StateType
* Mqtt fan resetting speed percentage or preset_mode
* tests reset payload is working with val templates
* Remove duplicate line for CONF_PAYLOAD_HIGH_SPEED
* Ensure startup can proceed if async_get_integration raises
There were cases where the event would never get set and
startup would deadlock because the second attempt to load
the integration would block forever
* pylint
* reorder
* flake 8
* Implement feedback from PR
* update warning message
* added and updated tests
* remove _has_tilt_topic variable
* flake 8
* Implement feedback from PR
* update warning message
* added and updated tests
* remove _has_tilt_topic variable
* renamed _tilt_message_received to _tilt_payload_received
* merged with latesed upstream/dev
* converted if to try except for type check
* Implemented the suggestions of @emontnemery
* Tweak tests
* logger info to debug
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* cast tilt payload as int; combine exceptions to one line
* Add test for JSONDecodeError
* Update homeassistant/components/mqtt/cover.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* simplify pymodbus_call.
Do not call with a function object and a check attribute, call instead
with CALL_TYPE*.
Avoid if <type> call x else call y.
Call async_pymodbus_call directly, instead of unpacking/packing.
* Declare call type in __init__.
* Modbus.py back to 100% test coverage.
* Set device_class for shutters and blinds
* Add missing. imports
* Add tests for device class setting
* Clean up
* Avoid storing the node in an unused variable
* Fix entity name
* Extend qubino shutter discovery
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>