Commit Graph

43 Commits (d4d30f1c46486c5c2a334b39992f3f2efb576581)

Author SHA1 Message Date
Joost Lekkerkerker 690ba103ed
Improve lists in integrations [A] (#113006)
* Use list comprehension [A]

* Use list comprehension [A]

* Update homeassistant/components/aws/notify.py
2024-03-11 16:17:44 +01:00
Paulus Schoutsen f416d67d21
Remove built-in support for import_executor in manifest (#112725) 2024-03-08 12:02:32 -05:00
Marc Mueller ff3a801936
Add empty line after module docstring [a-d] (#112697) 2024-03-08 14:51:32 +01:00
J. Nick Koston 4ea1c5cc3c
Add support for importing integrations in the executor (#111336)
* Add support for pre-imports at setup time

alternative solution to #111331

* refactor

* refactor

* refactor

* mark >1.0s integrations

* no point in executor if already loaded

* no point in executor if already loaded

* cleanup

* cleanup

* two more

* one more

* analytics loads a lot more integrations

* cloud

* debug

* psutil, hardwre

* try zha

* Update homeassistant/setup.py

* await

* comments

* coverage

* coverage

* coverage

* move logic to loader

* move logic to loader

* preserve comments
2024-02-26 14:49:43 -05:00
J. Nick Koston 66f189ef26
Small performance improvements to collecting analytics (#110662)
- Use async_entity_ids_count instead of async_all

I also tried to make the code wrap a bit less but
I didn't want to refactor it to much in this PR

This one blocks the event loop for just a bit so there
are probably some more parts that could be optimized

`2024-02-15 07:17:30.034 WARNING (MainThread) [asyncio] Executing <Task
pending name='analytics schedule' coro=<Analytics.send_analytics()
running at
/usr/src/homeassistant/homeassistant/components/analytics/analytics.py:220>
wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel()
at /usr/local/lib/python3.12/asyncio/futures.py:387, Task.task_wakeup()]
created at /usr/local/lib/python3.12/asyncio/base_events.py:447>
cb=[set.remove()] created at
/usr/src/homeassistant/homeassistant/core.py:598> took 0.335 seconds`
2024-02-16 12:23:11 +01:00
Marc Mueller c82933175d
Use builtin TimeoutError [a-d] (#109678) 2024-02-05 11:31:33 +01:00
J. Nick Koston 262483f3f6
Replace async_timeout with asyncio.timeout A-B (#98415) 2023-08-15 10:29:28 +02:00
Franck Nijhof 868a5f377f
Ruff: isort don't split imports based on trailing comma (#98162) 2023-08-10 14:27:03 +02:00
Joakim Sørensen 4d4e7522f4
Adjust the analytics collector to only report configured integrations (#95246) 2023-06-27 12:08:51 +02:00
Erik Montnemery d4462829f5
Add CONFIG_SCHEMA to analytics (#93598) 2023-05-26 16:29:32 +02:00
epenet e39f0320df
Fix lingering timers in analytics (#91363) 2023-04-14 06:37:22 +02:00
epenet c01b1eb013
Adjust async_track_time_interval name argument (#90838)
Adjust async_track_time_interval naming
2023-04-05 10:58:02 -04:00
J. Nick Koston 02ef7d445d
Allow passing an optional name to async_track_time_interval (#90244)
* Allow passing an optional name to async_track_time_interval

This is the same idea as passing a name to asyncio.create_task which
makes it easier to track down bugs

* more

* short

* still cannot find it

* add a few more

* test
2023-03-25 10:11:14 -04: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
Erik Montnemery 231aad7a68
Sort manifests 1 (#87022) 2023-02-08 20:29:44 +01:00
Erik Montnemery 46500beefc
Enable strict typing of analytics (#83119) 2022-12-02 14:05:08 +01:00
Erik Montnemery 4edebacba5
Add type annotations to some hassio API (#83103)
* Add type annotations to some hassio API

* Adjust callers
2022-12-02 11:18:49 +01:00
Joakim Sørensen 10e7d6e04d
Add supervisor key to homassistant_alerts (#82862) 2022-11-29 13:22:36 -05:00
epenet 5442d6af01
Improve msg type hint in websocket commands (#80530) 2022-10-18 16:41:17 +02:00
Erik Montnemery cce23683f1
Add additional integration_type options for integration manifests (#79193)
* Add additional integration_type options for integration manifests

* Rename integration_type internal to system
2022-09-28 14:17:39 +02:00
epenet 7eb5e6d623
Import automation constants from root (#78238) 2022-09-11 21:11:51 +02:00
J. Nick Koston 61cc9f5288
Consolidate executor jobs when loading integration manifests (#75176) 2022-07-14 13:06:08 -07:00
epenet 16900dcef1
Make Store a generic class (#74617) 2022-07-09 22:32:57 +02:00
Franck Nijhof 5f44d0f8f9
Clean up accessing storage.Store helper via hass (#72009) 2022-05-17 18:45:57 +02:00
epenet ecd43f391f
Prettify json (manifest.json) (#68886) 2022-03-30 10:56:37 +02:00
Joakim Sørensen 0802b64d95
Add boolean for certificate usage to analytics (#68254)
* Add boolean for certificate usage to analytics

* Mock hass.http
2022-03-22 14:49:43 +01:00
Franck Nijhof 3afadf8adb
Revert "Block peer certs on supervisor" (#67104) 2022-02-23 12:32:07 +01:00
Paulus Schoutsen 938b64081b
Block peer certs on supervisor (#66837)
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
Co-authored-by: Mike Degatano <michael.degatano@gmail.com>
2022-02-22 13:59:40 -08:00
J. Nick Koston 10d6247fee
Bump to aiohttp 3.8.0 (#58974) 2021-11-04 10:07:50 -05:00
Erik Montnemery efd15344e9
Enable basic type checking for analytics (#54928) 2021-08-21 11:46:28 +02:00
Ville Skyttä 939fde0a50
ConfigType and async_setup/setup type hint improvements (#54739) 2021-08-18 13:22:05 +02:00
Joakim Sørensen 1c38e9168c
Add base energy analytics (#53855) 2021-08-02 09:46:07 -07:00
Ville Skyttä 470f2dd73f
Upgrade pyupgrade to 2.21.2, apply its changes (#52987) 2021-07-19 10:46:09 +02:00
Joakim Sørensen fb281c6bde
Add arch to payload (#51330) 2021-06-01 15:09:23 +02:00
Joakim Sørensen b7184b669f
Add onboarded key to analytics WS command (#49751) 2021-04-29 11:11:23 +02:00
Joakim Sørensen 296dc9303f
Add OS version and board type to analytics (#49725) 2021-04-28 19:13:09 +02:00
Joakim Sørensen 019484f148
Use dev endpoint for dev installations (#49597) 2021-04-23 20:57:10 +02:00
Franck Nijhof 055cdc64c0
Add support for IoT class in manifest (#46935) 2021-04-15 10:21:38 +02:00
Joakim Sørensen 191c01a611
Add custom integrations to analytics (#48753) 2021-04-06 19:33:08 -07:00
Joakim Sørensen 89f2f458d2
Generate a seperate UUID for the analytics integration (#48742) 2021-04-07 02:34:49 +02:00
Joakim Sørensen f98ce2dd71
Add myself as codeowner to analytics (#48498) 2021-03-30 11:40:11 +02:00
J. Nick Koston f8265f44be
Include platform only integrations in analytics (#48493) 2021-03-30 10:46:02 +02:00
Joakim Sørensen 09c51da3a2
Add analytics integration (#48256)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-29 17:20:11 -07:00