Commit graph

12724 commits

Author SHA1 Message Date
J. Nick Koston
2742bf86e3
Switch mqtt to use json helper (#73871)
* Switch mqtt to use json helper

* whitespace
2022-06-23 14:29:09 +02:00
Paulus Schoutsen
10b083bbf5
Sync empty entities when Google is disabled in cloud (#72806) 2022-06-23 11:41:34 +02:00
Rami Mosleh
0dd181f922
Remove deprecated YAML for Islamic prayer times (#72483) 2022-06-23 11:35:47 +02:00
epenet
f91a222034
Fix compensation (numpy) tests (#73890) 2022-06-23 11:12:22 +02:00
G Johansson
90e1fb6ce2
Weather unit conversion (#73441)
Co-authored-by: Erik <erik@montnemery.com>
2022-06-23 10:48:30 +02:00
Christian Rodriguez
3ce5b05aa5
Add bypassed custom attribute to NX584ZoneSensor (#71767) 2022-06-23 01:59:59 +02:00
Robert Svensson
aef69f87f4
More enums in deCONZ Alarm Control Panel (#73800) 2022-06-22 23:02:34 +02:00
Christopher Bailey
01a9367281
UniFi Protect cleanup and enable unadopted devices (#73860) 2022-06-22 15:57:21 -05:00
Robert Hillis
5c5fd746fd
Add digital loggers as a Belkin supported brand (#72515) 2022-06-22 22:38:45 +02:00
Franck Nijhof
a8a033681f
Automatically onboard DiscoveryFlows (#73841) 2022-06-22 22:37:49 +02:00
Franck Nijhof
ec119ae718
Automatically onboard WLED (#73853) 2022-06-22 22:37:36 +02:00
Franck Nijhof
320ef55085
Automatically onboard Elgato (#73847) 2022-06-22 22:37:25 +02:00
J. Nick Koston
8b067e83f7
Initial orjson support take 3 (#73849)
* Initial orjson support take 2

Still need to work out problem building wheels

--

Redux of #72754 / #32153 Now possible since the following is solved:
ijl/orjson#220 (comment)

This implements orjson where we use our default encoder.  This does not implement orjson where `ExtendedJSONEncoder` is used as these areas tend to be called far less frequently.  If its desired, this could be done in a followup, but it seemed like a case of diminishing returns (except maybe for large diagnostics files, or traces, but those are not expected to be downloaded frequently).

Areas where this makes a perceptible difference:
- Anything that subscribes to entities (Initial subscribe_entities payload)
- Initial download of registries on first connection / restore
- History queries
- Saving states to the database
- Large logbook queries
- Anything that subscribes to events (appdaemon)

Cavets:
orjson supports serializing dataclasses natively (and much faster) which
eliminates the need to implement `as_dict` in many places
when the data is already in a dataclass. This works
well as long as all the data in the dataclass can also
be serialized. I audited all places where we have an `as_dict`
for a dataclass and found only backups needs to be adjusted (support for `Path` needed to be added for backups).  I was a little bit worried about `SensorExtraStoredData` with `Decimal` but it all seems to work out from since it converts it before it gets to the json encoding cc @dgomes

If it turns out to be a problem we can disable this
with option |= [orjson.OPT_PASSTHROUGH_DATACLASS](https://github.com/ijl/orjson#opt_passthrough_dataclass) and it
will fallback to `as_dict`

Its quite impressive for history queries
<img width="1271" alt="Screen_Shot_2022-05-30_at_23_46_30" src="https://user-images.githubusercontent.com/663432/171145699-661ad9db-d91d-4b2d-9c1a-9d7866c03a73.png">

* use for views as well

* handle UnicodeEncodeError

* tweak

* DRY

* DRY

* not needed

* fix tests

* Update tests/components/http/test_view.py

* Update tests/components/http/test_view.py

* black

* templates
2022-06-22 21:59:51 +02:00
Franck Nijhof
1ead6d6762
Automatically onboard Yeelight (#73854) 2022-06-22 21:19:34 +02:00
Franck Nijhof
9229d14962
Automatically onboard Wiz (#73851) 2022-06-22 20:17:28 +02:00
G Johansson
532e25d087
Sensibo use switch for Pure boost (#73833)
* Initial commit

* Finalize pure boost switch

* Fix service required
2022-06-22 18:26:25 +02:00
jjlawren
86fde1a644
Handle failures during initial Sonos subscription (#73456) 2022-06-22 10:56:17 -05:00
Christopher Bailey
0461ec1566
Fix auth_sign_path with query params (take 2) (#73829) 2022-06-22 10:09:21 -05:00
J. Nick Koston
19b2b33037
Speed up subscribing to mqtt topics on connect (#73685)
* Speed up subscribing to mqtt topics

* update tests

* Remove extra function wrapper

* Recover debug logging for subscriptions

* Small changes and test

* Update homeassistant/components/mqtt/client.py

* Update client.py

Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-06-22 16:03:18 +02:00
rikroe
54591b8ca1
BMW Connected Drive: Handle HTTP 429 issues better (#73675)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2022-06-22 14:24:16 +02:00
epenet
31af4b709e
Add FanEntity type hint checks to pylint plugin (#73801)
* Add FanEntity type hint checks to pylint plugin

* Add test

* Add test

* Review comments

* Adjust tests

* Rename variable

* also test keyword_only args

* Use docstrings

* Fix tests

* Better return type
2022-06-22 12:48:23 +02:00
Jonny Bergdahl
95eb55dd66
Fix thumbnail issues in Twitch integration (#72564)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-06-22 10:22:09 +02:00
Tom Harris
08b69319ca
Insteon bug fixes (#73791) 2022-06-22 10:04:11 +02:00
Franck Nijhof
39a00ffe09
Automatically onboard Cast (#73813) 2022-06-22 09:49:54 +02:00
jjlawren
07a46dee39
Additional surround controls for Sonos (#73805) 2022-06-22 09:08:31 +02:00
J. Nick Koston
1e0a3246f4
Revert "Fix auth_sign_path with query params (#73240)" (#73808) 2022-06-21 22:45:16 -05:00
Erik Montnemery
274f585646
Tweak title of zha config entry created by yellow hw (#73797) 2022-06-21 16:21:31 -04:00
Christopher Bailey
67618311fa
Fix auth_sign_path with query params (#73240)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-06-21 14:21:47 -05:00
J. Nick Koston
adf0f62963
Add websocket api to fetch config entries (#73570)
* Add websocket api to fetch config entries

* add coverage for failure case
2022-06-21 20:09:22 +02:00
Christopher Bailey
9940a85e28
Add sensors for read-only devices for UniFi Protect (#73768) 2022-06-21 12:01:06 -05:00
epenet
9fd48da132
Add lock checks to pylint type-hint plugin (#73521)
* Add ability to check kwargs type annotation

* Add checks for lock

* Add tests

* Fix components

* Fix spelling

* Revert "Fix components"

This reverts commit 121ff6dc51.

* Adjust comment

* Add comments to TypeHintMatch
2022-06-21 18:53:31 +02:00
Christopher Bailey
3823edda32
Add Permission checking for UniFi Protect (#73765)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-06-21 11:17:29 -05:00
Pascal Vizeli
eac7c5f177
Remove deprecated X-Hassio-Key usage (#73783)
* Remove deprecated X-Hassio-Key usage

* ...

* Update const.py

* Update ingress.py

* Update test_ingress.py

Co-authored-by: Ludeeus <ludeeus@ludeeus.dev>
2022-06-21 17:11:20 +02:00
Allen Porter
cf9cab900e
Allow multiple configuration entries for nest integration (#73720)
* Add multiple config entry support for Nest

* Set a config entry unique id based on nest project id

* Add missing translations and remove untested committed

* Remove unnecessary translation

* Remove dead code

* Remove old handling to avoid duplicate error logs
2022-06-21 16:36:13 +02:00
Allen Porter
d399815bea
Allow multiple google calendar config entries (#73715)
* Support multiple config entries at once

* Add test coverage for multiple config entries

* Add support for multiple config entries to google config flow

* Clear hass.data when unloading config entry

* Make google config flow defensive against reuse of the same account

* Assign existing google config entries a unique id

* Migrate entities to new unique id format

* Support muliple accounts per oauth client id

* Fix mypy typing errors

* Hard fail to keep state consistent, removing graceful degredation

* Remove invalid entity regsitry entries
2022-06-21 06:42:41 -07:00
epenet
1b8dd3368a
Add checks for lock properties in type-hint plugin (#73729)
* Add checks for lock properties in type-hint plugin

* Adjust comment

* Simplify return-type

* Only check properties when ignore_missing_annotations is disabled

* Adjust tests

* Add comment

* Adjust docstring
2022-06-21 14:36:22 +02:00
G Johansson
0007178d63
Add filters and service to Sensibo (#73687) 2022-06-20 22:33:47 -05:00
Christopher Bailey
3851c7b4b4
Bumps version of pyunifiprotect to 4.0.4 (#73722) 2022-06-20 22:09:13 -05:00
Christopher Bailey
b956d125f9
Fix UniFi Protect write rate sensor (#73759) 2022-06-20 19:10:59 -05:00
Franck Nijhof
16e7593a7b
Add state class to Flipr sensors (#73747) 2022-06-20 20:29:50 +02:00
Gordon Allott
66b02ecff0
Ensure metoffice daily are returned once daily (#72440)
* ensure metoffice daily are returned once daily

* Fixes metoffice tests for MODE_DAILY
2022-06-20 20:27:39 +02:00
Rami Mosleh
81e3ed790d
Add re-authentication for transmission (#73124)
* Add reauth flow to transmission

* fix async_setup

* add strings

* fix test coverage
2022-06-20 16:09:58 +02:00
Joel
3824703a64
Fix homematicip cloud cover tilt position (#73410)
* cover slats fixed set tilt position

* Update cover.py

* Adjust tests

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-06-20 16:08:43 +02:00
w-marco
c075760ca0
Display Windows as TYPE_WINDOW in Google Home (#73533)
* Display Windows as TYPE_WINDOW in Google Home

* set window type to window in smart_home test
2022-06-20 13:03:43 +02:00
Erik Montnemery
b145aeaf75
Fix flaky recorder test (#73733) 2022-06-20 12:27:25 +02:00
Duco Sebel
db5e94c93b
Fix HomeWizard is not catching RequestError (#73719)
* Fix RequestError was not catched

* Add test for RequestError
2022-06-20 10:30:57 +02:00
Jan Bouwhuis
57daeaa174
Fix MQTT config schema to ensure correct validation (#73619)
* Ensure config schema validation

* Use correct schema for device_tracker

* Remove schema validation from the platform setup

* Remove loop to build schema
2022-06-20 08:51:12 +02:00
Raman Gupta
e53372f559
Add zwave_js/get_firmware_update_progress WS command (#73304)
Add zwave_js/get_firmware_update_progress WS command
2022-06-19 15:33:58 -04:00
Raman Gupta
bb5a6a7104
Add zwave_js/get_firmware_update_capabilties WS command (#73691)
* Add zwave_js/get_firmware_update_capabilties WS command

* Fix test
2022-06-19 14:50:47 -04:00
Raman Gupta
801ba6ff8e
Add target option to zwave_js firmware upload view (#73690) 2022-06-19 14:50:05 -04:00