Commit Graph

15254 Commits (7b2e743a6b0ce8dce5595eb54d089c3142cc6d94)

Author SHA1 Message Date
Mike Heath 04e9c7748f
Support Fully Kiosk Browser device discovery via MQTT (#88109)
Support FKB device discovery via MQTT
2023-02-15 11:11:04 +01:00
epenet 88444b2e0c
Add type hints to integration tests (part 16) (#88008) 2023-02-15 10:50:02 +01:00
epenet 6c430e03bc
Add type hints to integration tests (part 14) (#88005) 2023-02-15 10:31:43 +01:00
Thomas Dietrich a0e0feb444
Statistics component fix device_class for incremental source sensors (#88096)
* Return None device_class for incremental source sensors

* Ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Catch potential parsing error with enum
2023-02-15 10:22:09 +01:00
Maciej Bieniek 95bb019f71
Do not reload Shelly TRV entry when not needed (#88037)
* Do not reload the entry when the target temperature changes

* Do not reload the entry when the mode changes

* Increase test coverage

* Increase test coverage
2023-02-15 10:21:53 +01:00
Maciej Bieniek cd4ce86f07
Add support for `triple_push` event for Shelly gen2 devices (#88081)
* Add support for triple_push event

* Sort

* Fix tests
2023-02-15 10:20:27 +01:00
epenet 50cbabb2d8
Add type hints to integration tests (part 15) (#88006) 2023-02-15 10:00:49 +01:00
Jan Bouwhuis 6c23d6abfe
Fix doc string in mqtt test (#88138)
Fix docstr
2023-02-15 05:56:03 +01:00
Brandon Rothweiler 7cf5fd5952
Fix typo in OpenAI prompt (#88137) 2023-02-14 20:33:58 -05:00
J. Nick Koston 0c35c6a313
Fix enum try_parse test for python3.11 (#88131) 2023-02-14 15:29:44 -06:00
J. Nick Koston 44e8e808a1
Fix apprise tests for python 3.11 (#88126) 2023-02-14 15:25:25 -05:00
J. Nick Koston aaeb909148
Fix wemo tests with py3.11 (#88123) 2023-02-14 13:58:57 -06:00
J. Nick Koston 4d90d3cd91
Fix vera tests with python3.11 (#88124) 2023-02-14 13:58:44 -06:00
J. Nick Koston e7d5943c90
Fix zwave_me tests with python 3.11 (#88122) 2023-02-14 13:58:29 -06:00
Aaron Bach 6bb7a7225d
Revert "Add a calendar entity to Ridwell (#86117)" (#88106)
This reverts commit 16a5275461.
2023-02-14 10:23:32 -07:00
J. Nick Koston f237bb14ca
Add strict typing to yalexs_ble (#88086)
* Add strict typing to yalexs_ble

* Add strict typing to yalexs_ble

* Add strict typing to yalexs_ble
2023-02-14 11:38:51 -05:00
Teemu R 5335dfbc67
Prefer effect over other light settings for tplink (#85642) 2023-02-14 10:29:11 -06:00
J. Nick Koston c54500cb1f
Fix invalid spec in mqtt tests for py3.11 (#88092)
Fix invalid spec in mqtt tests

unittest.mock.InvalidSpecError: Cannot spec a Mock object.
2023-02-14 11:28:46 -05:00
Aaron Bach 16a5275461
Add a calendar entity to Ridwell (#86117) 2023-02-14 06:58:41 -07:00
Martin Hjelmare e1a5d5a749
Refactor tradfri sensor tests (#88026) 2023-02-14 13:35:27 +01:00
Matthias Alphart d7861e79c5
Update xknx to 2.5.0 (#88069) 2023-02-14 12:44:43 +01:00
Paulus Schoutsen fa5c60c9ee
Handle device reg fields not being valid data in openai conversion (#88047)
Handle device reg fields not being valid data
2023-02-14 11:45:27 +01:00
Paulus Schoutsen d54f59478f
Keep task references while running (#87970)
* Keep task references while running

* Update pilight tests pointing at correct logger call

* Fix graphite tests

* Fix profiler tests

* More graphite test fixes

* Remove extra sleep

* Fix tests

* Shutdown background tasks as part of stage 1

* Remove unnecessary sleep in test

* Remove unused method on mock hass

* Skip on cancelled too

* Remove background tasks

* Test trigger variables without actually sleeping

* Fix graphite

* One more graphite grrrrrrr
2023-02-13 23:16:59 -05:00
J. Nick Koston e41af8928b
Restore original aiohttp cancelation behavior (#88046) 2023-02-13 22:00:36 -06:00
dcmeglio 3d9d79684d
Add support for telnet connections for Denonavr integration (#85980)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 18:36:09 -06:00
epenet efef915fc7
Add mariadb 10.3.32 to database tests (#87741)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 16:28:39 -06:00
Erik Montnemery 4ca0a24f87
Increase test scope of MariaDB + PostgreSQL tests (#87019)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 15:58:13 -06:00
Martin Hjelmare ab2ab1573e
Refactor tradfri diagnostics tests (#88017) 2023-02-13 18:39:48 +01:00
Martin Hjelmare 8993a36e27
Refactor tradfri fan tests (#87999) 2023-02-13 15:40:21 +01:00
J. Nick Koston 03eea7bd3f
Avoid subprocess memory copy when c library supports posix_spawn (#87958)
* use posix spawn on alpine

* Avoid subprocess memory copy when c library supports posix_spawn

By default python 3.10 will use the fork() which has to
copy all the memory of the parent process (in our case
this can be huge since Home Assistant core can use
hundreds of megabytes of RAM). By using posix_spawn
this is avoided.

In python 3.11 vfork will also be available
https://github.com/python/cpython/issues/80004#issuecomment-1093810689
https://github.com/python/cpython/pull/11671 but we won't
always be able to use it and posix_spawn is considered safer
https://bugzilla.kernel.org/show_bug.cgi?id=215813#c14

The subprocess library doesn't know about musl though
even though it supports posix_spawn https://git.musl-libc.org/cgit/musl/log/src/process/posix_spawn.c
so we have to teach it since it only has checks for glibc
1b736838e6/Lib/subprocess.py (L745)

The constant is documented as being able to be flipped here:
https://docs.python.org/3/library/subprocess.html#disabling-use-of-vfork-or-posix-spawn

* Avoid subprocess memory copy when c library supports posix_spawn

By default python 3.10 will use the fork() which has to
copy memory of the parent process (in our case
this can be huge since Home Assistant core can use
hundreds of megabytes of RAM). By using posix_spawn
this is avoided and subprocess creation does not
get discernibly slow the larger the Home Assistant
python process grows.

In python 3.11 vfork will also be available
https://github.com/python/cpython/issues/80004#issuecomment-1093810689
https://github.com/python/cpython/pull/11671 but we won't
always be able to use it and posix_spawn is considered safer
https://bugzilla.kernel.org/show_bug.cgi?id=215813#c14

The subprocess library doesn't know about musl though
even though it supports posix_spawn https://git.musl-libc.org/cgit/musl/log/src/process/posix_spawn.c
so we have to teach it since it only has checks for glibc
1b736838e6/Lib/subprocess.py (L745)

The constant is documented as being able to be flipped here:
https://docs.python.org/3/library/subprocess.html#disabling-use-of-vfork-or-posix-spawn

* missed some

* adjust more tests

* coverage
2023-02-13 09:02:51 -05:00
epenet ea11a30a35
Add type hints to integration tests (part 13) (#87998) 2023-02-13 14:38:37 +01:00
Paulus Schoutsen c557cd2b1e
Make all history stats tests async (#87973) 2023-02-13 14:34:28 +01:00
epenet 1e352b60df
Add type hints to integration tests (part 11) (#87996) 2023-02-13 14:22:49 +01:00
Erik Montnemery 8f2a764a43
Adjust suggested_display_precision according to unit conversion (#87614) 2023-02-13 13:55:12 +01:00
epenet ea29cdfe83
Add type hints to integration tests (part 12) (#87997) 2023-02-13 13:03:51 +01:00
G Johansson 896dd1a36b
Change name to entity_id Text platform error messages (#87963) 2023-02-13 12:51:38 +01:00
Jan Bouwhuis 950ee34514
Correct typing on hass_storage fixure (#87986)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-13 12:12:34 +01:00
Franck Nijhof f1daeabff0
Add homeassistant.reload_all service (#87769) 2023-02-13 12:09:29 +01:00
epenet 03710e58b5
Add type hints to integration tests (part 9) (#87983) 2023-02-13 12:06:51 +01:00
Franck Nijhof 6359775cfc
Add more entities for Elgato Key Light Mini (#87793)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-13 11:54:50 +01:00
epenet 89e4ee5320
Add type hints to integration tests (part 8) (#87982) 2023-02-13 11:13:48 +01:00
epenet 9404a107b2
Add type hints to integration tests (part 10) (#87985) 2023-02-13 10:25:26 +01:00
Erik Montnemery 3f910b49ae
Fix sensor unit conversion (#87978) 2023-02-13 10:08:07 +01:00
epenet b68f502769
Add type hints to integration tests (part 7) (#87980) 2023-02-13 09:53:09 +01:00
epenet b9beed4624
Add type hints to integration tests (part 6) (#87979) 2023-02-13 09:45:11 +01:00
Joakim Sørensen e842f90767
Add recorder engine name and version to analytics (#87784)
* Add recorder to analytics

* Add test

* Add recorder to after_dependencies

* Add version

* dialect can not be None
2023-02-13 09:18:12 +01:00
G Johansson 8c00f435a6
Change name to entity_id update platform error messages (#87960) 2023-02-12 22:18:09 +01:00
J. Nick Koston 7b9293941e
The recorder/statistic(s)_during_period websocket API now require the statistic_id(s) field (#87937) 2023-02-12 14:51:10 -06:00
rappenze 5f4a2a713c
Remove deprecated fibaro yaml config (#87939) 2023-02-12 21:50:50 +01:00
Ernst Klamer 18d3e4dca8
Fix kegtron state class for volume sensors (#87950) 2023-02-12 21:22:21 +01:00
epenet 728f62b1ec
Add type hints to integration tests (part 5) (#87850) 2023-02-12 19:39:48 +01:00
Klaas Schoute 60bcbd0473
Bump gridnet to v4.2.0 (#87903) 2023-02-12 18:53:05 +01:00
Allen Porter 4d186366bd
Improve Google Calendar config flow error message when API disabled (#87889) 2023-02-12 18:28:44 +01:00
Erik Montnemery 4db40810dd
Add support for dormakaba dKey locks (#87501)
* Add support for dormakaba dKey locks

* Pylint

* Address review comments

* Add test for already configured entry

* Add user flow

* Address review comments

* Simplify config flow

* Add tests

* Sort manifest

* Remove useless _abort_if_unique_id_configured

* Remove config entry update listener

* Simplify user flow

* Remove startup event

* Revert "Simplify user flow"

This reverts commit 0ef9d1c6bb.
2023-02-12 13:46:31 +01:00
J. Nick Koston 85649ec589
Reduce overhead to see if an entity is recorded (#87912)
A significant chunk of list_statistic_ids was checking if the entity
was recorded because it had to get the recorder instance over and
over
2023-02-11 23:21:16 -05:00
rappenze e1340e6ed4
Replace fiblary3 with pyfibaro library (#83500)
* Replace fiblary3 with pyfibaro library

* Fix some missing replacements for pyfibaro library

* Remove debug code which was committed accidentially

* Use fibaro_parent_id in another place

* Fix some bugs

* Move more code to the library

* Move has_unit check to correct place
2023-02-11 22:13:12 +01:00
J. Nick Koston 34e2751f14
Retrigger Bluetooth discovery when calling async_rediscover_address (#87884)
* Retrigger Bluetooth discovery when calling async_rediscover_address

* Retrigger Bluetooth discovery when calling async_rediscover_address

* tweak
2023-02-11 16:59:51 +01:00
G Johansson 7aa79415c1
Fix unbound variable in Group sensor (#87878)
* group bound last

* Add test
2023-02-11 16:27:22 +01:00
epenet b7b82b1e3f
Add more type hints to conftest.py (#87842)
* Add more type hints in conftest.py

* Adjust stop_hass

* Adjust mock_integration_frame

* Adjust pylint plugin
2023-02-11 13:48:53 +01:00
epenet 9f688a564f
Add type hints to integration tests (part 4) (#87848) 2023-02-11 08:26:13 +01:00
Jan Bouwhuis 41a92a872f
Add missed type hint on MQTT device tracker test (#87847) 2023-02-10 22:42:56 +01:00
Jan Bouwhuis 0bf4896c7f
Add type hints to MQTT init tests (#87402)
* Add hass type hint and `None` return type

* Add type hints on tmp_path

* Add registry hints

* Add caplog and hass_ws_client type hints

* Add type hints for MqttMockHAClientGenerator

* Add type hints MqttMockPahoClient

* Hints on fixtures `calls` and `record_calls`

* Other fixture type hints tweaks

* Add hints for mock_usename_password_set

* Update tests/components/mqtt/test_init.py

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

* correct domain

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-10 18:38:37 +01:00
J. Nick Koston c35661947a
Optimize fetching statistics by avoiding timestamp conversions (#87845)
* Optimize fetching statistics by avoiding timestamp conversions

* remove accidential unrelated change

* fix test

* recreate so we handle timezone changes
2023-02-10 11:26:46 -05:00
epenet 6a1cd75a67
Add MockHAClientWebSocket test helper (#87832)
* Add MockHAClientWebSocket test helper

* Add sample use

* Add missing type hint
2023-02-10 10:23:26 -05:00
epenet 0cf5e9fb4a
Add type hints to integration tests (part 2) (#87789)
* Add type hints to integration tests (part 2)

* typo

* Improve analytics

* Improve automation

* Imrpove bluetooth
2023-02-10 16:05:26 +01:00
epenet fa7acb4f0d
Add type hints to integration tests (part 3) (#87844) 2023-02-10 16:05:01 +01:00
epenet 22bfb99db4
Add type hints to requests_mock (#87757) 2023-02-10 11:44:09 +01:00
epenet fac746c974
Improve recorder type hints in tests (#87826)
* Improve recorder type hints in tests

* Add comment

* Adjust comment
2023-02-10 11:11:39 +01:00
Mike Heath b5dfd83c46
Fix Fully Kiosk Browser merging entities when MAC empty (#87743)
* Fix FKB merging entities when MAC empty

Fully Kiosk Browser will sometimes return an empty MAC address in the
device_info API call. When two Fully Kiosk devices are added with
missing MAC addresses, HA will assume the two devices are the same and
merge the entities. This fixes that problem.

Fixes #77722

* Update homeassistant/components/fully_kiosk/entity.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-10 09:19:09 +01:00
Raman Gupta 8aa64c8008
Add `has_firmware_update_cc` bool to zwave_js/node_status cmd (#87310)
* Add `has_firmware_update_cc` bool to zwave_js/node_status cmd

* fix test

* Switch order of equality check
2023-02-10 00:49:09 -05:00
Michael Hansen 8cd5106c15
Add HassGetState intent for queries (#87808)
* Use names instead of entity ids for list

* Add HassGetState for Assist queries

* Add unknown area to test

* Clean up and test device classes
2023-02-09 23:39:46 -05:00
Ernst Klamer 9dd806278b
Keep sleepy xiaomi-ble devices that don't broadcast regularly available (#87654)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-09 16:42:08 -06:00
J. Nick Koston 4cebc767b5
Give users a hint that their bluetooth adapter has been ignored (#87727) 2023-02-09 16:41:53 -06:00
J. Nick Koston cbaf4764e7
Ensure MySQL tests cleanup connections and raise an exception if they do not (#87767)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Erik <erik@montnemery.com>
2023-02-09 16:27:53 -06:00
J. Nick Koston 84d14cc76a
Add reauthentication support to Yale Access Bluetooth (#87719)
* Bump yalexs_ble to 1.12.11 to fix reconnect when services fail to resolve

changelog: https://github.com/bdraco/yalexs-ble/compare/v1.12.8...v1.12.11

* bump to make it work with esphome proxy as well

* empty

* Add reauth support to yalexs_ble

* lint

* reduce

* tweak

* tweak

* test for reauth

* Apply suggestions from code review

* cleanup
2023-02-09 22:24:14 +01:00
J. Nick Koston 509de02044
Ensure recorder still shuts down if the final commit fails (#87799) 2023-02-09 15:12:40 -06:00
Tom Harris 926534bde2
Bump pyinsteon to 1.3.1 (#87788)
* Bump pyinsteon to 1.3.1

* Fix record received test

* Fix status received test
2023-02-09 21:40:06 +01:00
jan iversen b9b5a279f2
Correct sensor restore entity in modbus (#87563)
* Correct sensor restore entity.

* Review comments.
2023-02-09 21:35:44 +01:00
Erik Montnemery cc564026fa
Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
J. Nick Koston abf0c87e40
Migrate statistics to use timestamp columns (#87321) 2023-02-09 12:24:19 -06:00
Erik Montnemery 2fae82a9ef
Really ensure recorder test fixture is setup before hass fixture (#87796) 2023-02-09 11:43:14 -06:00
J. Nick Koston db503c0daa
Always use UTC time for the MariaDB/MySQL session (#87583) 2023-02-09 11:39:45 -06:00
J. Nick Koston c05a7b29e6
Terminate stale MySQL connections at the end of test runs (#87794) 2023-02-09 11:13:13 -06:00
Jan Bouwhuis 1a38b9f665
Improve coverage MQTT device_trigger (#87408)
* Improve coverage MQTT device_trigger

* Use assert
2023-02-09 17:42:32 +01:00
epenet a13535b0c7
Bump renault-api to 0.1.12 (#87773)
fix https://github.com/hacf-fr/renault-api/pull/789
2023-02-09 16:55:02 +01:00
Jan Bouwhuis a244f9b202
Add type hints tests MQTT config_flow (#87783) 2023-02-09 16:47:28 +01:00
epenet 07a1a0efa9
Add type hints to integration tests (part 1) (#87777) 2023-02-09 16:09:13 +01:00
J. Nick Koston 03b47f1931
Disable test_entity_ids on MariaDB (#87766)
Dropping the database after this test will fail on
MySQL and hang forever because it causes an InnoDB deadlock

```
| 2042 | root   | localhost:52698 | NULL               | Query   |   41 | Waiting for table metadata lock | DROP DATABASE `homeassistant-test` |    0.000 |
```
2023-02-09 15:30:35 +01:00
J. Nick Koston f4a81a8b5b
Disable test_migration_in_progress on MySQL (#87765)
This test was recently enabled on MySQL in
https://github.com/home-assistant/core/pull/87753

Since it the migration is still in progress in the background
when the test ends, it causes deadlock with InnoDB when its dropped
out from under it
2023-02-09 15:27:27 +01:00
Jan Bouwhuis dc5f35a85e
Add missed type hints on MQTT platform tests (#87781) 2023-02-09 15:22:30 +01:00
J. Nick Koston 483b0cd017
Skip db locking test with postgresql/MySQL (#87760)
* Skip db locking test with postgresql/MySQL

https://github.com/home-assistant/core/pull/87756#issuecomment-1423828389

* switch to the guards instead
2023-02-09 13:58:32 +01:00
Franck Nijhof f5b651750c
Enable Ruff ICN001 (#87775) 2023-02-09 13:41:50 +01:00
Erik Montnemery 2d2ff19949
Round value in state_with_unit template function (#87619) 2023-02-09 12:54:59 +01:00
epenet 94779dddaa
Add type hints to diagnostics test helper (#85494)
* Add type hints to diagnostics test helper

* Move type alias to the top

* Use Any

* Move TestClientGenerator to typing helper

* Use `dict[str, Any]` again

* Use JsonObjectType

* Add cast
2023-02-09 12:15:18 +01:00
epenet bb174780b9
Apply registry type hints on mqtt platform tests (#87758)
Apply registry fixture types on platform tests
2023-02-09 11:53:56 +01:00
epenet 678d1e367d
Refactor onewire options flow tests (#87711) 2023-02-09 11:52:26 +01:00
Franck Nijhof 330e1c6cbb
Clean up unnecessary registry mocks from integration tests (#87763) 2023-02-09 10:43:45 +01:00
J. Nick Koston 77cdde94f3
Turn back off test_shutdown_before_startup_finishes test on MySQL (#87761) 2023-02-09 03:12:10 -06:00
Jan Bouwhuis df76e31cdf
Apply MQTT fixture types on platform tests (#87722)
* Apply MQTT fixture types on platform tests

* Add caplog type hint

* Add hass_ws_client type hint

* Add tmp_path type hint

* Add hass_client_no_auth type hint
2023-02-09 09:48:22 +01:00
starkillerOG bcf8cf4d8b
Add reolink https webhook warning (#87332)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
fixes undefined
2023-02-09 09:24:18 +01:00
epenet c946f684bc
Add more type hints to conftest (#87755)
* Add pytest type hints to conftest

* Add bluetooth and integration frame
2023-02-09 09:20:05 +01:00
Erik Montnemery 58618b2978
Improve recorder tests to use MariaDB / PostgreSQL (#87756) 2023-02-09 02:18:20 -06:00
Erik Montnemery b0f5bdd504
Improve migration tests to use MariaDB / PostgreSQL database (#87753) 2023-02-09 08:42:32 +01:00
Paulus Schoutsen f9dc562251
Stub I/O when loading registries in tests (#87744) 2023-02-09 08:25:52 +01:00
Franck Nijhof 76bf6f164f
Clean up unnecessary registry mocks from mqtt tests (#87728)
* Clean up unnecessary registry mocks from mqtt tests

* Fix helper methods
2023-02-09 08:19:06 +01:00
Franck Nijhof 80bf632e2d
Clean up unnecessary registry mocks from helpers (#87734) 2023-02-08 20:15:29 -05:00
Arturo 1c02f19d9a
Fix matter color temperature light (#87677)
* Adds tests for each matter light type and fixes small issue with color temperature lights not being detected properly

* Removes commented out code

* Changed matter light tests to pytest.mark.parametrize to reduce duplicate code
2023-02-08 23:41:04 +01:00
epenet aff0174afa
Add more type hints to conftest (#87737) 2023-02-08 22:58:00 +01:00
starkillerOG 0ab30ece68
Netgear ssdp discovery abort if no serial (#87532)
fixes undefined
2023-02-08 15:38:44 -06:00
Jan Bouwhuis b93c135c8d
Add type hints for MQTT discovery tests (#87425)
* Add type hints for MQTT discovery tests

* Remove more unused caplog instances

* rebase commit

* Small corrections

* Add event tye hint and correct string assignment

* Another Event type hint

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

* Correct test_complex_discovery_topic_prefix

* Import individual items from homeassistant.core

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-08 20:56:27 +01:00
Franck Nijhof 51a9f65a01
Clean up unnecessary registry mocks from Core tests (#87726) 2023-02-08 13:28:44 -06:00
Erik Montnemery 2246255e90
Create or import thread active dataset when setting up OTBR (#87186)
* Create a thread active dataset when discovering OTBR

* Align with lib changes

* Use thread preferred dataset if set

* Create a dataset also from the user flow
2023-02-08 19:32:19 +01:00
epenet 278050a73f
Add type hints to integration tests (t-z) (#87707) 2023-02-08 19:10:53 +01:00
epenet f75ac17554
Add type hints to integration tests (j-m) (#87704) 2023-02-08 19:06:59 +01:00
Martin Hjelmare 630028106a
Refactor tradfri cover tests (#87710)
* Refactor tradfri cover tests

* Complete typing
2023-02-08 18:31:04 +01:00
epenet 37a2040d7b
Add type hints to integration tests (h-i) (#87703) 2023-02-08 18:12:56 +01:00
epenet 807c69f621
Add type hints to integration tests (b-c) (#87698) 2023-02-08 18:08:43 +01:00
Jan Bouwhuis 1a414f1433
Add hass and `None` return type on MQTT platform tests (#87713)
Add hass and `None` return type on MQTT tests
2023-02-08 18:08:03 +01:00
epenet ba85fdcd61
Add type hints to integration tests (q-s) (#87706) 2023-02-08 08:12:54 -08:00
epenet 3abf7ea18a
Add type hints to integration tests (m-p) (#87705) 2023-02-08 07:48:54 -08:00
Franck Nijhof 6551eb168d
Add common area, device, entity and issue registry test fixtures (#87694) 2023-02-08 16:28:44 +01:00
Erik Montnemery 94519de8dd
Upgrade SQLAlchemy to 2.0.2 (#86436)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-08 08:17:32 -06:00
Erik Montnemery 93dafefd96
Include entity options in RegistryEntry.as_partial_dict (#87539) 2023-02-08 08:32:46 -05:00
epenet 7a4d15a657
Add type hints to integration tests (f-g) (#87700) 2023-02-08 13:33:52 +01:00
epenet 3052de3e8e
Add type hints to integration tests (d-e) (#87699) 2023-02-08 13:01:44 +01:00
epenet 2545694d41
Add type hints to integration tests (a) (#87684)
* Add type hints to accuweather tests

* Adjust a** components

* Adjust aiohttp_client

* ClientSessionGenerator/WebSocketGenerator
2023-02-08 12:16:23 +01:00
Franck Nijhof 1c3713d08f
Add studio mode switch to Elgato (#87691) 2023-02-08 11:42:53 +01:00
Jan Bouwhuis fc7e4b7664
Add type hints on common MQTT tests (#87299)
* Add hints for hass and return type

* Fix MqttMockType add apply hints to test_common

* Add type hints for other arguments

* Merge changes

* Add missed annotation

* Make tests types private and move to top
2023-02-08 11:20:27 +01:00
Erik Montnemery 45ac8c515e
Update unit system unit conversions (#87632)
* Update unit system unit conversions

* Tweak tests
2023-02-08 10:52:54 +01:00
Franck Nijhof c3e733c0aa
Replace global test markers with fixtures in Devolo home control tests (#87676) 2023-02-08 10:51:25 +01:00
epenet a4c4f77f73
Add more fixtures to pylint plugin (#87685) 2023-02-08 10:51:09 +01:00
Franck Nijhof 380bfe5b28
Enable Ruff PT002, PT003 (#87686) 2023-02-08 10:50:53 +01:00
Franck Nijhof 6582367917
Add battery sensor to Elgato (#87680) 2023-02-08 10:22:12 +01:00
Franck Nijhof e749521b29
Replace global test markers with fixtures in Synology DSM tests (#87678) 2023-02-08 09:42:57 +01:00
epenet c98b4e3204
Add typing to tests with single hass argument (2) (#87675)
* Add typing to tests with single hass argument (2)

* a few more
2023-02-08 08:51:43 +01:00
Jc2k d829a2045a
Fix incorrect unique_id for BLE HomeKit devices (#87550) 2023-02-07 19:10:51 -06:00
Franck Nijhof cc3ae5b19b
Mark ESPHome update entity unavailable when device is offline (#87576) 2023-02-07 22:15:54 +01:00
Arturo e84a11963e
Add color support to matter lights (#87366)
* Added the correct attributes to ColorTemperatureLight and ExtendedColorLight and added CurrentY to codespell ignore word list

* Added enums for matter color modes

* Added support for reading color and color temperature settings from matter api

* Added away of getting the ColorControl featureMap while the get_cluster(ColorControl) function is fixed

* Initial working implementation of color and color temperature

* Full supports for lights with both hs and xy

* Added checks to make sure color features are supported before making matter call

* Changed how color mode is figured out

* Moved the logic that gets the brightness to its own function

* Adds matter light tests for hass triggered events

* Adds full test coverage for matter all types of matter lights

* Adds full test coverage for matter all types of matter lights

* Moved light convertion logic to util.py

* Reorderd codespell ignore list and removed unused code

* Adds brightness state test
2023-02-07 20:44:02 +01:00
Thomas Hollstegge 589ff54e63
Do not return cached values for entity states in emulated_hue (#87642)
* Do not return cached values for state and brightness

* Move building the uncached state dict behind a lru_cache (_build_entity_state_dict)

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:39:08 -05:00
Franck Nijhof c25bff9389
Tweak Elgato tests (#87629) 2023-02-07 19:14:13 +01:00
epenet a202588fd2
Add return type to json_loads (#85672)
* Add JSON type definitions

* Sample use

* Keep mutable for a follo-up PR (avoid dead code)

* Use list/dict

* Remove JsonObjectType

* Remove reference to Union

* Cleanup

* Improve rest

* Rename json_dict => json_data

* Add docstring

* Add type hint to json_loads

* Add cast

* Move type alias to json helpers

* Cleanup

* Create and use json_loads_object

* Make error more explicit and add tests

* Use JsonObjectType in conversation

* Remove quotes
2023-02-07 17:21:55 +01:00
Franck Nijhof 20b60d57f2
Add lru cache to loading fixtures in tests (#87634) 2023-02-07 16:50:13 +01:00
Erik Montnemery 720f51657d
Add CI job which runs recorder tests on PostgreSQL (#80614)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 09:46:14 -06:00
epenet 3a83b2f66f
Rename fixture function in stt tests (#87630) 2023-02-07 16:06:53 +01:00
epenet 59ca7780fa
Add typing to tests with single hass argument (#87631) 2023-02-07 15:01:16 +01:00
Marc-Olivier Arsenault fe9f6823c3
Add ecobee ventilator (#83645)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 07:54:23 -06:00
epenet 4d73de6295
Remove unused function in slack tests (#87618) 2023-02-07 07:52:15 -06:00
J. Nick Koston 0a1d5c85ad
Optimize history.get_last_state_changes query (#87554)
fixes undefined
2023-02-07 07:50:44 -06:00
epenet 4142f0d15d
Add return type to tests without arguments (#87613)
* Add return type to tests without arguments

* Black

* Cancel fixture amends
2023-02-07 14:20:06 +01:00
epenet 8f8bdac451
Fix namespace issue in pylint plugin (#87627) 2023-02-07 13:07:21 +01:00
epenet ef6798e854
Add caplog to known fixtures in pylint plugin (#87617) 2023-02-07 11:34:02 +01:00
Jan Bouwhuis c78cae4483
Fix handling `None` or empty value for numeric MQTT sensor (#87004)
* Allow `None` for numeric sensor, ignore empty val

* Add test case with omitting a value

* Use _numeric_state_expected property

* Only respect None if numeric state is expected
2023-02-07 11:23:23 +01:00
epenet aa00114c2f
Add return type to async tests without arguments (#87612) 2023-02-07 10:26:56 +01:00
Maciej Bieniek 6a3619d9fa
Refactor NAM sensor platform (#87048)
* Bump backend library

* Remove AQI_LEVEL_STATE_MAPPING

* Add native_precission

* Update diagnostics fixture

* Use _attr_native_value

* Fix type

* Improve lambda

* Revert native_value property

* native_precision -> suggested_display_precision
2023-02-07 09:14:20 +01:00
Jan Bouwhuis 73e3b30906
Add `suggested_display_precision` config option for MQTT sensor (#87129)
* Add precision for MQTT sensor

* Correct tests

* Use _attr_suggested_display_precision

* Rename option and add abbreviation

* Make abbr more compact
2023-02-07 08:55:35 +01:00
Paulus Schoutsen 400c88a1cc
OpenAI: Ignore devices without a name (#87558)
Ignore devices without a name
2023-02-06 23:57:08 -05:00
Marc Mueller 342b406dc0
Add Self typing (1) [mypy 1.0] (#87598) 2023-02-06 22:29:47 -06:00
Martin Hjelmare f378dcdc30
Fix matter remove config entry device (#87571) 2023-02-06 22:41:52 +01:00
Paulus Schoutsen a090652560
Use correct state in Entity repr and output similar value to State class (#87519)
* Use correct state in Entity repr

* Test Entity.__repr__

* Align with State class
2023-02-06 13:35:36 -05:00
epenet 3d7ae84326
Remove use of HomeAssistantType (#87525) 2023-02-06 17:17:43 +01:00
MarkGodwin ce9a514667
TP-Link Omada integration (#81223)
* TP-Link Omada integration
Support for PoE config of network switch ports

* Bump omada client version

* Fixing tests

* Refactored site config flow

* Code review comments

* Fixed tests and device display name issue

* Bump isort to fix pre-commit hooks

* Hassfest for the win

* Omada code review

* Black

* More config flow test coverage

* Full coverage for omada config_flow

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-06 10:57:18 -05:00
Franck Nijhof 939eef3b28
Remove translations from Core (#87543)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-06 15:06:43 +01:00
Jan Bouwhuis 4ad386d794
Correct type hints mqtt_client_mock and move new generator type (#87527)
* Correct mqtt_client_mock and move MqttMockType

* Rename MqttMockType to MqttMockGenerator

* Make types more specific

* adjust returntype _setup_mqtt_entry

* Correct return type _setup_mqtt_entry

* Update tests/conftest.py

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

* 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-06 15:05:06 +01:00
ollo69 ade0d6fcae
Use suggested_display_precision for AsusWrt sensors (#87396)
* Use native_precision for AsusWrt sensors

* Use  suggested_display_precision
2023-02-06 11:05:10 +01:00
J. Nick Koston c7980bda82
Fix recorder run history during schema migration and startup (#87492)
Fix recorder run history during schema migration

RunHistory.get and RunHistory.current can be called before
RunHistory.start. We need to return a RecorderRuns object
with the recording_start time that will be used when start
it called to ensure history queries still work as expected.

fixes #87112
2023-02-05 22:12:41 -05:00
Martin Hjelmare 24bb3a705c
Adjust matter test exception argument (#87282) 2023-02-06 01:02:06 +01:00
J. Nick Koston c11f3ffa17
Speed up purge time with newer MariaDB versions (#87409)
* Speed up purge time with newer MariaDB versions

* fix

* document

* document

* document

* rename

* self review

* Update homeassistant/components/recorder/util.py

* fixes
2023-02-05 17:58:34 -05:00
Franck Nijhof d389de71f5
Coordinator refactor in Elgato (#87490) 2023-02-05 21:54:30 +01:00
Martin Hjelmare 0aa489e3f0
Refactor tradfri switch tests (#86816)
Co-authored-by: Patrik Lindgren <21142447+ggravlingen@users.noreply.github.com>
2023-02-05 21:02:17 +01:00
Robert Hillis d5b2062774
Disable uptime sensor by default in Unifi (#87484)
Disable Uptime sensor by default in Unifi
2023-02-05 19:28:28 +01:00
Franck Nijhof 1cd7f221d5
Update elgato to 4.0.1 (#87479) 2023-02-05 19:22:15 +01:00
Nathan Spencer 11ccd166fe
Use pybalboa 1.0.0 (#87214)
* Use pybalboa 1.0.0

* Code changes per PR review
2023-02-05 19:10:35 +01:00
krahabb 899342d391
Refactor async_call_later to improve performance and reduce conversion loss (#87117)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-05 12:04:38 -06:00
Gregory Haynes 936ffafd27
Add missing name field to emulated_hue config (#87456)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-05 11:34:37 -06:00
epenet 2f3b509513
Refactor onewire options flow (#87162)
* Refactor onewire options flow

* Adjust

* Apply suggestions from code review

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

* Use async_entries_for_config_entry

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-05 01:18:20 +01:00
J. Nick Koston 4d0e236c6a
Ignore invalid zeroconf names from devices with broken firmwares (#87414) 2023-02-04 16:29:03 -06:00
J. Nick Koston 3be6d4dcfb
Disable mopeka accelerometer sensors by default (#87420)
* Disable mopeka accelerometer sensors by default

These generate a significant amount of noise and are
only useful when placing the sensor. Disable them by
default. This not a breaking change because existing
preferences are preserved.

* adjust tests
2023-02-04 22:34:34 +02:00
epenet 19e27f4f52
Ensure recorder api aligns with sensor converters (#87257) 2023-02-04 14:28:47 -06:00
Erik Montnemery bcc1aa03b4
Move sensor rounding to frontend (#87330)
* Move sensor rounding to frontend

* Update integrations

* Add comment
2023-02-04 14:54:36 -05:00
Erik Montnemery 0d713809e7
Store preferred dataset separately in thread dataset store (#87378) 2023-02-04 06:33:17 -05:00
Franck Nijhof bf482eee24
Extend state class sensor warnings with expected values (#87294) 2023-02-04 11:49:24 +01:00
Paulus Schoutsen fc38b4327f
Add support for multiple conversation agents (#87337)
* Add support for multiple conversation agents

* Lock initializing default agent

* Allow unsetting agent when never set
2023-02-03 23:35:29 -05:00
Franck Nijhof ca1a12898c
Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
Jan Bouwhuis 97de0c6d9a
Late review on added type hint MQTT fixture (#87342) 2023-02-03 22:22:52 +01:00
Raman Gupta 86cef27e1c
Rename zwave_js ws API command (#87336) 2023-02-03 15:26:20 -05:00
Erik Montnemery 6f097eecc3
Add WS commands thread/list_datasets, thread/get_dataset_tlv (#87333) 2023-02-03 15:22:31 -05:00
Klaas Schoute 3723241937
Add easyEnergy integration (#86266) 2023-02-03 19:56:17 +01:00
Jan Bouwhuis 3edfd10f2d
Add type hints for MQTT common helper and fixtures (#87065) 2023-02-03 19:27:46 +01:00
Erik Montnemery 4f94c7cab6
Add thread WS API (#87307) 2023-02-03 11:47:09 -05:00
Franck Nijhof 1b4f4edce2
Don't override icon in sensor group when device class is set (#87304) 2023-02-03 16:38:05 +01:00
Erik Montnemery 4d4fb2477d
Optionally update sensor units when unit system is changed (#83851) 2023-02-03 16:30:50 +01:00
epenet 923abdb02a
Add configurator to strict typing (#87279) 2023-02-03 16:02:55 +01:00
Erik Montnemery 527de22adf
Add thread dataset store (#87187)
* Add thread dataset store

* Address review comments

* Bump python-otbr-api to 1.0.3

* Remove stuff which we don't need yet
2023-02-03 09:47:41 -05:00
Franck Nijhof 1409b89af3
Sync input_select & select (#87255) 2023-02-03 15:43:17 +01:00
epenet 783e6fdd36
Ignore TAI8570 errors in onewire (#87154) 2023-02-03 09:11:54 -05:00
epenet 2433fc2bab
Fix volume state class in renault (#87280) 2023-02-03 09:01:25 -05:00
epenet 810367b757
Fix `can not` typo (#87254) 2023-02-03 11:37:16 +01:00
Marc Mueller 2c0c386ba7
Reduce required permissions for fritzbox_callmonitor (#87089)
* Test new FritzAuthorizationError

* Reduce required permissions
2023-02-02 21:13:53 -05:00
mkmer e9c10de9a9
Bump AIOSomecomfort to 0.0.6 (#87203)
* Bump to 0.0.5

* Bump aiosomecomfort to 0.0.6

* lower case aiosomecomfort

* Fix other bad imports....

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-02 16:45:49 -05:00
Karlie Meads e40a9822f5
Fix disabled condition within an automation action (#87213)
fixes undefined
2023-02-02 22:35:02 +01:00