* Fetch MaxLengthExceeded exception mesage from the translation cache
* Update homeassistant/components/homeassistant/strings.json
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add case without homeassistant integration
* Fix test
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Refactor rate limit helper to track time in seconds
Currently we created datetime and timedelta objects to enforce the
rate limit. When the rate limit was being hit hard, this got expensive.
We now use floats everywhere instead as they are much cheaper which
is important when we are running up against a rate limit, which is
by definition a hot path
The rate limit helper is currently only used for templates and
we do not have any code in the code base that directly passes
in a rate limit so the impact to custom components is expected
to be negligible if any
* misesd two
* Cache parsing the url for the device registry
There are lots of hub integrations that use the same url for every
sub-device which results in a lot of url parsing at startup. The
logic can be simplified quite a bit here by only using yarl
for URLs
* fix onvif
* Deprecate cloud tts gender option
* Update http api and prefs
* Test migration of prefs to minor version 4
* Adjust breaking date
* Add test for bad voice in http api
* Flatten tts info
* Fix comments
* Fix comment date
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Clarify voice validator
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Reduce overhead to write dlna_dmr state
- Only update supported_features once per state write cycle
- Use a dict lookup for state
* useless dispatch
* fix tests
* remove unreachable code
* update to 1.18.5 and add Brand to config, required for getting shared appliances
* update version to 0.18.6
* start fixing tests
* fix typo
* check for falsy values instead of explicit None
* move CONF_BRAND from global constants to whirlpool constants
* add test for no brand, fix __init__ import
* add brand to string.json
* add brand to re-auth
* add title/description, add brand info to description
* add reauth strings
* pass already initialized data dict
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* remove trailing comma
* Update strings again
* fix reauth tests to add brand
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>