* Suppress data get timeout exceptions for 30s after notify attempts
At least SMS send failures may put the API in a state where it times out
some (but not all) data get operations for some time, e.g. 25s.
Closes https://github.com/home-assistant/home-assistant/issues/30827
* Do not pile up duplicate data requests
Do not add another request for a piece of data for which a previous
request is still in progress. For example failing SMS sends are known to
stall some (but not all) requests for some time, and firing up more is
not going to help.
* Modernization rework
- config entry support, with override support from huawei_lte platform in YAML
- device tracker entity registry support
- refactor for easier addition of more features
- internal code cleanups
* Remove log level dependent subscription/data debug hack
No longer needed, because pretty much all keys from supported
categories are exposed as sensors.
Closes https://github.com/home-assistant/home-assistant/issues/23819
* Upgrade huawei-lte-api to 1.4.1
https://github.com/Salamek/huawei-lte-api/releases
* Add support for access without username and password
* Use subclass init instead of config_entries.HANDLERS
* Update huawei-lte-api to 1.4.3 (#27269)
* Convert device state attributes to snake_case
* Simplify scanner entity initialization
* Remove not needed hass reference from Router
* Return explicit None from unsupported old device tracker setup
* Mark unknown connection errors during config as such
* Drop some dead config flow code
* Run config flow sync I/O in executor
* Parametrize config flow login error tests
* Forward entry unload to platforms
* Async/sync fixups
* Improve data subscription debug logging
* Implement on the fly add of new and tracking of seen device tracker entities
* Handle device tracker entry unload cleanup in component
* Remove unnecessary _async_setup_lte, just have code in async_setup_entry
* Remove time tracker on unload
* Fix to not use same mutable default subscription set for all routers
* Pylint fixes
* Remove some redundant defensive device tracker code
* Add back explicit get_scanner None return, hush pylint
* Adjust approach to set system_options on entry create
* Enable some sensors on first add instead of disabling everything
* Fix SMS notification recipients default value
* Add option to skip new device tracker entities
* Fix SMS notification recipient option default
* Work around https://github.com/PyCQA/pylint/issues/3202
* Remove unrelated type hint additions
* Change async_add_new_entities to a regular function
* Remove option to disable polling for new device tracker entries