Commit Graph

43 Commits

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