Commit Graph

12781 Commits (808798219352e1cd184b63c061ac31f3672005ee)

Author SHA1 Message Date
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 fd9fdc6283
Fix error reporting with unserializable json (#73908) 2022-06-23 20:32:45 +02:00
J. Nick Koston edb386c736
Switch frontend to use json helper (#73874) 2022-06-23 20:19:13 +02: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 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
Raman Gupta 9b93071720
Bump zwave-js-server-python to 0.38.0 (#73707)
* Bump zwave-js-server-python to 0.38.0

* Fix test
2022-06-19 20:12:01 +02:00
Álvaro Fernández Rojas be6c2554dd
Add QNAP QSW DHCP discovery (#73130)
* qnap_qsw: add DHCP discovery

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* qnap_qsw: config_flow: add async_step_dhcp

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* qnap_qsw: config_flow: lower DHCP logging

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: qnap_qsw: fix copy & paste

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* qnap_qsw: dhcp: introduce changes suggested by @bdraco

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update homeassistant/components/qnap_qsw/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* qnap_qsw: async_step_user: disable raising on progress

Allows async_step_user to win over a discovery.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-06-19 09:43:29 -05:00
G Johansson 68135e57af
Split timer service for Sensibo (#73684) 2022-06-19 09:28:33 -05:00
Christopher Bailey b19b6ec6ea
Update UniFi Protect to use MAC address for unique ID (#73508) 2022-06-19 09:22:33 -05:00
Raman Gupta 7714183118
Add `zwave_js/subscribe_node_status` WS API cmd (#73249)
* Add zwave_js/subscribe_node_status WS API cmd

* add ready to event
2022-06-19 10:09:26 -04:00
G Johansson d5df2b2ee7
Sensibo Add Pure Boost Service (#73114)
* Pure Boost Service

* Fix tests

* Fix mypy

* One service to two services

* Minor fix test

* Fix issues
2022-06-18 15:15:44 -05:00
G Johansson 046d7d2a23
Add tests for trafikverket_ferry (#71912) 2022-06-18 12:58:10 -05:00
Christopher Bailey 691d49f23b
Refactor migration code for UniFi Protect (#73499) 2022-06-18 12:56:28 -05:00
uvjustin 7a3f632c1d
Make stream recorder work concurrently (#73478) 2022-06-18 05:13:07 +10:00
J. Nick Koston 4bc5d7bfed
Speed up zha tests (#73627) 2022-06-17 11:41:10 -05:00
Steven Looman bf15df75dd
Ignore fake upnp/IGD devices when upnp is discovered (#73645) 2022-06-17 11:26:45 -05:00
Erik Montnemery baa810aabb
Improve warnings for datetime and date sensors with invalid states (#73598) 2022-06-17 12:17:13 +02:00
Allen Porter ea21a36e52
Remove default use of google calendars yaml file in tests (#73621)
Remove default use of
 google_calendars.yaml in tests
2022-06-17 09:04:41 +02:00
Michael e30478457b
Fix voltage and current values for Fritz!DECT smart plugs (#73608)
fix voltage and current values
2022-06-17 07:40:02 +02:00
Dave T cdd5a5f68b
Generic ipcam configflow2 followup (#73511)
* Address code review comments

* Add type hints

* Remvoe unused strings

* Remove persistent notification setup

* Patch async_configre

* Fix pylint warning

* Address review comments

* Clean types

* Code review: defer local var assignment

Co-authored-by: Dave T <davet2001@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-17 07:07:21 +02:00
epenet 187d56b88b
Add ability to run plugin on unannotated functions (#73520)
* Add ability to run plugin on unannotated functions

* Use options

* Adjust help text

* Add test for the option
2022-06-16 20:12:30 +02:00
uvjustin 01a4a83bab
Improve stream playback on high latency cameras (#72547)
* Disable LL-HLS for HLS sources
* Add extra wait for Nest cameras
2022-06-17 01:48:52 +10:00
Erik Montnemery e2327622c3
Migrate SNMP sensor to TemplateEntity (#73324) 2022-06-16 15:02:50 +02:00
Erik Montnemery dea8041461
Add device_class to MQTT number and migrate to native_value (#73534) 2022-06-16 13:34:54 +02:00
Maciej Bieniek c2b484e38b
Use IP address instead of hostname in Brother integration (#73556) 2022-06-16 11:43:36 +02:00
Erik Montnemery 2d07cda4e7
Improve number deprecation warnings (#73552) 2022-06-16 09:05:13 +02:00
J. Nick Koston af81ec1f5f
Handle offline generators in oncue (#73568)
Fixes #73565
2022-06-16 07:51:55 +02:00
Allen Porter b014d558ff
Add application credentials platform for nest and deprecate yaml for SDM API (#73050)
* Update the nest integration to be useable fully from the config flow

* Support discovery in nest config flow

* Remove configuration entries

* Remove unused import

* Remove dead code

* Update homeassistant/components/nest/strings.json

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

* Remove commented out code

* Use config flow for app auth reauthentication path

* Improves for re-auth for upgrading existing project and creds

* More dead code removal

* Apply suggestions from code review

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

* Remove outdated code

* Update homeassistant/components/nest/config_flow.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-15 07:15:53 -07:00
Erik Montnemery 8c0ae545c9
Migrate knx NumberEntity to native_value (#73536) 2022-06-15 14:39:56 +02:00
Thibaut 658ce9d4f2
Remove Somfy integration (#73527)
* Remove somfy

* Remove somfy
2022-06-15 12:18:15 +02:00
Franck Nijhof 05d7d31dfd
Improve Elgato error handling (#73444) 2022-06-15 12:12:07 +02:00
J. Nick Koston 16dd70ba99
Switch to a dataclass for lutron_caseta entry data (#73500) 2022-06-14 20:32:38 -10:00
J. Nick Koston 1e956bc52f
Reduce bond startup time (#73506) 2022-06-14 20:30:59 -10:00
Erik Montnemery 23fa19b75a
Support restoring NumberEntity native_value (#73475) 2022-06-14 10:56:27 -07:00
J. Nick Koston 9b157f974d
Reduce overhead to refire events from async_track_point_in_utc_time when an asyncio timer fires early (#73295)
* Reduce overhead to refire events

- asyncio timers can fire early for a varity of reasons including
  poor clock resolution and performance. To solve this problem
  we re-arm async_track_point_in_utc_time and try again later
  when this happens.

- On some platforms this means the async_track_point_in_utc_time can
  end up trying many times to prevent firing the timer early since as
  soon as it rearms it fires again and this repeats until we reach
  the appointed time. While there is not much we can do to prevent
  asyncio from firing the timer callback early, we can reduce the
  overhead when this happens by using avoiding creating datetime
  objects

* tweak mocking

* -vvv

* fix time freeze being too broad in litterrobot

* adjust
2022-06-14 07:46:00 -10:00
Allen Porter 0b7a030bd4
Fix fan support in nest, removing FAN_ONLY which isn't supported (#73422)
* Fix fan support in nest, removing FAN_ONLY which isn't supported

* Revert change to make supported features dynamic
2022-06-14 06:19:22 -07:00
Erik Montnemery 3da3503673
Add temperature unit conversion support to NumberEntity (#73233)
* Add temperature unit conversion to number

* Remove type enforcements

* Lint

* Fix legacy unit_of_measurement

* Address review comments

* Fix unit_of_measurement, improve test coverage
2022-06-14 09:40:57 +02:00
Erik Montnemery e3b6c7a66f
Add Home Assistant Yellow integration (#73272)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-06-13 23:25:11 -07:00
J. Nick Koston 51b4d15c8c
Speed up mqtt tests (#73423)
Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2022-06-13 10:17:10 -10:00
J. Nick Koston 034c0c0593
Improve YAML Dump times with C Dumper (#73424) 2022-06-13 13:14:30 -07:00
J. Nick Koston 0ffeb6c304
Check if requirements are installed in the executor (#71611) 2022-06-13 13:10:05 -07:00
G Johansson c660fae8d8
Sensibo Add timer (#73072) 2022-06-13 09:17:08 -10:00
J. Nick Koston dca4d3cd61
Significantly improve yaml load times when the C loader is available (#73337) 2022-06-13 08:44:46 -10:00
Jan Bouwhuis 657e7f9a4c
Simplify MQTT test for setup manual mqtt item from yaml (#72916)
simplify test setup manual mqtt item from yaml
2022-06-13 13:44:12 +02:00
Jan Bouwhuis 48e3d68b53
Clean up MQTT platform entry setup at discovery (#72371)
* Setup MQTT discovery with entry setup

* Wait for entry setup in test

* flake
2022-06-13 13:38:53 +02:00
epenet ca0a185b32
Enforce config-flow type hints to get options flow (#72831)
* Enforce config-flow type hints to get options flow

* Add checks on return_type

* Fix tests

* Add tests

* Add BinOp to test

* Update tests/pylint/test_enforce_type_hints.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Update pylint/plugins/hass_enforce_type_hints.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Add TypeHintMatch property

* Update pylint/plugins/hass_enforce_type_hints.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-06-13 11:14:30 +02:00
Dave T b261f0fb41
Use more specific exception and simplify aurora_abb_powerone (#73338)
* Use more specific exception for comms timeout

* Remove defered uniqueid assigner now yaml has gone

Co-authored-by: Dave T <davet2001@users.noreply.github.com>
2022-06-13 09:36:46 +02:00
J. Nick Koston 7a422774b6
Prevent config entries from being reloaded while they are setting up (#73387) 2022-06-12 23:05:08 -07:00