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
epenet
1128041899
Add type hints to integration tests (zwave_js) ( #88311 )
2023-02-18 14:59:26 +01:00
Franck Nijhof
31061b9f35
Fix snapshots testing repr 0 value IntFlags ( #88379 )
2023-02-18 07:38:19 -06:00
Erik Montnemery
83e5bf7ae8
Use entity_sources to determine integration in recorder platforms ( #88382 )
2023-02-18 07:21:41 -06:00
Guido Schmitz
1279868bf5
Bump devolo_plc_api to 1.2.0 ( #88348 )
2023-02-18 13:34:26 +01:00
Jon Caruana
e5e551f4ea
Code quality/test improvement to available attributes of LiteJet ( #86683 )
...
* PR feedback, and add related tests.
* PR feedback.
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-18 12:43:32 +01:00
J. Nick Koston
289bab6f87
Make recorder platform attribute exclude integration aware ( #88357 )
2023-02-18 10:08:59 +01:00
Franck Nijhof
1e05697080
Enable Ruff B007 ( #88356 )
...
* Enable Ruff B007
* Adjust existing cases
2023-02-17 21:08:18 -05:00
modrisb
9fd35d53e7
Change core return code processing ( #88326 )
...
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-17 20:56:02 -05:00
Franck Nijhof
6891eb7ed1
Add support for snapshot testing ( #88323 )
...
* Add support for snapshot testing
* Use snapshots in Elgato diagnostics test
* Use snapshots in Elgato sensor test
* Fix flake8 warning
* Slightly improve serialized output
* Remove snapshot naming in elgato sensor tests
* Improve snapshoting of via_device_id in device registry item
* Update pylint typehints plugin for snapshot fixture typing
* Use snapshots in Elgato configflow test
* Use snapshots in Bluetooth repair issue tests
2023-02-17 16:35:55 -05:00
Michael Hansen
325674ec44
Only expose default cloud domains in Assist default agent ( #88274 )
...
* Only expose default cloud domains in default agent
* Copy exposed domain list to conversation
* Implement requested changes
* Add test for exposed devices/areas
2023-02-17 16:19:22 -05:00
J. Nick Koston
331102e592
Dismiss discoveries when the underlying device disappears ( #88340 )
...
* Implement discovery removals
Bluetooth, HomeKit, SSDP, and Zeroconf now implement
dismissing discoveries when the underlying discovered
device disappears
* cover
* add zeroconf test
* cover
* cover bluetooth
* fix rediscover
2023-02-17 15:51:19 -05:00
Paulus Schoutsen
3a32d2bdcb
Add background tasks to config entries ( #88335 )
...
* Use a set for config entries task tracking
* Allow adding background tasks to config entries
* Add tests for config entry add tasks
* Update docstrings on core create task
* Migrate roon and august
* Use in more places
* Guard for None
2023-02-17 13:50:05 -05:00
epenet
a16e298599
Adjust json imports in tests ( #88248 )
2023-02-17 19:13:48 +01:00
epenet
7427d4f323
Add type hints to integration tests (zha) ( #88309 )
2023-02-17 18:54:26 +01:00
epenet
185cd61cbd
Add type hints to integration tests (recorder) ( #88313 )
2023-02-17 18:50:09 +01:00
epenet
0a80ac19bc
Add type hints to integration tests (part 18) ( #88174 )
2023-02-17 18:45:48 +01:00
Paulus Schoutsen
f465561536
Fix dangling task for cast ( #88285 )
2023-02-17 18:43:40 +01:00
dcmeglio
da046f93f4
Add additional characteristics for Airversa Homekit Air Purifiers ( #85660 )
2023-02-17 15:55:31 +00:00
epenet
5b80b1f55a
Add type hints to integration tests (part 25) ( #88308 )
2023-02-17 16:52:28 +01:00
epenet
9a5f88f55f
Add type hints to integration tests (part 23) ( #88235 )
2023-02-17 16:40:46 +01:00
epenet
aa50096a31
Add type hints to integration tests (part 24) ( #88307 )
2023-02-17 16:34:53 +01:00
Erik Montnemery
9989a4787b
Fix recorder platform tests ( #88330 )
2023-02-17 08:22:15 -06:00
Erik Montnemery
273d289e03
Fix sleepiq test to not contact the API ( #88315 )
...
* Fix sleepiq test to not contact the API
* Add an autosue fixture for config entry setup
2023-02-17 12:32:27 +01:00
J. Nick Koston
b9f29c27ab
Cleanup stale recorder code ( #88275 )
...
- Removes dead commit function
- Small cleanup to debug handling in execute
2023-02-16 23:12:11 -05:00
Paulus Schoutsen
6cab27f378
Add support for background tasks in HA ( #88265 )
...
* Add support for background tasks
* make name mandatory for background tasks
* Update docstring
* async_create_background_task
* Grammar
2023-02-16 20:39:29 -05:00
J. Nick Koston
2ce631733a
Switch ld2410_ble to use no_devices_found ( #88270 )
2023-02-16 22:52:57 +01:00
J. Nick Koston
a059cd7f80
Switch keymitt_ble to use no_devices_found ( #88271 )
...
* Switch keymitt_ble to use no_devices_found
* Switch keymitt_ble to use no_devices_found
2023-02-16 22:52:29 +01:00
J. Nick Koston
06b1bf9c92
Switch led_ble to use no_devices_found ( #88269 )
2023-02-16 22:51:57 +01:00
J. Nick Koston
ffa7cac38e
Switch switchbot to use no_devices_found ( #88268 )
2023-02-16 22:51:27 +01:00
J. Nick Koston
b2a1df19a0
Switch yalexs_ble to use no_devices_found ( #88267 )
2023-02-16 22:50:49 +01:00
epenet
3873484849
Refactor json tests to align with new code ( #88247 )
...
* Refactor json tests to align with new code
* Use tmp_path
2023-02-16 21:34:19 +01:00
Michael Hansen
dc30210237
Use blocking in intent service calls and verify results ( #88035 )
...
* Use blocking in service calls and verify result
* Block for 2 seconds and update states after
* Small timeout in service call to allow exceptions
* Move sun test
2023-02-16 14:01:41 -05:00
epenet
8c821c8969
Add JSON support to load_fixture ( #88076 )
...
* Add JSON support to load_fixture
* More tests
* Remove lru_cache on load_json
2023-02-16 19:40:47 +01:00
Paulus Schoutsen
bc2b35765e
Stop processing when we hit bad encryption in mobile app ( #88150 )
...
* Stop processing when we hit bad encryption
* Accept webhook payload that is a list
* Rename functions because we import them
* Revert a debug thing
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-16 13:05:16 -05:00
Jan Bouwhuis
57738fbb8c
Replace deprecated SSLContext constant PROTOCOL_TLS in mqtt ( #88214 )
...
Replace deprecated SSLContext constants
2023-02-16 13:01:28 -05:00
J. Nick Koston
c79157208b
Add python 3.11 to the CI ( #88038 )
...
* Remove profiler.memory service
guppy3 is not python3.11 compat
https://github.com/zhuyifei1999/guppy3/issues/41
This service will return if and when guppy3 becomes
python3.11 compat
* squash
* temp remove
* temp dump tests
* temp dump tests
* drop a few more to get a run
* drop a few more to get a run
* Account for changed python3.11 enum.IntFlag behavior in zha
There may be additional changes needed, but I could only
see what needed to be updated based on the tests
* merge
* restore
* restore
* legacy value
* tweak a bit for the python 3.11 timings
* block cchardet
* conditional
* adjust est
* test
* not yet
* tweak
* give a little leeway for timing
* Fix otbr tests
* Increase database test timeout
It looks like we need a little more time to run
with the addiitonal tests in #87019
* Increase database test timeout
It looks like we need a little more time to run
with the addiitonal tests in #87019
* Fix aprs tests with python 3.11
* merge fix
* hints
* Update homeassistant/package_constraints.txt
* Update script/gen_requirements_all.py
* Constrain uamqp for Python 3.10 only
* Bump vulcan-api to 2.3.0
see https://github.com/kapi2289/vulcan-api/pull/126
see https://github.com/home-assistant/core/pull/88038
see https://github.com/home-assistant/docker/pull/260
* add ban
* Bump python-matter-server to 2.1.1
* revert
* Update tests/asyncio_legacy.py
---------
Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2023-02-16 12:38:32 -05:00
J. Nick Koston
d2277fa6db
Fix restore of MQTT subscriptions from reload ( #88220 )
2023-02-16 11:14:26 -06:00
epenet
88cfbf6a34
Add type hints to integration tests (part 22) ( #88234 )
2023-02-16 14:08:03 +01:00
epenet
ba23816a0c
Inverse json import logic ( #88099 )
...
* Fix helpers and util
* Adjust components
* Move back errors
* Add report
* mypy
* mypy
* Assert deprecation messages
* Move test_json_loads_object
* Adjust tests
* Fix rebase
* Adjust pylint plugin
* Fix plugin
* Adjust references
* Adjust backup tests
2023-02-16 11:37:57 +01:00
epenet
dab8557951
Add type hints to integration tests (part 21) ( #88233 )
2023-02-16 11:15:26 +01:00
Brandon Rothweiler
0748e12341
Fix capitalization of OwnTone integration ( #88219 )
2023-02-16 10:16:32 +01:00
J. Nick Koston
c83ea297b5
Refactor zeroconf task handling ( #88204 )
...
* Refactor zeroconf task handling
- Avoid the need to create tasks for most callbacks
- Fixes the untracked task that could get unexpectedly GCed
* be consistant
* be consistant
* fix zeroconf tests
* runtime
* Revert "runtime"
This reverts commit 19e6b61837
.
* precalc
* refactor
* tweak
* update tests
2023-02-15 21:44:11 -05:00
J. Nick Koston
c0e22be7a8
Fix allowing identical flows to be created before startup ( #88213 )
...
The check for identical flows only worked after
the start event. We now check against pending
flows as well
If startup took a while we could end up
with quite the thundering herd
2023-02-15 21:36:00 -05:00
Franck Nijhof
d3ed8de232
Update Ruff to v0.0.247 ( #88210 )
...
* Update Ruff to v0.0.247
* Fix new found violations
2023-02-15 16:46:03 -05:00
Marcel van der Veldt
dfe0ededa0
Bump python-matter-server to 2.1.0 ( #88192 )
...
* Bump python-matter-server to 2.1.0
* Fix tests
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-15 13:23:03 -05:00
J. Nick Koston
c8b827b46b
Fix aprs tests with python 3.11 ( #88189 )
...
* Fix aprs tests with python 3.11
* hints
2023-02-15 13:03:48 -05:00
Erik Montnemery
80e2f96097
Add WS command thread/delete_dataset ( #88077 )
...
* Add WS command thread/delete_dataset
* Return not_allowed when trying to delete the preferred dataset
2023-02-15 12:55:10 -05:00
J. Nick Koston
4221433ca6
Account for changed python3.11 enum.IntFlag 0 behavior in zha ( #88144 )
2023-02-15 11:40:48 -06:00
epenet
80ee196fd8
Add type hints to integration tests (part 19) ( #88178 )
2023-02-15 18:07:40 +01:00
Jc2k
f5a05c1bd2
Support HomeKit Controller Thread Provisioning ( #87809 )
2023-02-15 16:41:07 +00:00
Jan Bouwhuis
03e9dff327
Allow resetting MQTT climate attributes and ignore empty values ( #87936 )
...
Allow reseting MQTT climate attributes
2023-02-15 16:31:49 +01:00
J. Nick Koston
61539686a4
Disable profiler.memory service with python 3.11 ( #88136 )
2023-02-15 16:20:47 +01:00
Erik Montnemery
6254200b37
Fix otbr tests ( #88184 )
2023-02-15 16:19:46 +01:00
mkmer
2af4d2152b
Honeywell disable detergent level by default ( #88040 )
...
* Disable fill by default
* Fix tests
* use TANK_FILL.get
* Remove None from attribute get
add reload to sensor test
* Typing
fix iteration error
2023-02-15 16:01:20 +01:00
Gertjan
66ba0cb1d3
Fixed float number validation in sensor component ( #88074 )
2023-02-15 15:53:44 +01:00
epenet
3a9adacdde
Add type hints to integration tests (part 20) ( #88179 )
2023-02-15 15:23:34 +01:00
Erik Montnemery
8613d60c5e
Add WS command for discovering Thread routers ( #88021 )
...
* Add WS command for discovering Thread routers
* Fix type annotations
* Mock zeroconf in tests
* Key discovery by external MAC address
* Add tests
* Include hostname in data, allow missing fields
* Fix typo
* Include server instead of hostname
2023-02-15 15:15:29 +01:00
epenet
c7fc90f8a0
Adjust imports in rflink test_init ( #88177 )
2023-02-15 15:11:22 +01:00
Franck Nijhof
f67ebcade1
Enable Ruff SIM201 ( #88171 )
2023-02-15 14:43:02 +01:00
Franck Nijhof
ed79265843
Enable Ruff PT006 ( #88165 )
...
* Enable Ruff PT006
* Adjust existing cases
* Fix tests
* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
J. Nick Koston
6f38bc274a
Fix netatmo with python 3.11 ( #88093 )
2023-02-15 14:02:33 +01:00
epenet
b21bf8763e
Fix mobile app regression accepting sensor states ( #88164 )
...
* Fix mobile app regression accepting sensor states
* Adjust tests
2023-02-15 07:17:19 -05:00
Franck Nijhof
9030ca05b1
Enable Ruff SIM118 ( #87772 )
2023-02-15 12:39:12 +01:00
epenet
2cdc741900
Add type hints to integration tests (part 17) ( #88163 )
2023-02-15 11:14:04 +01:00
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