Commit Graph

11559 Commits (85fdc562400211bbaab07233bd5e9a7c496ddb44)

Author SHA1 Message Date
Paulus Schoutsen 57efa9569c
Cache is_supported for Google entities (#73936) 2022-06-24 17:05:36 -04:00
J. Nick Koston f29cc33fa0
Fix selecting entity_ids and device_ids in events with MySQL and PostgreSQL with logbook (#73918)
* Fix selecting entity_ids and device_ids in events with MySQL and PostgreSQL

Fixes #73818

* add cover
2022-06-24 15:43:35 +02:00
Rami Mosleh d1708861db
Add config flow for `simplepush` (#73471)
* Add config flow for `simplepush`

* fix warning message

* fix typos

* Add importing yaml config

* patch integration setup

* Add check for errrors raised by the library

* fix coverage

* Adjust comment and logging message

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-24 08:39:48 +02:00
Raman Gupta 768e53ac2d
Add zwave_js/get_any_firmware_update_progress WS cmd (#73905) 2022-06-23 20:13:37 -04:00
0bmay 3058a432a5
Bump py-canary to 0.5.3 (#73922) 2022-06-23 23:33:03 +02:00
Erik Montnemery 9b8c3e37bb
Improve group tests (#73630) 2022-06-23 21:38:17 +02:00
J. Nick Koston 00a79635c1
Revert "Remove sqlalchemy lambda_stmt usage from history, logbook, and statistics (#73191)" (#73917) 2022-06-23 13:59:55 -05:00
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 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
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
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
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