Commit Graph

64 Commits

Author SHA1 Message Date
Artur Pragacz
e090ddd761 Move entities to the end of devices in analytics payload (#153449) 2025-10-02 16:36:38 +02:00
Artur Pragacz
7c93d91bae Filter out service type devices in extended analytics (#153271) 2025-10-01 12:38:50 +02:00
Artur Pragacz
76cb4d123a Filter out empty integration type in extended analytics (#153188) 2025-09-29 15:18:15 +02:00
Artur Pragacz
d865fcf999 Do not include capabilities in extended analytics (#152900)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-09-24 11:58:44 -04:00
Artur Pragacz
0f904d418b Filter out integration types in extended analytics (#152874) 2025-09-24 12:32:30 +02:00
Artur Pragacz
403cd2d8ef Filter out custom integrations in extended analytics (#152820) 2025-09-24 10:24:42 +02:00
Artur Pragacz
29a42a8e58 Add analytics platform to automation (#152828) 2025-09-23 13:52:58 -04:00
Artur Pragacz
4305ea9b4c Create analytics platform (#151974) 2025-09-23 09:16:37 -04:00
Joakim Sørensen
8b984a2105 Remove ludeeus as a codeowner for analytics (#152558) 2025-09-18 22:08:22 +03:00
Artur Pragacz
6c29d5dc49 Add entity info to device database analytics (#151670) 2025-09-05 16:12:35 +02:00
Paulus Schoutsen
90e8d74fcd Add HA version to device analytics (#150877) 2025-08-21 09:44:17 +02:00
Paulus Schoutsen
3496494290 Remove filters from device analytics payload (#150771) 2025-08-17 16:15:02 +02:00
Erik Montnemery
0d7608f7c5 Deprecate DeviceEntry.suggested_area (#149730) 2025-08-01 10:34:34 +02:00
Paulus Schoutsen
8b8616182d Allow downloading a device analytics dump (#149376) 2025-07-24 17:27:02 +02:00
Joakim Sørensen
ad493e077e Submit legacy integrations for analytics (#145787)
* Submit legacy integrations for analytics

* adjustments
2025-06-02 10:29:17 +02:00
epenet
3472e0e370 Standardize homeassistant imports in component (a-b) (#136821) 2025-01-29 11:37:48 +01:00
epenet
b43379be7d Standardize helpers.xxx_registry imports (#136688)
Standardize registry imports
2025-01-28 08:48:34 +01:00
Robert Resch
380974eed4 Remove hassio from ALLOWED_USED_COMPONENTS and move some functions to helper (#127228)
* Remove hassio from ALLOWED_USED_COMPONENTS

* Move HassioServiceInfo to helpers.service_info

* Deprecate moved functions

* Add note about deprecation

* Fix tests

* Implement suggestion

* Typo

* Update pyproject.toml

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-30 12:43:41 +01:00
epenet
34a4372190 Use HassKey in analytics (#127089) 2024-09-30 11:44:27 +02:00
Michael
91c1e75c00 Get supervisor client in analytics only on systems with supervisor (#126375)
fix supervisor dependency
2024-09-21 11:29:28 +02:00
Mike Degatano
97d0d91d2c Use aiohasupervisor for addon info calls (#125926)
* Use aiohasupervisor for addon info calls

* Fix issue/repair tests in supervisor

* Fixes from feedback
2024-09-17 23:22:35 +02:00
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