Commit Graph

50886 Commits (5c5fd746fd42f7e33271c3dbb0f12488297b7d0c)

Author SHA1 Message Date
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
epenet ad7da9803f
Adjust lutron_caseta type hints (#73840)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-06-22 22:37:01 +02:00
Khole 73c54b14d0
Hive bump pyhiveapi version (#73846) 2022-06-22 22:20:47 +02:00
epenet 75cfe845e1
Adjust freedompro type hints (#73839) 2022-06-22 22:17:50 +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
epenet 9ac28d2076
Adjust vesync type hints (#73842) 2022-06-22 21:40:22 +02:00
Martin Hjelmare 0e674fc597
Clean up zwave_js logging and hass.data (#73856) 2022-06-22 21:35:26 +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
jjlawren 8d66623036
Add ZoneGroupState statistics to Sonos diagnostics (#73848) 2022-06-22 12:29:34 -05:00
Christopher Bailey 54d04d233b
Bump version of pyunifiprotect to 4.0.6 (#73843) 2022-06-22 12:13:43 -05:00
Pascal Vizeli 6cf9b22b5a
Python 3.10 / Base image 2022.06.01 (#73830)
* Python 3.10 / Base image 2022.06.01

* Update requirements

* push opencv

* we don't need numpy on core for now

* Remove unused ignore

Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-06-22 12:04:39 -05:00
epenet 6b6e5fad3c
Add missing type hints in fans (#73835) 2022-06-22 18:43:41 +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
epenet 837957d89e
Adjust set_percentage routine in fans (#73837) 2022-06-22 18:22:01 +02:00
jjlawren 86fde1a644
Handle failures during initial Sonos subscription (#73456) 2022-06-22 10:56:17 -05:00
epenet 143e6a7adc
Add missing type hints in locks (#73831) 2022-06-22 10:23:51 -05:00
G Johansson 7a407d09dc
Fix filter & room occupied binary sensors (#73827) 2022-06-22 10:13:16 -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 754fe86dd9
Add fan to strict typing (#73820)
* Add fan to strict typing

* Adjust state_attributes

* Adjust capability_attributes

* Adjust is_on

* Adjust vallox component

* Revert "Adjust is_on"

This reverts commit 48d207f250.

* Fix is_on property
2022-06-22 14:15:44 +02:00
epenet 33a84838b4
Fix type hints in zha smartenergy channel (#73775)
* Fix type hints in zha smartenergy channel

* Adjust unit_of_measurement
2022-06-22 07:41:28 -04:00
Franck Nijhof fb2a3ae135
Update sentry-sdk to 1.6.0 (#73819) 2022-06-22 13:39:19 +02:00
uvjustin 03246d2649
Use ha-av instead of av and bump to v10.0.0b3 (#73789)
* Use ha-av instead of av and bump to v10.0.0b1

* Change generic

* Use v10.0.0b2

* Use v10.0.0b3
2022-06-22 13:38:44 +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
Christopher Bailey 90ad6ca540
Bumps version of pyunifiprotect to 4.0.5 (#73798) 2022-06-22 10:46:38 +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
J. Nick Koston 4bfdc61045
Fix rachio webhook not being unregistered on unload (#73795) 2022-06-22 10:02:02 +02:00
Franck Nijhof 504f4a7acf
Update Fibaro config entry on duplicate entry (#73814) 2022-06-22 09:55:36 +02:00
Franck Nijhof 998e63df61
Fix Plugwise migration error (#73812) 2022-06-22 09:54:35 +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
epenet 243905ae3e
Fix cover, light, select, sensor, switch type hints in zha (#73770)
* Fix zha sensor type hints

* Fix zha entity type hints

* Fix switch type hints

* Fix light type hints

* Fix cover type hints

* Fix select type hints
2022-06-21 21:04:24 -04:00
epenet 6c83ed4c9d
Fix api, button and climate type hints in zha (#73771)
* Fix zha api type hints

* Fix zha button type hints

* Fix zha climate type hints
2022-06-21 21:02:08 -04:00
epenet 21275669d5
Fix inheritance in zha general channel (#73774)
Fix general channel type hints in zha
2022-06-21 21:00:58 -04:00
GitHub Action 78dd522ccd [ci skip] Translation update 2022-06-22 00:26:36 +00:00
Erik Montnemery 562ad18fb4
Bump pychromecast to 12.1.4 (#73792) 2022-06-22 00:45:47 +02: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
J. Nick Koston db9c242723
Speed up creating group entities from YAML (#73649)
* Speed up creating group entities from YAML

- Pass all the entities to async_add_entities in one call to
  avoid multiple levels of gather

* Speed up creating group entities from YAML

- Pass all the entities to async_add_entities in one call to
  avoid multiple levels of gather

* Update homeassistant/components/group/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/group/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/group/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/group/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* typing

* unbreak

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-21 18:56:32 +02: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