Commit Graph

14757 Commits (d62cdf3d659563ff568ba054026e89eff12c1d9d)

Author SHA1 Message Date
Aaron Bach 637941df4d
Fix a series of bugs due to Notion API changes (#93039)
* Fix a series of bugs due to Notion API changes

* Simplify

* Reduce blast radius

* Reduce blast radius

* Fix tests
2023-05-14 12:07:15 -04:00
J. Nick Koston 8711735ec0
Improve websocket throughput and reduce latency (#92967) 2023-05-13 00:13:57 +09:00
Álvaro Fernández Rojas 45e7283584
Add Airzone fan speed support (#92840) 2023-05-12 22:56:17 +09:00
Jan Bouwhuis a05c20a498
Filter replaying unrelated retained MQTT messages when subscribing to share topics (#88826)
* Do not replay already processed retained subscr.

* Add tests

* Always replay wildcards

* Update tests for debouncer

* Rework for retained topics

* Fix test

* Correct comment

* Add cleanup and test

* Fix key error

* Correct helper

* Rename mock

* Add comment on function _retained_init

* Always replay initial retained payload

* Apply suggestion moving msg.retain to outer check

* Improve test on edge case

* Improve comment formatting

* Follow up comment - improve comments on test

* Update homeassistant/components/mqtt/client.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-05-12 15:23:05 +02:00
Piotr Tobolski 02b5d643e7
Add unique_id support to history_stats sensor (#92972) 2023-05-12 15:03:06 +02:00
Erik Montnemery 5a7c3aaa2d
Add sensor device class volatile_organic_compounds_parts (#92973) 2023-05-12 14:37:54 +02:00
Álvaro Fernández Rojas e9705364a8
Fix Airzone Auto operation mode (#92796) 2023-05-12 16:07:29 +09:00
J. Nick Koston 52c773a776
Always request at least one zone for multi-zone LIFX devices (#92683) 2023-05-11 12:02:32 +02:00
Erik Montnemery c1f716487c
Include data for entire periods in response to recorder/statistics_during_period (#92848)
* Include data for entire periods in response to recorder/statistics_during_period

* Break out function for calculating the end of the month
2023-05-11 11:28:33 +02:00
Franck Nijhof 67d5ca4894
Mark entities from the sun as diagnostic (#92909) 2023-05-11 18:27:19 +09:00
Bram Kragten 75f8ea48f4
Add tts get engine ws command (#92336)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-05-11 10:51:00 +02:00
Erik Montnemery 4568207f9b
Support calculating changes between consecutive sum statistics (#92823)
* Support calculating changes between consecutive sum statistics

* Add support for unit conversion when calculating change

* Don't include sum in WS response unless requested

* Improve tests

* Break out calculating change to its own function

* Improve test coverage
2023-05-11 10:05:58 +02:00
J. Nick Koston 8b57d31eba
Add ONVIF services to diagnostics (#92878) 2023-05-11 17:03:31 +09:00
Ziv dd7db85529
User config flow and custom panel for Dynalite integration (#77181) 2023-05-11 00:17:23 +02:00
Matthias Alphart 6250b0a230
Add a custom panel for KNX with a group monitor (#92355)
* Add KNX panel

* provide project data for the panel group monitor

* upload and delete project from panel

* test project store

* more tests

* finish tests

* use integers for DPTBinary payload monitor display

* add project to diagnostics

* require new frontend version

* update knx_frontend

* review suggestions

* update xknxproject to 3.1.0

---------

Co-authored-by: Marvin Wichmann <me@marvin-wichmann.de>
2023-05-11 00:13:22 +02:00
Flo 0f2caf864a
Alexa Intent: Use the 'id' field and expose nearest resolutions as variables (#86709)
* Use the 'id' field and nearest resolutions
Expose nearest Resolution (ID and Value) as Variables

* Add more specific type hints

* Change type definition of request

* Add deprecation warning and remove variables

* Remove deprecation warning & update tests

* Fix wrong value assignment

* revert future changes
2023-05-10 21:25:08 +02:00
Franck Nijhof 97cac66195
Add counter.set_value service (#92863) 2023-05-10 18:52:10 +02:00
Malte Franken 649557ed2e
Add config flow to geo_json_events (#87062)
* migrated geo_json_events integration to config flow

* improve test coverage

* code reformatting

* fix tests

* fix entity manager

* changes after review

* improve test coverage and fixed form

* remove unused code

* remove commented out code

* changes after review

* make title prettier

* fixed tests

* simplified code

* changes after review

* fix test

* push deprecation out

* changes after review

* changes after review

* changes after review

* changes after review

* changes after review

* removed scan interval from user flow and import flow
2023-05-10 10:28:45 +02:00
Erik Montnemery 7d29d584fd
Fix race in Alexa async_enable_proactive_mode (#92785) 2023-05-09 19:58:00 +02:00
Erik Montnemery 67c1051305
Allow setting an entity's name by its device class (#90767)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-05-09 18:55:55 +02:00
epenet 5f7496f97b
Fix lingering timer in hue light tests (#92858) 2023-05-09 17:07:23 +02:00
Jan Bouwhuis 25549eed85
Debounce and group mqtt unsubscribes (#92201)
* Debounce MQTT unsubscribes and merge to one call

* Make _async_unsubscribe a callback

* Make sure unsubscribes are processed

* Move debug log out of lock

* Reduce calls and raise outside lock

* Cancel any unsubscribe when queing

* Copy pending unsubscribes

* Only convert topics to list once

* No copy needed

* Typo in comment
2023-05-09 16:36:19 +02:00
G Johansson 0bda869553
Lock entity options (#88139) 2023-05-08 22:06:11 +02:00
Jan Bouwhuis 689c6fbef7
Merge pending MQTT subscribes to a single call to the paho client (#92172)
* Merge mqtt subscribes in one call

* Cleanup

* cleanup, log outside of lock

* Remove function wrapper

* Add test that we bundle subscriptions
2023-05-08 15:37:25 +02:00
G Johansson 6ad4e13b38
Manual trigger entity and refactor command_line switch (#91506)
* TriggerEntity to CoordinatorTriggerEntity

* _render_templates

* split manual vs coordinator

* name

* ManualTriggerEntity

* value

* Remove ManualTriggerEntity

* ManualTriggerEntity

* process_manual_data

* Add test

* imports

* Move ManualTriggerEntity

* cmd_line switch

* Review comments

* Fix templating

* Review comments

* Remove unneeded logging
2023-05-08 10:19:37 +02:00
Robert Hillis 54b303dfea
Cleanup after removing D-Link yaml (#92739) 2023-05-07 16:49:34 +02:00
Guido Schmitz f165a41b7a
Add button platform to devolo Home Network (#85834)
* Add Start WPS button

* Add remaining buttons

* Set correct entity categories

* Inherit from DevoloEntity

* Fix mypy

* Apply feedback

* Raise on DevicePasswordProtected

* Fix ruff

* Really fix ruff

* Adapt to recent development

* Change error message
2023-05-07 14:53:46 +02:00
Austin Mroczek 16c915864b
Add diagnostic sensors for TotalConnect (#73152)
* add diagnostic sensors

* test binary_sensor.py file

* add tests for binary sensor

* fix zone type checks and error on unknown

* improve entity tests

* hide entities by default

* Revert "hide entities by default"

This reverts commit 9808d732471385e45ccc5f7c3aea93bfecbdfa6f.

* Update homeassistant/components/totalconnect/binary_sensor.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* update binary_sensor per comments

* update test

* move to _attr_extra_state_attributes

* no spaces in unique_id

* update per balloob suggestions

* fix typing

* fix black and mypy

* Apply suggestions from code review

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* add more to binary_sensor tests

* remove unused import

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-05-07 10:27:33 +02:00
andarotajo bf6d429339
Add config flow to dwd_weather_warnings (#91040)
* Add config flow to dwd_weather_warnings

* Add additional test for more coverage

* Apply code review changes

* Apply further code review changes

* Rename constant for configuration

* Apply code review changes

* Simplify config flow code
2023-05-07 10:26:39 +02:00
Thijs W b22c45ea29
Fix radio_id can be unavailable (#92698)
Allow radio_id to be unavailable
2023-05-07 08:59:36 +02:00
G Johansson 2c5cad4ca0
Clean config flow for SQL (#92332) 2023-05-07 01:42:37 +02:00
J. Nick Koston f47f49c9a1
Reduce overhead to check bluetooth logging (#92512) 2023-05-07 01:30:54 +02:00
J. Nick Koston ce3cb5864a
Improve reliablity of recorder purge test (#92641) 2023-05-07 01:28:43 +02:00
J. Nick Koston d05724a42a
Fix onvif reauth when device returns a http 401/403 error (#92690) 2023-05-07 00:12:24 +02:00
G Johansson d66305ddd3
Remove dlink yaml import (#92590) 2023-05-07 00:01:58 +02:00
G Johansson 080ce51ed9
Remove issue from pushover (#92595)
* Remove issue pushover

* Remove strings
2023-05-06 16:49:34 +02:00
Artem Draft d816da9355
Add media_player platform to Android TV Remote (#91677) 2023-05-06 09:18:34 -05:00
Sebastian Lövdahl e680ec6247
Remove deprecated Vallox YAML configuration (#91096)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-05-06 10:23:14 +02:00
rikroe 9a65a89aa4
Improve internet/API error handling for BMW (#90274)
* Improve internet/API error handling

* Switch to library exceptions for HTTP status errors

* Remove duplicate logging after reconnect

* Raise UpdateFailed instead of custom log handling

---------

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-05-06 10:00:37 +02:00
Matthias Alphart 1af1f4db0c
Fix devolo home lint errors from ruff (#92649) 2023-05-05 17:11:05 -05:00
Guido Schmitz b195d5d1db
Assemble platforms upfront in devolo Home Network (#80126)
* Assemble platforms upfront in devolo Home Network

* Add tests

* Optimize mocks

* Use async_forward_entry_setups

* Adapt tests to newly added switch platform
2023-05-05 23:01:57 +02:00
Guido Schmitz 2b3f7ad70d
Add diagnostics to devolo Home Control (#86069)
* Add diagnostics to devolo Home Control

* Apply feedback
2023-05-05 21:24:42 +02:00
Luke f326dd919b
Roborock continue on failed mqtt disconnect (#92502)
continue on async disconnect failure
2023-05-05 21:20:30 +02:00
G Johansson 82b4368d1d
Bump pytrafikverket to 0.3.1 (#92425)
* Bump pytrafikverket 0.3.0

* 0.3.1

* mypy

* Fix exceptions
2023-05-05 21:19:16 +02:00
Steve Easley 6bbcf2f689
Add JVC Projector integration (#84748)
* Initial commit of jvcprojector

* Renamed domain

* Initial commit

* Support for v1.0.6 device api

* Fixed failing test

* Removed TYPE_CHECKING constant

* Removed jvc brand

* Removed constant rename

* Renaming more constants

* Renaming yet more constants

* Improved config_flow tests

* More changes based on feedback

* Moved config_flow dependency

* Removed default translation title

* Removed translation file

* Order manifest properly
2023-05-05 20:44:53 +02:00
G Johansson e41a75f617
Remove yaml import rainbird (#92599) 2023-05-05 16:53:40 +02:00
G Johansson 835be4758a
Remove deprecated service for rainbird (#92601) 2023-05-05 07:22:07 -07:00
epenet 802e907a35
Migrate rest switch to httpx (#90768) 2023-05-05 14:43:39 +02:00
Erik Montnemery 5843c1fa3b
Bump hatasmota to 0.6.5 (#92585)
* Bump hatasmota to 0.6.5

* Fix tests
2023-05-05 08:40:30 -04:00
Paulus Schoutsen 19dcc8c88f
Re-run expose entities migration if first time failed (#92564)
* Re-run expose entities migration if first time failed

* Count number of exposed entities

* Add tests

---------

Co-authored-by: Erik <erik@montnemery.com>
2023-05-05 08:11:09 -04:00
DDanii 9ce062411d
Fix transmission error handling (#91548)
* transmission error handle fix

* added unexpected case tests
2023-05-05 08:42:51 +02:00
puddly 5f22b0c6cc
Handle invalid ZHA cluster handlers (#92543)
* Do not crash on startup when an invalid cluster handler is encountered

* Add a unit test
2023-05-04 20:02:17 -04:00
Franck Nijhof 80e9219546
Add entity descriptions to sensors of Rituals Perfume Genie (#92527) 2023-05-04 20:12:52 +02:00
Jan Bouwhuis 56dcb908bc
Wait for mqtt client to become available (#92524) 2023-05-04 19:48:32 +02:00
Franck Nijhof dd3ae96d5f
Add entity descriptions to numbers of Rituals Perfume Genie (#92486) 2023-05-04 19:13:05 +02:00
J. Nick Koston 7987b00d89
Fix blocking I/O in the event loop when starting ONVIF (#92518) 2023-05-04 12:05:29 -05:00
Erik Montnemery 887e656570
Small improvement of assist_pipeline test coverage (#92115) 2023-05-04 19:01:41 +02:00
Erik Montnemery e14be8b0ab
Force migration of cloud settings to exposed_entities (#92499) 2023-05-04 09:53:28 -04:00
J. Nick Koston 9b74cb9507
Fix lifx light strips when color zones are not initially populated (#92487)
fixes #92456
2023-05-04 08:55:47 -04:00
epenet 71b86e9f97
Fix lingering timer in sabnzbd (#92462) 2023-05-04 12:19:40 +02:00
epenet a4a795e35b
Fix lingering timer in kira tests (#92471) 2023-05-04 11:28:05 +02:00
epenet 6836e15d98
Add type hints to tests (#92477) 2023-05-04 11:25:35 +02:00
epenet 3b4828d736
Drop tmpdir from media_source tests (#92478) 2023-05-04 11:24:29 +02:00
Michael Hansen aa78962a9a
Pass OPUS payload ID through VoIP (#92421) 2023-05-03 19:43:14 +02:00
Erik Montnemery a9d8bc989e
Migrate cloud settings for all Google entities (#92416) 2023-05-03 18:56:48 +02:00
Erik Montnemery 51be90d87e
Migrate cloud settings for all Alexa entities (#92413)
* Migrate cloud settings for all Alexa entities

* Also set settings for unknown entities
2023-05-03 12:39:27 -04:00
Michael Hansen 74560ab139
Skip unexposed entities in intent handlers (#92415)
* Filter intent handler entities by exposure

* Add test for skipping unexposed entities
2023-05-03 12:18:31 -04:00
Erik Montnemery f089f52504
Update cloud WS API for getting entity (#92409)
* Update cloud WS API for getting entity

* Adjust comment
2023-05-03 17:06:42 +02:00
Erik Montnemery 470c3a0f5f
Use exposed_entities API in cloud tests (#92408) 2023-05-03 16:50:43 +02:00
Erik Montnemery b71f98e8b7
Include all entities in cloud lists (#92406) 2023-05-03 16:14:04 +02:00
Erik Montnemery 31de1b17e8
Allow setting google disable 2fa flag on any entity (#92403)
* Allow setting google disable 2fa flag on any entity

* Fix test

* Include disable_2fa flag in cloud/google_assistant/entities/get
2023-05-03 09:55:38 -04:00
Erik Montnemery 0126cfa9d9
Allow exposing any entity to the default conversation agent (#92398)
* Allow exposing any entity to the default conversation agent

* Tweak

* Fix race, update tests

* Update tests
2023-05-03 09:45:54 -04:00
Erik Montnemery 4860a8d1e8
Don't use storage collection helper in ExposedEntities (#92396)
* Don't use storage collection helper in ExposedEntities

* Fix tests
2023-05-03 12:39:22 +02:00
Erik Montnemery 7aa94f97c0
Improve exposed entities tests (#92389) 2023-05-03 10:49:01 +02:00
Paulus Schoutsen 1baa4d5109
Fix deserialize bug + add test coverage (#92382) 2023-05-02 22:38:54 -04:00
Erik Montnemery e3c16e634b
Allow exposing entities not in the entity registry to assistants (#92363) 2023-05-02 22:08:09 +02:00
Franck Nijhof a7088e767e
Migrate unique IDs of Rituals Perfume Genie (#92342)
* Migrate unique IDs of Rituals Perfume Genie

* Fix doc string
2023-05-01 22:46:38 +02:00
Michael Hansen b1d6f3afc0
Allow configuring SIP port in VoIP (#92210)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-05-01 22:42:27 +02:00
David F. Mulcahey 2bc2c4a651
Don't poll ZHA electrical measurement sensors unnecessarily (#92330) 2023-05-01 18:32:40 +02:00
G Johansson 9795699669
Fix db_url issue in SQL (#92324)
* db_url fix

* Add test

* assert entry.options
2023-05-01 16:17:01 +02:00
Luke 7b5d26d3fa
Bump anova version (#92206)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-05-01 11:15:29 +02:00
Allen Porter e7433c42b9
Cleanup code from nest yaml migration and OOB auth deprecation (#92311) 2023-04-30 18:00:40 -07:00
Raman Gupta c0d0c89293
Add `time` platform (#81949) 2023-04-30 22:33:51 +02:00
Franck Nijhof 5cbf08f89a
Only store and pass around coordinator in Rituals Perfume Genie (#92298) 2023-04-30 21:32:14 +02:00
J. Nick Koston bb4c03ce3c
Avoid returning statistics columns that the metadata knows are impossible (#92095) 2023-04-30 20:46:26 +02:00
Raman Gupta d138bbe26e
Add `date` platform (#81948) 2023-04-30 20:34:57 +02:00
epenet b969790e95
Use SnapshotAssertion in Renault tests (#90778) 2023-04-30 18:55:31 +02:00
Joost Lekkerkerker cd52e05075
Move lastfm constants to separate file (#92289) 2023-04-30 18:09:02 +02:00
Jan Bouwhuis 7a43b29f38
Fix mqtt not available when starting snips (#92296) 2023-04-30 17:35:24 +02:00
J. Nick Koston 193b2694a9
Handle AttributeError from wrong port in ONVIF config flow (#92272)
* Handle AttributeError from wrong port in ONVIF config flow

fixes
```
2023-04-29 19:17:22.289 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
    return await handler(request)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/view.py", line 146, in handle
    result = await result
  File "/Users/bdraco/home-assistant/homeassistant/components/config/config_entries.py", line 180, in post
    return await super().post(request, flow_id)
  File "/Users/bdraco/home-assistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
  File "/Users/bdraco/home-assistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
  File "/Users/bdraco/home-assistant/homeassistant/data_entry_flow.py", line 271, in async_configure
    result = await self._async_handle_step(
  File "/Users/bdraco/home-assistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/Users/bdraco/home-assistant/homeassistant/components/onvif/config_flow.py", line 233, in async_step_configure
    errors, description_placeholders = await self.async_setup_profiles()
  File "/Users/bdraco/home-assistant/homeassistant/components/onvif/config_flow.py", line 277, in async_setup_profiles
    await device.update_xaddrs()
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/onvif/client.py", line 433, in update_xaddrs
    capabilities = await devicemgmt.GetCapabilities({"Category": "All"})
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/zeep/proxy.py", line 64, in __call__
    return await self._proxy._binding.send_async(
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 164, in send_async
    return self.process_reply(client, operation_obj, response)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 204, in process_reply
    doc = parse_xml(content, self.transport, settings=client.settings)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/zeep/loader.py", line 51, in parse_xml
    docinfo = elementtree.getroottree().docinfo
AttributeError: NoneType object has no attribute getroottree
```

* port

* Revert "port"

This reverts commit 4693f3f33a.

* misfire
2023-04-29 21:17:56 -04:00
J. Nick Koston 1a82b353e0
Auto repair incorrect collation on MySQL schema (#92270)
* Auto repair incorrect collation on MySQL schema

As we do more union queries in 2023.5.x if there is a mismatch
between collations on tables, they will fail with an error
that is hard for the user to figure out how to fix

`Error executing query: (MySQLdb.OperationalError) (1271, "Illegal mix of collations for operation UNION")`

This was reported in the #beta channel and by PM from others
so the problem is not isolated to a single user

https://discord.com/channels/330944238910963714/427516175237382144/1100908739910963272

* test with ascii since older maraidb versions may not work otherwise

* Revert "test with ascii since older maraidb versions may not work otherwise"

This reverts commit 787fda1aefcd8418a28a8a8f430e7e7232218ef8.t

* older version need to check collation_server because the collation is not reflected if its the default
2023-04-29 21:17:09 -04:00
Robert Hillis a5044227a8
Fix Google Mail Sensor key error (#92262)
Fix Google Mail key error
2023-04-29 20:20:43 -04:00
Michael Hansen c35aabe497
Add VoIP error tone (#92260)
* Play error tone when pipeline error occurs

* Play listening tone at the start of each cycle
2023-04-29 15:24:56 -04:00
J. Nick Koston 11131070ab
Bump pyunifiprotect to 4.8.3 (#92251) 2023-04-29 18:59:44 +02:00
IceBotYT d23bd2ad68
Add diagnostics to LaCrosse View (#92212) 2023-04-29 18:53:40 +02:00
Franck Nijhof 37723792c7
Fix unknown/unavailable source sensor in Filter entities (#92241) 2023-04-29 17:47:04 +02:00
rikroe 1028841690
Move BMW Target SoC to number platform (#91081)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-04-29 17:41:34 +02:00
Franck Nijhof acc4b001cd
Fix history YAML deprecation (#92238) 2023-04-29 08:02:34 -04:00
epenet 7dfbfd45ae
Cleanup onewire tests (#92117) 2023-04-29 11:18:16 +02:00
epenet c303487c1b
Fix lingering timer in feedreader (#92180) 2023-04-28 21:16:08 +02:00