Commit Graph

15718 Commits (34041c75648c6c913785c8dad47376485b646d71)

Author SHA1 Message Date
epenet 6270776fbb
Add turn_on trigger to Samsung TV (#89018)
* Add turn_on trigger to Samsung TV

* Add tests

* Apply suggestions from code review

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

* Remove assert

* Cleanup mock_send_magic_packet

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-15 12:43:53 +01:00
jan iversen cd23caff58
Correct modbus serial method parameter (#89738) 2023-03-15 12:27:45 +01:00
epenet 9719f817c0
Bump ruff to 0.0.256 (#89734) 2023-03-15 10:07:12 +01:00
Allen Porter a91055cc2a
Fix additional typing in local calendar tests (#89704)
* Fix additional typing in local calendar tests

* Update tests/components/local_calendar/test_calendar.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-14 19:33:46 -07:00
J. Nick Koston b906d67c1e
Fix filtered purge not removing newer events (#89721) 2023-03-14 16:33:19 -10:00
Penny Wood 858fc30fcd
Fix infinite loop in sun.sun (#89723) 2023-03-14 16:27:29 -10:00
Allen Porter 4ddcb14053
Add additional CalendarEvent validation (#89533)
Add additional event validation
2023-03-14 20:27:38 -04:00
Jack Boswell c33ca4f664
Add diagnostics to Starlink (#86328) 2023-03-14 22:24:47 +01:00
Erik Montnemery c2c809682a
Tweak OTBR tests (#89694) 2023-03-14 21:26:16 +01:00
Ernst Klamer d1969fd0c2
Add water sensor to bthome (#89595)
* Add water sensor to bthome

* Use TOTAL state class for gas water and energy
2023-03-14 19:26:05 +01:00
epenet 71dc98a39c
Improve hass_ws_client type hint in tests (#89703) 2023-03-14 16:31:40 +01:00
Allen Porter 1bc4802c04
Move local calendar text fixtures to conftest.py (#89674)
* Move local calendar text fixtures to conftest.py

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Add imports for suggested typing fixes

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-14 08:12:44 -07:00
Erik Montnemery 85e0177195
Add WS command for connecting OTBR to a known Thread network (#89692)
* Add WS command for connecting OTBR to a known Thread network

* Add test
2023-03-14 15:28:06 +01:00
Bram Kragten a213ef2475
Add websocket command to set preferred thread dataset (#89700) 2023-03-14 15:27:31 +01:00
Jan Bouwhuis ec1b8b616f
Debounce and group MQTT subscriptions (#88862)
* Debounce and group mqtt subscriptions

* Cleanup

* Do not cooldown on resubscribe

* Remove lock from task

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

* ruff

* Longer initial cool down. Manages unsubscribes

* Own lock for access to self._pending_subscriptions

* adjust

* Subscribe to highest QoS when sharing subscription

* do not block _pending_subscriptions_lock with io

* Test the highest qos is subscribed at

* Cleanup max qos

* Follow up comments part 1

* Make docstr more generic

* Make max qos update thread safe

* Add lock on clearing _max_qos when resubscribing

* Wait for linger task

* User copy

* Check for key before cleaning up

* Fix lingering task

* Do not use a lock

* do not await _async_queue_subscriptions

* Replace copy with assignment

* Update max qos before returning

* Do not iterate if max_qos == 0

* Do not ieterate subs if max qos == 0

* Set initial cooldown correctly

* Ensure discovery cooldown ends after subscribing

* plan last subscribe with debouncer timeout

* cooldown if self._pending_subscriptions is set

* Revert format changes

* Remove stale assingnment self._last_subscribe

* Remove not used property

* Also check while for pending subscriptions

* revert first added sleep()

* Optimize

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-14 11:13:55 +01:00
J. Nick Koston 2cb673db04
Handle bytes data in sql sensors (#89169) 2023-03-13 18:07:05 -10:00
G Johansson afa58b80bd
Default to recorder db for SQL integration (#85436)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-13 17:41:32 -10:00
Erik Montnemery 2f4e9c8ef3
Use otbr domain as dataset source (#89653) 2023-03-13 20:56:09 -04:00
Erik Montnemery d422b0dcc2
Make OTBR add newly created dataset to thread credential store (#89645) 2023-03-13 14:09:09 -04:00
David Poll 0457bb2717
Add is_hidden_entity test for Jinja templates (#89011) 2023-03-13 18:20:33 +01:00
G Johansson 02389960ce
Refactor Command line sensor to inherit TemplateSensor (#81222)
* Refactor sensor

* Remove not needed

* block until done

* reset test

* test sensor

* Add time
2023-03-13 17:23:25 +01:00
Erik Montnemery 8a0522ca2a
Include extended address in thread discovery data (#89640) 2023-03-13 15:59:22 +01:00
Joakim Sørensen 11e21378b1
Add sensors for supervisor host (#89461)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-03-13 15:39:49 +01:00
epenet 07b25939a2
Use SnapshotAssertion in SFR button tests (#89633) 2023-03-13 15:23:00 +01:00
Thijs Walcarius cdfb43d403
Address late review comments for frontier_silicon config flow (#89507)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: wlcrs <wlcrs@users.noreply.github.com>
2023-03-13 15:06:45 +01:00
anotherthomas 179cc4d7f7
Improve warnings in mqtt light messages (#89552)
* improved warnings in mqtt light messages.

* fixed tests.
2023-03-13 14:46:16 +01:00
Erik Montnemery a230732087
Correct naming of some otbr tests (#89631) 2023-03-13 13:56:08 +01:00
epenet f3da95fb1f
Use SnapshotAssertion in SFR binary sensor tests (#89624) 2023-03-13 13:37:51 +01:00
starkillerOG 6e10cd81dd
Use repair issue when port enable fails in Reolink (#89591)
* Reolink use repair issue for disabled ports

* fix styling

* Add port repair issue tests

* Update homeassistant/components/reolink/strings.json

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-13 11:43:41 +01:00
David Poll 7284af6a3e
Add an in-memory-preloading loader for Jinja imports (#88850)
* Adds a loader to enable jinja imports.

* Switch to in-memory

* Move loading custom_jinja off of the event loop

* Raise TemplateNotFound if template doesn't exist

* Fix docstring

* Adds a service to reload custom jinja

* Remove IO from test setup

* Improve coverage and small refactor

* Incorporate feedback and use .jinja extension

* Check the loaded sources in test.

* Incorporate PR feedback.

* Update homeassistant/helpers/template.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-13 11:00:05 +01:00
epenet 5e73ad9cb0
Use SnapshotAssertion in SFR sensor tests (#89619)
* Use SnapshotAssertion in SFR sensor tests

* Name snapshots

* Cleanup const.py

* Remove name from snapshot
2023-03-13 10:45:59 +01:00
Erik Montnemery fd5c56fc7d
Rename modules named repairs.py which are not repairs platforms (#89618) 2023-03-13 09:44:20 +01:00
J. Nick Koston 4dcf7c6267
Fix history_stats test failing during DST (#89589)
Note that there is one test that needs `now()` as it is
timezone aware
2023-03-12 23:03:48 -04:00
Barry Loong 877efc993b
Add support for window device class to google assistant (#89564) 2023-03-12 22:45:25 -04:00
J. Nick Koston b9ac6b4a7c
Improve reliability of context id migration (#89609)
* Split context id migration into states and events tasks

Since events can finish much earlier than states we
would keep looking at the table because states as not
done. Make them seperate tasks

* add retry dec

* fix migration happening twice

* another case
2023-03-12 21:41:48 -04:00
J. Nick Koston 459ea048ba
Fix old indices never being removed with PostgreSQL (#89599) 2023-03-12 14:07:05 -10:00
J. Nick Koston c41f91be89
Deduplicate entity_id in the states table (#89557) 2023-03-12 10:01:58 -10:00
J. Nick Koston 73cd62bd32
Fix lingering tasks in google_wifi tests (#89571) 2023-03-12 06:39:07 -10:00
G Johansson e932139721
Strict typing threshold (#82786) 2023-03-12 17:10:00 +01:00
Erik Montnemery cf7e500a8e
Support translating entity names (#88242) 2023-03-12 15:55:04 +01:00
Erik Montnemery 376a6eb82a
Convert device_sun_light_trigger test fixture to async (#89578) 2023-03-12 14:48:46 +01:00
Erik Montnemery 234610b1cc
Simplify command_line sensor tests (#89576) 2023-03-12 14:47:43 +01:00
J. Nick Koston 1c57339ec3
Refactor recorder tests to use recorder history API (#89565) 2023-03-11 21:51:16 -05:00
J. Nick Koston 50c31a5355
Move legacy database queries and models to prepare for schema v38 (#89532) 2023-03-11 11:26:30 -10:00
J. Nick Koston 16b420d660
Fix get_significant_states_with_session query looking at legacy columns (#89558) 2023-03-11 10:37:00 -10:00
J. Nick Koston 8bd43760b6
Deduplicate event_types in the events table (#89465)
* Deduplicate event_types in the events table

* Deduplicate event_types in the events table

* more fixes

* adjust

* adjust

* fix product

* fix tests

* adjust

* migrate

* migrate

* migrate

* more test fixes

* more test fixes

* fix

* migration test

* adjust

* speed up

* fix index

* fix more tests

* handle db failure

* preload

* tweak

* adjust

* fix stale docs strings, remove dead code

* refactor

* fix slow tests

* coverage

* self join to resolve query performance

* fix typo

* no need for quiet

* no need to drop index already dropped

* remove index that will never be used

* drop index sooner as we no longer use it

* Revert "remove index that will never be used"

This reverts commit 461aad2c52.

* typo
2023-03-11 14:54:55 -05:00
Robert Svensson 8564768d9e
UniFi library controls add/update signalling (#89525)
* Library controls add/update signalling

* Remove add/remove signalling

* Remove unifi_entity_base and unifi_client to make mypy pass
2023-03-11 20:14:39 +01:00
J. Nick Koston 52cea16f74
Remove unused code in RecorderRuns.entity_ids (#89526) 2023-03-11 12:46:12 +01:00
J. Nick Koston 01e1221443
Refactor logbook data to use a dataclass (#89534) 2023-03-11 12:45:27 +01:00
Robert Svensson 288a4203ab
Make client tracker use common UniFi entity class (#84942)
* Make client tracker use common UniFi entity class

* Fix tests

* Fix mypy

* Remove legacy data

* Fix comment: skip else use return

* Minor change

* Remove missed stuff from previous rebase

* Import async_device_available_fn from entities.py rather than specifying it in device_tracker

* Avoid using asserts

* Keep explicit parenthesis for readability

* Allow loading entities on option changes
2023-03-11 06:23:49 +01:00
Paulus Schoutsen d6a223f0e1
Await block till done inside patched config entry in tests (#89515) 2023-03-10 06:42:53 -10:00
epenet 96bd714364
Add FTTH and WAN info to SFR box diagnostics (#89492)
* Add FTTH and WAN info to SFR box diagnostics

* Adjust tests

* Use snapshots
2023-03-10 10:09:04 -05:00
epenet 74d4a26f97
Add missing mock in jellyfin config flow tests (#89510) 2023-03-10 10:06:53 -05:00
epenet f22fabdd7f
Add missing mock in kmtronic config flow tests (#89511) 2023-03-10 10:05:31 -05:00
epenet 401273dcff
Add missing mock in lacrosse_view config flow tests (#89512) 2023-03-10 10:05:13 -05:00
epenet f674559a71
Add missing mock in landisgyr config flow tests (#89513) 2023-03-10 10:04:45 -05:00
Vincent Knoop Pathuis 75bca76e68
Landis+Gyr move coordinator to own file (#89433)
* Move coordinator to own file and add test cases

* Apply typing improvements from review

* Remove testcase for exception during setup

* Simplify unittest for failing serial connection

* Readd checks in serial connection test after review
2023-03-10 15:57:35 +01:00
epenet a0f725dfcb
Add type hints to tests (#89497) 2023-03-10 12:06:50 +01:00
Thijs W b8bda93d87
Add config flow to frontier_silicon (#64365)
* Add config_flow to frontier_silicon

* Add missing translation file

* Delay unique_id validation until radio_id can be determined

* Fix tests

* Improve tests

* Use FlowResultType

* Bump afsapi to 0.2.6

* Fix requirements_test_all.txt

* Stash ssdp, reauth and unignore flows for now

* Re-introduce SSDP flow

* hassfest changes

* Address review comments

* Small style update

* Fix tests

* Update integrations.json

* fix order in manifest.json

* fix black errors

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Address review comments

* fix black errors

* Use async_setup_platform instead of async_setup

* Address review comments on tests

* parameterize tests

* Remove discovery component changes from this PR

* Address review comments

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Add extra asserts to tests

* Restructure _async_step_device_config_if_needed

* Add return statement

* Update homeassistant/components/frontier_silicon/media_player.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-10 10:26:03 +01:00
Erik Montnemery fde205c158
Add unconfigured flag to thread discovery data (#89230)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-09 22:32:32 -05:00
epenet f8462fd5b7
Add missing mock in guardian config flow tests (#89451) 2023-03-09 22:57:16 +01:00
Lucas Mindêllo de Andrade eed16dc185
Add list areas function to template (#88441) 2023-03-09 22:32:30 +01:00
epenet 48fca3bb27
Fix missing debouncer cancel in update coordinator (#89383)
* Fix missing debouncer cancel in update coordinator

* Improve

* Adjust with comment

* Adjust again

* Simplify PR

* Adjust tests to avoid lingering timer

* Improve
2023-03-09 15:16:52 -05:00
Joakim Sørensen 4f29e1e180
Add stats sensors for core and supervisor (#89455)
* Add stats sensors for core and supervisor

* Update homeassistant/components/hassio/__init__.py
2023-03-09 19:06:35 +01:00
epenet 3a4ce260b4
Add missing mock in freedompro config flow tests (#89442) 2023-03-09 19:05:23 +01:00
epenet f3084165b1
Add missing mock in filesize config flow tests (#89441) 2023-03-09 19:04:51 +01:00
epenet 4e4608183e
Add missing mock in fibaro config flow tests (#89440) 2023-03-09 19:04:07 +01:00
epenet adfd263635
Add missing mock in gree config flow tests (#89450) 2023-03-09 18:12:22 +01:00
Stefan Agner f903c536fb
Add Hardkernel ODROID-M1 (#89431)
* Add Hardkernel ODROID-M1

Add Hardkernel ODROID-M1 machine. ODROID-M1 is a Rockchip RK3568B2 SoC
based single board computer with 4xCortex-A55, NVMe support and up to
8GB of RAM.

* Update homeassistant/components/hardkernel/hardware.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Fix tests

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-09 14:18:19 +01:00
epenet dcff2f37f7
Add DSL prefix to SFRBox ADSL sensors (#89276) 2023-03-09 13:19:22 +01:00
epenet 4a082403eb
Add missing mock in coronavirus config flow tests (#89428) 2023-03-09 13:16:36 +01:00
epenet b0631fed1d
Add missing mock in braviatv config flow tests (#89419) 2023-03-09 13:05:32 +01:00
epenet 9faf251321
Add missing mock in buienradar config flow tests (#89420) 2023-03-09 13:05:04 +01:00
TheJulianJES 3989ef8863
Parse attribute reports for ZHA select entity (#89418)
* Parse attribute reports for ZHA select entity

* Add test for checking that select entity attribute reports are parsed
2023-03-09 07:01:18 -05:00
Jan Bouwhuis 1a4b14c217
Fix MQTT rgb light brightness scaling (#89264)
* Normalize received RGB colors to 100% brightness

* Assert on rgb_color attribute

* Use max for RGB to get brightness

* Avoid division and add clamp

* remove clamp

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-09 08:02:59 +01:00
Joakim Sørensen e5ce8e920d
Add paths for add-on changelog and documentation (#89411) 2023-03-08 20:23:33 -05:00
J. Nick Koston 170a13302c
Reduce overhead to store context ids in the database (#88942) 2023-03-08 14:51:45 -10:00
Matthias Alphart bfae8992a9
Better log message for KNX expose conversion error (#89400) 2023-03-08 22:42:07 +01:00
Jan Bouwhuis 366baef7f6
Allow enum as MQTT sensor device_class (#89391) 2023-03-08 22:35:06 +01:00
J. Nick Koston e1d62b554a
Migrate integration_platform helper to use async_get_integrations (#89303)
* Migrate integration_platform helper to use async_get_integrations

We were fetching integrations inside the gather one
at a time. This is inefficent.

* cleanup

* cleanup

* add task name

* small tweaks

* gather only if we have tasks
2023-03-08 16:01:47 -05:00
J. Nick Koston 5dbab21f9a
Fix missing f-string in filterable_job (#89340)
* Fix missing f-string in filterable_job

* remove bad test
2023-03-08 15:53:48 -05:00
Erik Montnemery 09915f8047
Add WS API for getting an OTBR's extended address (#89384)
* Add WS API for getting an OTBR's extended address

* Bump python-otbr-api to 1.0.8

* Really add require_admin decorator to otbr WS API
2023-03-08 15:52:53 -05:00
J. Nick Koston cefba7c638
Avoid falling back to listening for all states when a template render raises an exception (#89392)
When a template render raised an exception we would start listening for
all states until the template did not raise an exception anymore. This
was not needed since the entity that is causing the exception was
already in the tracker.

Re-rendering on all state changes can be extremely expensive and can
bring an instance into a sluggish or unresponsive state when updating
from a much older version that did not raise ValueError when a default
was missing.
2023-03-08 15:50:34 -05:00
parliament119 7d97653895
Bump pyfritzhome to 0.6.8 and add support for Non-Color-Bulbs (#89141) 2023-03-08 18:24:37 +01:00
Erik Montnemery 18cb53a35c
Pass hass instance when validating templates (#89242)
* Pass hass instance when validating templates

* Update tests

* Fix validating templates without hass

* Update service tests
2023-03-08 11:28:53 -05:00
epenet 7982f713e1
Fix lingering tasks in plex (#89282)
* Cleanup expected_lingering_tasks in plex

* Adjust
2023-03-08 10:53:08 -05:00
epenet 3e2ee7cd11
Add missing mock in aemet config flow tests (#89360) 2023-03-08 10:18:44 -05:00
epenet 33906059d3
Add missing mock in airq config flow tests (#89364) 2023-03-08 10:18:31 -05:00
epenet 3a40f5f35b
Add missing mock in airvisual_pro config flow tests (#89362) 2023-03-08 15:18:24 +00:00
epenet 23698eb99f
Add missing mock in agent_dvr config flow tests (#89361) 2023-03-08 15:18:17 +00:00
epenet 959c2205d5
Add missing mock in airvisual config flow tests (#89359) 2023-03-08 10:18:07 -05:00
epenet b61ad43144
Add missing mock in amber config flow tests (#89358) 2023-03-08 10:17:45 -05:00
epenet f4572a2e1c
Add missing mock in atag config flow tests (#89356) 2023-03-08 10:16:51 -05:00
epenet ea6a95176d
Add missing mock in azure event hub config flow tests (#89355) 2023-03-08 10:16:28 -05:00
Franck Nijhof feb3f543be
Improve Supervisor API handling (#89379) 2023-03-08 15:21:11 +01:00
epenet 30884f6d17
Add missing mock in axis config flow tests (#89365) 2023-03-08 09:38:55 +01:00
epenet adb4414440
Add missing mock in brother config flow tests (#89354) 2023-03-08 08:43:07 +01:00
puddly fa128fbcec
Clean ZHA radio path with trailing whitespace (#89299)
* Clean config flow entries with trailing whitespace

* Rewrite the config entry at runtime, without upgrading

* Skip intermediate `data = config_entry.data` variable

* Perform a deepcopy to ensure the config entry will actually be updated
2023-03-07 20:24:08 -05:00
J. Nick Koston bde40cde48
Fix thread diagnostics loading blocking the event loop (#89307)
* Fix thread diagnostics loading blocking the event loop

* patch target
2023-03-07 20:21:26 -05:00
starkillerOG 2d3c5cf8ee
Reolink test init 100% (#89112)
* Split out reolink tests

* Bring __init__ coverage to 100%

* Improve docstrings

* Use patching and autospec=True for ReolinkHost

* Use fixture

* fix styling

* Parametrize tests

* Update tests/components/reolink/conftest.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Apply suggestions from code review

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update test_config_flow.py

* convert to fixture

* review comments

* Update tests/components/reolink/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/reolink/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/reolink/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* fix tests

* fix imports

* Update test_init.py

* Check if host is logout on reload

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-07 20:29:38 +01:00
Erik Montnemery bc0b3abb01
Remove unittest.TestCase from service helper tests (#89283)
* Remove unittest.TestCase from service helper tests

* Update

* Improve tests
2023-03-07 16:54:35 +01:00
Franck Nijhof 8c282e2b0d
Remove deprecated DSMR Reader YAML configuration (#89239) 2023-03-07 13:24:41 +01:00
epenet 14bf68ad03
Cleanup expected_lingering_tasks in knx (#89279) 2023-03-07 11:59:31 +01:00
epenet c51bde9a26
Fail CI on lingering tasks (#88905) 2023-03-07 11:35:48 +01:00
Doney den Ouden 755c44d152
Add HomeKit Door accessory type (#80741)
Co-authored-by: Jason Redd <jredd46@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-06 18:07:43 -10:00
J. Nick Koston 3c70dd9b42
Make sql subqueries threadsafe (#89254)
* Make sql subqueries threadsafe

fixes #89224

* fix join outside of lambda

* move statement generation into a seperate function to make it easier to test

* add cache key tests

* no need to mock hass
2023-03-06 20:44:11 -05:00
Maciej Bieniek 1538f639ae
Bump `gios` library to version 3.1.0 (#89044) 2023-03-06 18:12:19 +01:00
epenet 91e389c58d
Bump ruff to 0.0.253 (#89211)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-06 16:16:31 +01:00
Robert Svensson 9ff45ca013
Allow loading UniFi entities on config options change (#88762)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-06 16:08:14 +01:00
Jan Bouwhuis 5ee383456f
Catch exceptions and add logging when writing states on MQTT entities (#89091)
* Catch exceptions when writing states

* Do not use wrapper for logging and adjust tests

* Catch logging directly on async_write_ha_state()

* Update homeassistant/components/mqtt/models.py

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

* Fix test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-06 15:34:47 +01:00
epenet 14a17b1028
Use mock_setup_entry fixture in melnor (#89226) 2023-03-06 12:28:40 +01:00
epenet bf5f7c53d8
Move mock_setup_entry to conftest (#88484) 2023-03-06 11:31:50 +01:00
Erik Montnemery ab1df8065c
Refresh homeassistant_alerts when components are loaded (#76049) 2023-03-06 10:26:37 +01:00
epenet 0c65af93af
Split reauth tests in plex (#89212) 2023-03-06 10:02:32 +01:00
MarkGodwin 876776e291
Fix host IP and scheme entry issues in TP-Link Omada (#89130)
Fixing host IP and scheme entry issues
2023-03-05 23:47:45 -05:00
ztamas83 811e286f0f
Test coverage for Tibber config flow (#89088)
* Test coverage for Tibber config flow

* Fix isort and ruff errors
2023-03-05 20:38:47 -05:00
Matthias Alphart 36dabaaea6
Fix lingering tasks in KNX tests (#89201) 2023-03-05 20:19:42 -05:00
Franck Nijhof ff485d4648
Refactor WLED number tests (#88582) 2023-03-05 19:49:01 -05:00
Franck Nijhof 216864d8f0
Refactor WLED switch tests (#89197) 2023-03-05 19:46:53 -05:00
G Johansson f4cda2dfda
Add device_class and state_class to sql (#85418) 2023-03-05 20:30:42 +01:00
Franck Nijhof 84402a9ae0
Remove deprecated Season YAML configuration (#89166)
* Remove deprecated Season YAML configuration

* Restore old title defaults
2023-03-05 17:07:32 +01:00
Jan Bouwhuis a9becd8e0e
Raise ValueError on date parsing of MQTT sensor with invalid date format (#89036)
* Suppress ValueError on date parsing of MQTT sensor

* Simplify, but not update state on invalid payload

* Still raise an an invalid date

* Make datetime state unknown on invalid format

* remove unrelated added new line
2023-03-05 17:06:48 +01:00
Franck Nijhof 2fc2c2efbe
Remove deprecated Moon YAML configuration (#89161)
* Remove deprecated Moon YAML configuration

* Restore old title defaults
2023-03-05 17:05:32 +01:00
Chris Talkington 2e1f6cad96
Detect newly connected clients in jellyfin (#89168) 2023-03-05 15:00:16 +01:00
J. Nick Koston 11681f3f31
Pass a helpful name when creating common asyncio tasks in core (#89171) 2023-03-05 12:46:02 +01:00
Maciej Bieniek 6dc99d2ad8
Bump `brother` and `pysnmplib` backend libraries (#89100)
* Bump brother and pysnmplib

* Fix tests
2023-03-05 12:40:12 +01:00
epenet ec0223f326
Cleanup plex config flow tests (#88991) 2023-03-05 05:38:26 +01:00
Franck Nijhof bfadc8453d
Clean up import/migration repair in LaMetric (#89153) 2023-03-05 02:41:31 +01:00
Garrett 34f8e94ca9
Bump subarulink to 0.7.5 (#89162) 2023-03-04 22:26:16 +01:00
Franck Nijhof 5e2b7c6377
Refactor WLED diagnostic tests (#88581) 2023-03-04 15:09:47 +01:00
Franck Nijhof bab758c951
Refactor WLED button tests (#88580) 2023-03-04 11:45:53 +01:00
Bob van de Vijver b27b094e27
Add day to event end to correct TwenteMilieu event timespan (#89028)
[TwenteMilieu] Add day to event end to correct event timespan

Co-authored-by: Allen Porter <allen@thebends.org>
2023-03-03 20:06:28 -08:00
J. Nick Koston 1bd9767d8c
Handle InnoDB deadlocks during migration (#89073)
* Handle slow InnoDB rollback when encountering duplicates during migration

fixes #89069

* adjust

* fix mock

* tests

* return on success
2023-03-03 22:00:13 -05:00
epenet 0f493d85c8
Adjust xiaomi_ble tests (#89078)
Adjust xiaomi_ble test docstrings
2023-03-03 08:32:23 +01:00
J. Nick Koston 48b93e03ee
Cache transient templates compiles provided via api (#89065)
* Cache transient templates compiles provided via api

partially fixes #89047 (there is more going on here)

* add a bit more coverage just to be sure

* switch method

* Revert "switch method"

This reverts commit 0e9e1c8cbe.

* tweak

* hold hass

* empty for github flakey
2023-03-02 21:31:12 -05:00
Guy Martin 7365522d1f
Add matching on quirk_classes to zha (#87653)
* Add matching on quirk_classes.

* Add and fix tests for matching on quirk_classes.

* Black fix.

* Add a unit test to validate quirk classes.
2023-03-02 19:43:11 -05:00
Jan Bouwhuis 8968ed1c47
Fix check on non numeric custom sensor device classes (#89052)
* Custom device classes are not numeric

* Update homeassistant/components/sensor/__init__.py

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

* Add test

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-02 14:20:26 -05:00
epenet 5cab63c5b8
Fix lingering task in debounce tests (#89019)
* Fix lingering task in debounce tests

* Correct fix

* Use async_fire_time_changed
2023-03-02 13:01:50 -05:00
Matthias Alphart e849878a48
Fix KNX Keyfile upload (#89029)
* Fix KNX Keyfile upload

* use shutil.move instead
2023-03-02 10:13:02 -05:00
Brett Adams e5fc2d3f78
Add Turn On and Turn Off for Advantage Air climate platform (#88684)
* Added Climate On and Climate Off

* Add Tests

* Fix off and on in zone

* Add test assertions for zone HVAC mode
2023-03-02 13:13:31 +01:00
Erik Montnemery 28e8fae280
Fix flaky energy tests (#89026) 2023-03-02 12:33:04 +01:00
Franck Nijhof 19c08bfdd5
Refactor WLED binary sensor test (#88579) 2023-03-01 23:44:12 +01:00
Stephan Uhle adb0455bd2
Add config flow to EDL21 (#87655)
* Added config_flow for edl21.

* Added already_configured check.

* Added config_flow test

* Added setup of the edl21 from configuration.yaml

* Ran script.gen_requirements_all

* Removed the generated translation file.

* Added a deprecation warning when importing from configuration.yaml.

* Readded the platform schema.

* Added handling of optional name for legacy configuration.

* Fixed handling of default value in legacy configuration.

* Added duplication check entries created via legacy config.

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-01 21:19:20 +01:00
Jan Bouwhuis ae04c5d773
Clean up unused and deprecated TLS version setting on MQTT client (#88674)
* Cleanup CONF_TLS_VERSION remains

* Fix diagnostics tests
2023-03-01 18:42:34 +01:00
Paulus Schoutsen 3f32c5d2ad
Yaml use dict (#88977)
* Use built-in dict instead of OrderedDict

* Use dict instead of OrderedDict in YAML
2023-03-01 12:29:57 -05:00
epenet ee78864b05
Adjust entity registry access in homekit tests (#88959) 2023-03-01 16:54:00 +01:00
Erik Montnemery 3818e318db
Improve threshold binary sensor tests (#88972) 2023-03-01 16:53:42 +01:00
Emory Penney 137d2f0d73
Obihai config flow fixes (#88853)
* Commit split issue

* Clearer name

* Add yaml_failure test case

* Not sure why this is failing now

* Update homeassistant/components/obihai/strings.json

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR Feedback

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-01 16:33:32 +01:00
epenet b84eead3f8
Adjust entity registry access in helper tests (#88965) 2023-03-01 16:24:31 +01:00
epenet d65dff3f9e
Adjust entity registry access in tests (2) (#88960) 2023-03-01 16:23:36 +01:00
Erik Montnemery 09f1c2318d
Disable gc in-between energy sensor tests (#88593) 2023-03-01 16:21:11 +01:00
starkillerOG eae12bd48d
Motion Blinds DHCP restrict (#88919)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-01 16:16:04 +01:00
epenet b94dffb7d3
Add missing mock in esphome tests (#88923) 2023-03-01 16:11:21 +01:00
epenet 9762b684c2
Adjust entity registry access in tests (3) (#88964) 2023-03-01 16:04:40 +01:00
epenet 23cdafd12f
Use UnitOfVolumeFlowRate in huisbaasje and plugwise (#88967) 2023-03-01 15:26:39 +01:00
Frédéric Guardia 85f2693353
Fix Google Assistant temperature attribute (#85921) 2023-03-01 12:54:07 +01:00
Aaron Godfrey ab9bd5c29e
Fix todoist filtering custom projects by labels (#87904)
* Fix filtering custom projects by labels.

* Don't lowercase the label.

* Labels are case-sensitive, don't lowercase them.
2023-03-01 12:01:54 +01:00
Erik Montnemery fca5cc6ea3
Add number + sensor device class volume storage (#88312)
* Add number + sensor device class volume storage

* Fix typo

* Format code

* Update device automations
2023-03-01 11:22:57 +01:00
epenet 6febe00516
Fix lingering task in entity_platform test (#88957)
* Fix lingering task in entity_platform test

* Speed up the test
2023-03-01 10:49:13 +01:00
epenet ed3cdd8fb9
Fix lingering task in timeout test (#88953) 2023-03-01 09:42:55 +01:00
epenet 1fa3f32474
Add missing mock in notion tests (#88951) 2023-03-01 09:41:55 +01:00
epenet 853bd52a22
Adjust entity registry access in tests (1) (#88950) 2023-03-01 09:11:14 +01:00
J. Nick Koston 202bed5d51
Fix lingering reload task in notion reauth (#88949)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-01 09:07:46 +01:00
Erik Montnemery 9ab95b6348
Revert "Add `state_class = MEASUREMENT` to Derivative sensor (#88408)" (#88952) 2023-03-01 08:53:05 +01:00
Marius Stedjan 9fc6700c5a
Add ZWaveDiscoverySchema for Merten 507801 (#88342)
* Add ZWaveDiscoverySchema for Merten 507801

* Add discovery tests to Merten 507801 z-wave device

* Add Z-Wave discovery schemas for Merten 507801 to disable endpoint 2 by default

* Add more discovery tests for Merten 507801 z-wave device
2023-03-01 00:47:47 -05:00
Chuck Deal 09d0128601
Add diagnostics to VeSync (#86350)
* Add diagnostics to VeSync

* Create unit tests for diagnostics and init

* Improved diagnostic test coverage

* Peer review fixes

* Fixed Peer Review comments

* Updated based on Peer Review

* Additional diagnostic redactions

* Removed account_id from diagnostic output
2023-02-28 22:12:48 -05:00
epenet c724e7c29f
Adjust registry access in openai_conversation (#88882) 2023-02-28 21:59:44 -05:00
epenet 54f709f704
Adjust registry access in intent (#88881) 2023-02-28 21:58:19 -05:00
epenet 1bed5c7775
Adjust registry access in tests root (#88880) 2023-02-28 21:56:46 -05:00
epenet 0e4c32efe2
Adjust registry access in conversation (#88879) 2023-02-28 21:56:18 -05:00
epenet 6ab0b2751d
Adjust issue_registry imports (#88878)
* Add issue_registry to RUFF extend aliases

* Adjust code accordingly

* Revert "Add issue_registry to RUFF extend aliases"

This reverts commit 4e73dd567b.

* Revert changes to common.py
2023-02-28 21:55:44 -05:00
Erik Montnemery 39f5f0946e
Store source entity in switch_as_x entity options (#88914) 2023-02-28 21:15:44 -05:00
Michael Hansen e0bdb3ecc3
Update intent sentences package (#88933)
* Actually use translated state names in response

* Change test result now that locks are excluded from HassTurnOn

* Bump home-assistant-intents and hassil versions
2023-02-28 21:07:18 -05:00
Erik Montnemery 69ce6980d6
Add number + sensor device class energy storage (#88310)
* Add number + sensor device class energy storage

* Format code

* Update device automations
2023-02-28 19:35:43 +01:00
Franck Nijhof 95ed6fbc08
Small improvements to middleware filter (#88921)
Small improvements middleware filter
2023-02-28 12:07:17 -05:00
Erik Montnemery 7bfc7f134c
Reset state of template cover on error (#88915) 2023-02-28 12:06:40 -05:00
epenet ac6bbc2f1c
Add missing mock in webostv config flow tests (#88913) 2023-02-28 12:04:40 -05:00
epenet ee144d34a9
Adjust core test to avoid lingering task (#88918) 2023-02-28 12:03:36 -05:00
Marcel van der Veldt 36e6a879ad
Bump aiohue library to version 4.6.2 (#88907)
* Bump aiohue library to 4.6.2

* Fix long press (fixed in aiohue lib)

* fix test
2023-02-28 11:53:15 -05:00
Erik Montnemery f93bd8ef2c
Only allow channel 15 during configuration of OTBR (#88874)
* Only allow channel 15 during automatic configuration of OTBR

* Also force channel 15 when creating a new network
2023-02-28 11:08:45 -05:00
Erik Montnemery 390daf1723
Sort unit lists sent to frontend (#88898) 2023-02-28 16:12:49 +01:00
epenet 7b5c978b95
Add missing mock in overkiz config flow tests (#88899) 2023-02-28 08:59:48 -05:00
Erik Montnemery f41bec6ba9
Create repairs issue if Thread network is insecure (#88888)
* Bump python-otbr-api to 1.0.5

* Create repairs issue if Thread network is insecure

* Address review comments
2023-02-28 13:50:56 +01:00
Erik Montnemery b6f66b3568
Add WS command weather/convertible_units (#85681) 2023-02-28 11:35:47 +01:00
Jan Bouwhuis 4e66554298
Also set `hass.config_entries` when `mock_hass_config` fixture is used (#88669)
* Set `hass.config_entries` with `mock_hass_config`

* Update tests/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-28 11:14:04 +01:00
rodriguestiago0 bef5fde832
Add stop charge button to renault integration (#88003)
* Added service to start/stop charge

* Remove comment

* Fixed service

* removed service for start/stop charge

* Remove version

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Format

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Revert change

* Fix lint

* Add tests

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-28 10:28:44 +01:00
Erik Montnemery d397217b5b
Add confirm step to thread zeroconf flow (#88869)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-28 10:23:36 +01:00
Diogo Gomes 07c25b3dd8
Prosegur late review comments (#88859)
* address late comments on #76428

* adress review

* extra tweaks
2023-02-28 08:16:22 +01:00
Emory Penney 0e8d28dab0
Add Config Flow to Obihai (#88627)
* Obihai: Config Flow Only

* Remove reboot service

* Update .coveragerc

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR Feedback

* Use Issue Registry

* Add config_flow tests

* Another pass with pre-commit

* Resolve cyclical import and move sensorClasses to sensor

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Another round of feedback

* More PR feedback

* Offline testing, already_configured is required

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Cleanup

* Update homeassistant/components/obihai/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR feedback

* Backout today's changes: Fix mypy error

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Don't plan ahead

* PR feedback

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Cleanup strings

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-27 17:22:15 +01:00
Ernst Klamer 00954dfc1f
Add gas sensor to BTHome (#88770)
* Bump bthome

* Add gas sensor
2023-02-27 10:40:08 -05:00
Paul Bottein e95944bf9f
Add filter options to entity and device selectors (#87536)
* Add support for multiple device classes

* Add support for entity filter selector

* Add support for device filter selector

* Apply suggestions

* Fix wrong property name

* Update snapshot

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-27 10:38:18 -05:00
epenet 7419a92a1b
Cleanup YAML import in aladdin_connect (#88694) 2023-02-27 16:20:01 +01:00
Erik Montnemery ff4de8cd06
Add WS API for creating a Thread network (#88830)
* Add WS API for creating a Thread network

* Add tests
2023-02-27 10:19:13 -05:00
Paulus Schoutsen 2dcc2f88cc
Use snapshots in blueprint import tests (#88843) 2023-02-27 09:57:26 -05:00
Erik Montnemery db1dd16ab0
Add thread user flow (#88842) 2023-02-27 15:30:04 +01:00
epenet 198ebaff6e
Add missing mock in abode config flow tests (#88828) 2023-02-27 14:03:51 +01:00
epenet 5cc9e7fedd
Add missing mock in cert_expiry config flow tests (#88835) 2023-02-27 14:01:53 +01:00
epenet 76819fbb23
Add missing mock in brunt config flow tests (#88834) 2023-02-27 14:01:09 +01:00
Erik Montnemery aeb6c4f078
Tweak OTBR tests (#88839) 2023-02-27 13:59:16 +01:00
Jan Bouwhuis b25f6e3ffc
Prepare for refactoring of MQTT related tests (#88557)
* Update mqtt_mock

* Tests manual_mqtt

* Tests mqtt_json

* Tests mqtt_room
2023-02-27 13:54:56 +01:00
Erik Montnemery fe8f3602ff
Fix sensor unit conversion bug (#88825)
* Fix sensor unit conversion bug

* Ensure the correct unit is stored in the entity registry
2023-02-27 11:46:55 +01:00
J. Nick Koston b5223e1196
Restore previous behavior of only waiting for new tasks at shutdown (#88740)
* Restore previous behavior of only waiting for new tasks at shutdown

* cleanup

* do a swap instead

* await canceled tasks

* await canceled tasks

* fix

* not needed since we no longer clear

* log it

* reword

* wait for airvisual

* tests
2023-02-26 22:36:18 -05:00
J. Nick Koston 1d1c553d9b
Avoid starting a bluetooth poll when Home Assistant is stopping (#88819)
* Avoid starting a bluetooth poll when Home Assistant is stopping

* tests
2023-02-26 22:02:52 -05:00
J. Nick Koston f8934175cb
Prevent integrations from retrying setup once shutdown has started (#88818)
* Prevent integrations from retrying setup once shutdown has started

* coverage
2023-02-26 22:01:02 -05:00
J. Nick Koston 480a495239
Fix unifiprotect discovery running at shutdown (#88802)
* Fix unifiprotect discovery running at shutdown

Move the discovery start into `async_setup` so we only
start discovery once reguardless of how many config entries
for unifiprotect they have (or how many times they reload).

Always make discovery a background task so it does not get
to block shutdown

* missing decorator
2023-02-26 21:08:20 -05:00
Diogo Gomes c8fc2dc440
Add Camera platform to Prosegur (#76428)
* add camera to prosegur

* add tests

* address review

* better tests

* clean

* clean

* fix tests

* leftover from merge

* sorting missing

* Update homeassistant/components/prosegur/services.yaml

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

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-02-26 20:25:55 -05:00
puddly 0fb41bdffe
Unblock JSON CI by fixing improperly indented JSON in test fixture (#88803) 2023-02-26 14:41:16 -06:00
hahn-th c9dfa15ed6
Add device HmIP-DLD (#83380)
* Add HmIP-DLD

* Remove commented code

* Fix errors

* Format using black

* Fix device count

* Add missing tests

* Apply changes by reviewer

* Change setup entry code

* Remove jammed state

* Add error messages

* Update homeassistant/components/homematicip_cloud/helpers.py

Co-authored-by: Aaron Bach <bachya1208@gmail.com>

* Add decorator

* Add error log output

* Update test_device.py

---------

Co-authored-by: Aaron Bach <bachya1208@gmail.com>
2023-02-26 10:49:25 -07:00
Joakim Plate e00ff54869
Update nibe library to 2.0.0 (#88769) 2023-02-26 11:05:31 +01:00
Yuxin Wang 490a0908d4
Avoiding testing implementation details in apcupsd tests (#88772)
Fix apcupsd tests.
2023-02-26 07:57:31 +01:00
J. Nick Koston 57360a7528
Prevent new discovery flows from being created when stopping (#88743) 2023-02-25 12:02:07 +01:00
Arturo 0a3a8c4b3c
Fix matter light color capabilities bit map (#88693)
* Adds matter light color capabilities bit map

* Fixed matter light hue and saturation test
2023-02-25 10:25:04 +01:00
Rami Mosleh 091305fc57
Use DataUpdateCoordinator for islamic_prayer_times (#73893)
* use DataUpdateCoordinator for islamic_prayer_times

Add suggested type hints

remove uneccassry options setup

* Use entity_description for sensors

* move coordinator into separate file, sensor_descptions to sensor.py

* add strict typing

* revert strict typing

* fix test coverage

* revert unrelated file changes

* fix sorting

* Update code based on review

* add missing type hint

* more missing type hints

* Update homeassistant/components/islamic_prayer_times/coordinator.py

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

* remove config_entry parameter

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-25 10:05:51 +01:00
Artem Draft f18c0bf626
Pass `assumed_state` property in universal media player (#87846)
Pass assumed_state property in universal media player
2023-02-25 07:43:58 +01:00
J. Nick Koston 7b2e743a6b
Fix timeout in purpleapi test (#88715)
https://github.com/home-assistant/core/actions/runs/4264644494/jobs/7423099757
2023-02-24 14:33:25 -05:00
Jon Caruana e69091c6db
Use strict typing for LiteJet integration (#88629)
* Strict typing for LiteJet.

* Add test for new check.

* PR feedback.

* PR feedback.
2023-02-24 17:51:48 +01:00
Erik Montnemery d90ee85118
Allow conditions to be implemented in platforms (#88509)
* Allow conditions to be implemented in platforms

* Update tests

* Tweak typing

* Rebase fixes
2023-02-23 22:30:51 -05:00
Franck Nijhof 2f826a6f86
Modernize uptime tests (#88636)
* Modernize uptime tests

* Fix tests
2023-02-23 22:15:20 -05:00
David Poll af49b98475
Enable jinja loop controls (break/continue) (#88625)
Enables jinja loop controls (break/continue)
2023-02-23 22:14:28 -05:00
puddly 9575cd9161
Name the Yellow-internal radio and multi-PAN addon as ZHA serial ports (#88208)
* Expose the Yellow-internal radio and multi-PAN addon as named serial ports

* Remove the serial number if it isn't available

* Use consistent names for the addon and Zigbee radio

* Add `homeassistant_hardware` and `_yellow` as `after_dependencies`

* Handle `hassio` not existing when listing serial ports

* Add unit tests
2023-02-23 20:52:53 -05:00
J. Nick Koston f0b029c363
Bump mopeka_iot_ble to 0.4.1 (#88680)
* Bump mopeka_iot_ble to 0.4.1

closes #88232

* adjust tests
2023-02-23 20:52:31 -05:00
Marcel van der Veldt 301144993c
Fix support for Bridge(d) and composed devices in Matter (#88662)
* Refactor discovery of entities to support composed and bridged devices

* Bump library version to 3.1.0

* move discovery schemas to platforms

* optimize a tiny bit

* simplify even more

* fixed bug in light platform

* fix color control logic

* fix some issues

* Update homeassistant/components/matter/discovery.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* fix some tests

* fix light test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-23 14:58:37 -05:00
Allen Porter e1e0400b16
Fix local calendar issue with events created with fixed UTC offsets (#88650)
Fix issue with events created with UTC offsets
2023-02-23 13:37:15 -05:00
Raman Gupta 5739782877
Add support for firmware target in zwave_js FirmwareUploadView (#88523)
* Add support for firmware target in zwave_js FirmwareUploadView

fix

* Update tests/components/zwave_js/test_api.py

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

* Update tests/components/zwave_js/test_api.py

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

* Update tests/components/zwave_js/test_api.py

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

* Update tests/components/zwave_js/test_api.py

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

* fix types

* Switch back to using Any

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-23 13:24:55 -05:00
Franck Nijhof 6112793b19
Modernize Twentemilieu tests (#88640) 2023-02-23 10:26:17 -05:00
epenet dac3c7179f
Add missing async_setup_entry mock in openuv (#88661) 2023-02-23 10:22:39 -05:00
Artem Draft 6474297d1f
Browse media support in universal media player (#85668)
Allow forward and override browse media in universal media player
2023-02-23 09:17:46 +01:00
Erik Montnemery 473db48943
Bump python-otbr-api to 1.0.4 (#88613)
* Bump python-otbr-api to 1.0.4

* Adjust tests
2023-02-22 15:31:02 -05:00
puddly 2a819f23c1
Disable the ZHA bellows UART thread when connecting to a TCP coordinator (#88202)
Disable the bellows UART thread when connecting to a TCP coordinator
2023-02-22 15:12:55 -05:00
Paulus Schoutsen c6ff79aa0e
Error checking for OTBR (#88620)
* Error checking for OTBR

* Other errors in flow too

* Tests
2023-02-22 20:58:11 +01:00
J. Nick Koston 3ebb2fc3a9
Fix handling of HomeKit sources with unsafe characters (#88280)
fixes #87049
2023-02-22 14:33:27 -05:00
Maciej Bieniek 64e39c9c81
Bump brother to 2.2.0 (#88618) 2023-02-22 20:28:58 +01:00
Marcel van der Veldt 881e85d74f
Bump python-matter-server to 3.0.0 (#88607)
* Bump python-matter-server to 3.0.0

Include all fixes for the changed api schema of the library

* fix test fixtures

* remove invalid data from fixtures

* fix some of the tests

* fix binary sensor bug

* fix sensor bug

* fix switch test

* fix tests

* adjust bugs and typos
2023-02-22 14:24:30 -05:00
Jon Caruana d41facf750
Add devices to LiteJet (#88406) 2023-02-22 12:08:11 -06:00
Raman Gupta 05a7df5629
Add controller support to `zwave_js/subscribe_firmware_update_status` (#87348) 2023-02-22 12:08:57 -05:00
Erik Montnemery 1f34fa63ab
Always include platform in `config/entity_registry/list_for_display` (#88601)
Always include platform in config/entity_registry/list_for_display
2023-02-22 17:59:52 +01:00
Raman Gupta cab8a59be4
Add dsk option to zwave_js/add_node WS command (#87823)
* Add dsk option to zwave_js/add_node WS command

* Bump zwave-js-server-python to 0.46.0 (#88520)

* fix tests
2023-02-22 11:53:22 -05:00
Raman Gupta 1f9f6ab1f0
Update zwave_js FirmwareUploadView to support controller updates (#87239)
* Update zwave_js FirmwareUploadView to support controller updates

* Add coverage

* Change None check to assertion
2023-02-22 11:52:00 -05:00
Raman Gupta 5683d21931
Add new zwave_js WS command to parse DSK from QR code (#87237)
* Add new zwave_js WS command to parse DSK from QR code

* remove minimum character check since it is not needed in this case
2023-02-22 11:51:40 -05:00
Jc2k f7bfdfefde
Diagnostics report for Thread networks (#88541)
* Initial diagnostics

* Include MLP of local OTBR

* Add dep on pyroute2

* Move pyroute2 onto executor

* More comments

* Read thread data direct from zeroconf cache

* Get neighbour cache for known BR's

* isort

* mypy

* Add diagnostic test

* rel import

* Fix pylint

* Restore coverage in discovery.py
2023-02-22 11:24:21 -05:00
Jan Bouwhuis 3afc39dbbf
Set default for `hass_config_yaml` fixture to "" (#88608)
Set default for hass_config_yaml fixture to ""
2023-02-22 17:18:11 +01:00
Michael Hansen 59f2b2ad51
Bump intents package version; hassil==1.0.5; home-assistant-intents==2023.2.22 (#88605)
* Bump hassil and intents versions

* Adjust tests to handle abbreviated responses
2023-02-22 09:36:42 -06:00
starkillerOG f97b50f762
Add Reolink update entity (#87865) 2023-02-22 16:26:12 +01:00
Yann Le Moigne 2314d15761
Fix cover template: optimistic mode is ignored (#87925)
* Fix cover template: optimistic mode is ignored (#84334)

* Fix invalid check in is_closed (make test pass)

* Add test for non optimistic cover

* Update homeassistant/components/template/cover.py

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

* Update test_cover.py

* Fix format

* Fix tests

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-22 15:54:18 +01:00
Albin Médoc f40b712664
Fix 500 error when getting calendar events (#88276)
* Fix 500 error when getting calendar event

* Add test for calendar dates in wrong order

* Update calendar tests to use f strings
2023-02-22 15:33:43 +01:00
epenet 3f11fbfda8
Use load_json_object in ecobee (#88584)
* Use load_json_object in ecobee

* Adjust tests
2023-02-22 13:58:07 +01:00
epenet 42d90538e4
Use load_json_object in ps4 (#88590) 2023-02-22 13:55:44 +01:00
epenet 1278fe1f81
Use load_json_object in nanoleaf (#88592)
* Use load_json_object in nanoleaf

* pretty

* prettier
2023-02-22 13:54:02 +01:00
epenet 79adfbc862
Use load_json_object in tellduslive (#88591) 2023-02-22 13:53:00 +01:00
Martin Hjelmare 33b16d20b1
Clean up tradfri import flow (#88588) 2023-02-22 10:53:48 +01:00
Chris Xiao 93c681ae58
Add options flow for met (#88525)
* implement options flow for met

* add tests for met options flow

* fix met options flow tests

* fix met options flow when tracking home
2023-02-22 10:18:58 +01:00
epenet aa20c902db
Add typed helpers and improve type hints in util/json (#88534)
* Add type hints to load_json

* Adjust ios

* Adjust nest

* Add use of load_json_array

* Add tests

* Adjust test patch

* Add test_load_json_os_error
2023-02-22 10:09:28 +01:00
J. Nick Koston e38836b6e1
Update async_matching_config_entries to use async_get_integrations (#88527)
* Update async_matching_config_entries to use async_get_integrations

* Update homeassistant/components/config/config_entries.py

* Update homeassistant/components/config/config_entries.py
2023-02-21 21:17:18 -05:00
J. Nick Koston 5bc0636905
Replace fire_coroutine_threadsafe with asyncio.run_coroutine_threadsafe (#88572)
fire_coroutine_threadsafe did not hold a reference to the asyncio
task which meant the task had the risk of being prematurely
garbage collected
2023-02-21 21:16:18 -05:00
Maciej Bieniek a54e523731
Bump `nettigo-air-monitor` to version 2.1.0 (#88569)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-21 17:41:46 -06:00
Erik Montnemery 356c316b39
Fix stray prints seen inbetween tests (#88570) 2023-02-21 17:19:38 -06:00
J. Nick Koston 93e37243f6
Fix logbook test that failed to exclude EVENT_HOMEASSISTANT_FINAL_WRITE (#88568) 2023-02-21 16:22:44 -06:00
Franck Nijhof 3501a9788f
Update entity registry snapshot serializer (#88566)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-21 22:37:13 +01:00
Jan Bouwhuis 3f79155df6
Remove deprecated callback support for MQTT subscribe (#88543)
* Remove deprecated callback support and fix tests

* Add note with removal instruction
2023-02-21 22:21:00 +01:00
J. Nick Koston e6c792deed
Add missing kelvin attributes to light recorder platform (#88561) 2023-02-21 14:23:53 -06:00
J. Nick Koston ff93b7a01c
Restore vulcan integration (#88556) 2023-02-21 20:56:36 +01:00
Erik Montnemery 0c4c95394e
Add WS command config/entity_registry/list_for_display (#87787)
* Add WS command config/entity_registry/list_for_display

* Make more keys in the display dict optional

* Move disabled_by check to ws command handler

* Hide hidden_by if not hidden

* Use send_json_auto_id in the new test

* Don't include entities which have no data needed for display

* Include platform for entries with translation_key
2023-02-21 20:40:39 +01:00
Teemu R a93b4e7197
Use device-native kelvins for tplink color temperature (#85646) 2023-02-21 12:52:50 -06:00
Jc2k ce1ef1d720
Activate thread integration if thread border routers are present (#88551) 2023-02-21 16:22:00 +00:00
Jorgen Evens 4e32b65694
Improve pjlink reliability (#80745)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-21 16:48:53 +01:00
epenet a51cc75f03
Add type hints to core tests (part 2) (#88492) 2023-02-21 09:27:13 +01:00
epenet a102883eff
Add type hints to integration tests (part 2) (#88493) 2023-02-21 09:25:05 +01:00
Jan Bouwhuis ebb450c946
Default `hass_config` to contain an empty config (#88515)
* Default hass_config to {}

* Correct type hint
2023-02-21 08:48:44 +01:00
Raman Gupta 8722f5b42b
Bump zwave-js-server-python to 0.46.0 (#88520) 2023-02-21 07:15:55 +01:00
Luke 84763c793d
Support Ecobee climate Aux Heat on/off (#86100)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-20 17:56:03 -06:00
J. Nick Koston 35adb2f7e8
Remove previously deprecated Detected Object from unifiprotect (#85656) 2023-02-20 22:14:01 +01:00
Carlos Gustavo Sarmiento fa2e7aa592
Add `state_class = MEASUREMENT` to Derivative sensor (#88408)
* Add `state_class = MEASUREMENT` to Derivative sensor

One line change per title.

* Update sensor.py

* Update tests for Derivative Sensor
2023-02-20 21:57:58 +01:00
J. Nick Koston ecf87ae979
Improve performance of websocket_api dispatch (#88496)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-02-20 19:51:34 +01:00
Erik Montnemery cc4a179ca8
Support templating for in state conditions (#88411) 2023-02-20 18:57:00 +01:00
emanuelst 0b81c836ef
Update HomeKit VOC mappings (#87663)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-20 11:56:41 -06:00
Michael Hansen 5bf3a0b7af
Load custom sentences for language variations (en-us, etc.) (#88498) 2023-02-20 12:28:04 -05:00
Maciej Bieniek 7119a0f811
Use `suggested_display_precision` instead of rounding in Shelly sensor platform (#87084) 2023-02-20 10:20:52 -06:00
Jan Bouwhuis 4f6a25b470
Allow parameterizing YAML config in tests (#87981)
* Add fixture to parameterize yaml config

* Apply to more tests

* Re-add @fixture label

* Add fixtures to patch yaml content and targets

* Typo

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update references to mock_yaml_configuration

* Apply new fixtures

* Apply to check_config tests

* Follow up comments

* Rename fixtures, update docstr

* Split paths

* Patch load_yaml_config_file instead

* sort

* Fix tests

* improve docst

* Rename fixtures

* sorting

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

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

* Improve docstr

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

* Improve docstr

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-20 16:57:12 +01:00
Matthias Alphart 6a0ea09f29
Upload KNX Keyfile from Config/Options Flow directly (#88097)
* Manage KNX Keyfile from UI

* migrate config entry to use new keyfile

* Revert "migrate config entry to use new keyfile"

use same config style as before instead of entry version migration

* clean up uploaded file when integration is removed

* change default filename

* revert to previous step name

* remove empty directory on unload
2023-02-20 14:48:56 +01:00
J. Nick Koston 9876dd804e
Exclude event_id and event_score from being recorded in unifiprotect (#88387) 2023-02-20 14:09:56 +01:00
Franck Nijhof 36e59fc322
Cleanups in WLED tests (#88480) 2023-02-20 13:00:02 +01:00
epenet ec5c3d6330
Add type hints to integration tests (#88476) 2023-02-20 11:43:51 +01:00
epenet 5f25b71df7
Add type hints to core tests (#88478) 2023-02-20 11:42:56 +01:00
Yuxin Wang ba2e80f741
Add more tests for APC UPS Daemon integration (#85967)
* Add tests for init.

* Add more test init.

* Fix test init side_effect.

* Add test sensor.

* Fix sensor test file name.

* Fix sensor test.

* Add binary sensor test.

* Fix comments and styling.

* Remove apcupsd from omissions in coveragerc.

* Add a test case for binary sensor when STATFLAG is not available.

* Complete type annotations for test files.

* Revert "Remove apcupsd from omissions in coveragerc."

This reverts commit 66b05fcb8829619a771a650a3d70174089e15d91.
2023-02-20 09:51:01 +01:00
jan iversen b11539fb04
Move connect method into a task (#88452)
Move connect() into a task.
2023-02-20 08:32:47 +01:00
epenet 488d78571e
Add missing device class triggers (#88316)
* Add constant tests for sensor device classes

* Add missing strings

* Adjust tests

* Add missing conditions

* Add missing trigger

* Cleanup
2023-02-20 08:30:51 +01:00
Paulus Schoutsen 69e42d0e4d
Fix Vulcan break CI (#88469)
* Fix Vulcan break CI

* Remove unrelated change

* Flake8 ignore
2023-02-19 23:49:42 -05:00
J. Nick Koston c2b770bcb9
Load pending state attributes and event data ids at startup (#88444)
* Load pending state attributes and event data ids at startup

Since we queue all events to be processed after startup
we can have a thundering herd of queries to prime the
LRUs of event data and state attributes ids. Since we
know we are about to process a chunk of events we can
fetch all the ids in two queries

* lru

* fix hang

* Fix recorder LRU being destroyed if event session is reopened

We would clear the LRU in _close_event_session but
it would never get replaced with an LRU again so
it would leak memory if the event session is reopened

* Fix recorder LRU being destroyed if event session is reopened

We would clear the LRU in _close_event_session but
it would never get replaced with an LRU again so
it would leak memory if the event session is reopened

* cleanup
2023-02-19 21:26:38 -05:00
Franck Nijhof c4f92f5ad4
Cleanup use of test fixtures in LaMetric tests (#88453)
Cleanup use of test fixture in LaMetric tests
2023-02-19 21:15:07 -05:00
Franck Nijhof 172d505314
Refactor Whois tests (#88456) 2023-02-19 21:14:10 -05:00
Franck Nijhof 037b3ebd26
Refactor EnergyZero tests (#88458) 2023-02-19 21:11:05 -05:00
J. Nick Koston 3533e77ec9
Fix using MariaDB slow range select workaround with Postgresql (#88459)
* Mark PostgreSQL range select as fast

Currently we were using the slow range select workaround for
PostgreSQL that was original developed for MariaDB but
its actually slower on PostgreSQ

fixes #83253

* Mark PostgreSQL range select as fast

Currently we were using the slow range select workaround for
PostgreSQL that was original developed for MariaDB but
its actually slower on PostgreSQ

fixes #83253
2023-02-19 21:08:43 -05:00
Franck Nijhof 68e1aaa0be
Refactor Elgato tests (#88376) 2023-02-19 20:14:18 +01:00
J. Nick Koston a9731a7b26
Make the recorder LRU adjustment threadsafe (#88443) 2023-02-19 19:30:08 +01:00
J. Nick Koston 9df00bd285
Adjust recorder LRU cache to align with the number of entities (#88350)
* Adjust size of recorder LRU based on number of entities

If there are a large number of entities the cache would
get thrashed as there were more state attributes being
recorded than the size of the cache. This meant we had
to go back to the database to do lookups frequently when
an instance has more than 2048 entities that change
frequently

* add a test

* do not actually record 4096 states

* patch target

* patch target
2023-02-19 00:02:36 -05:00
Teemu R 1d928f05fa
Update python-kasa to 0.5.1 (#88416) 2023-02-18 22:39:08 -06:00
Franck Nijhof 6cbad61572
Enable Ruff RUF006; Hard reference to asyncio.create_task return value (#88216)
* Enable Ruff RUF006

* Fix test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-18 23:05:44 -05:00
J. Nick Koston 3ca9f3c0d5
Only build the recorder SupportedDialect enum once (#88402)
Every call to dialect_name was creating a new enum object
in the recorder
2023-02-18 20:21:14 -05:00
Erik Montnemery 06213ee595
Drop sqlachemy_utils workaround (#88393) 2023-02-18 09:18:23 -06:00
Tom Harris d84fde8c54
Insteon scenes (#87803)
* Add Insteon scene support

* Bump to pyinsteon 1.3.1

* Add tests

* Bump Insteon Panel to 0.3.1

* Change docstring
2023-02-18 15:52:49 +01:00