Commit graph

61 commits

Author SHA1 Message Date
epenet
30bf0634fe
Add per-file-ignore to pylint () 2023-01-22 17:26:24 +01:00
Michael
72d3fa6d89
Replace the usage of unit constants by enumerations in Tests [o-r] () 2023-01-15 14:50:24 +01:00
Erik Montnemery
587381440f
Fix repairing datetime precision for PostgreSQL () 2022-12-05 22:33:06 -05:00
Erik Montnemery
f869ce9d06
Validate common statistics DB schema errors on start ()
* Validate common statistics db schema errors on start

* Fix test

* Add tests

* Adjust tests

* Disable statistics schema validation in tests

* Update after rebase
2022-11-29 10:16:08 +01:00
Erik Montnemery
a038314d8b
Add display unit to WS recorder/get_statistics_metadata () 2022-11-28 13:46:57 -05:00
Erik Montnemery
607a0e7697
Reduce size of get_statistics_during_period WS API response () 2022-11-16 17:36:30 +01:00
Michael
8175dab7ab
Add week period to recorder statistics api ()
* add week period to get statistics api

* add test
2022-10-25 20:07:28 +02:00
Erik Montnemery
31a787558f
Ensure recorder test fixture is setup before hass fixture ()
* Ensure recorder test fixture is setup before hass fixture

* Adjust more tests
2022-10-19 07:58:47 +02:00
Erik Montnemery
2de273500e
Remove state_unit_of_measurement from metadata DB table ()
* Remove state_unit_of_measurement from metadata DB table

* Adjust test
2022-10-01 18:55:00 +02:00
Erik Montnemery
bc2dffabc4
Improve naming of units used in statistics () 2022-09-30 08:38:44 +02:00
Erik Montnemery
cd6697615f
Validate units when importing statistics () 2022-09-21 12:08:53 -04:00
Erik Montnemery
dae00c70de
Allow selecting display unit when fetching statistics () 2022-09-20 17:43:57 -04:00
Erik Montnemery
dd20a7ea62
Display statistics in the source's unit () 2022-09-15 12:01:24 -04:00
Erik Montnemery
008ac8d10d
Improve statistics metadata WS API () 2022-08-31 11:30:45 +02:00
Erik Montnemery
f61edf0778
Fix updating of statistics metadata name ()
* Fix updating of statistics metadata name

* Fix test

* Test renaming
2022-08-23 17:51:17 +02:00
Erik Montnemery
fd6ffef52f
Support non-live database migration ()
* Support non-live database migration

* Tweak startup order, add test

* Address review comments

* Fix typo

* Clarify comment about promoting dependencies

* Tweak

* Fix merge mistake

* Fix some tests

* Fix additional test

* Fix additional test

* Adjust tests

* Improve test coverage
2022-07-22 15:11:34 +02:00
Erik Montnemery
606d544157
Use recorder get_instance function to improve typing () 2022-07-22 11:58:26 +02:00
Thibault Cohen
1d7d2875e1
Add websocket command recorder/import_statistics ()
* Expose ws_add_external_statistics in websocket API

* Refactor

* Add tests

* Improve test coverage

Co-authored-by: Thibault Cohen <titilambert@users.noreply.github.com>
Co-authored-by: Erik <erik@montnemery.com>
2022-07-21 12:36:49 +02:00
Erik Montnemery
5f2b4001f3
Separate recorder database schema from other classes ()
* Separate recorder database schema from other classes

* fix logbook imports

* migrate new tests

* few more

* last one

* fix merge

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-06-07 14:41:43 +02:00
J. Nick Koston
c66b000d34
Reduce branching in generated lambda_stmts () 2022-06-05 21:13:31 -07:00
Erik Montnemery
23bd64b7a2
Prevent duplication of statistics metadata ()
* Prevent duplication of statistics metadata

* Add models_schema_28.py

* Handle entity renaming as a recorder job

* Improve tests
2022-05-24 15:34:46 +02:00
J. Nick Koston
7c9c0e911a
Move do_adhoc_statistics to recorder test helpers () 2022-05-08 12:45:57 -07:00
J. Nick Koston
eb77f8db85
Complete strict typing for recorder ()
* Complete strict typing for recorder

* update tests

* Update tests/components/recorder/test_migrate.py

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

* Update tests/components/recorder/test_migrate.py

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

* Remove the asserts

* remove ignore comments

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-05-04 12:22:50 -05:00
J. Nick Koston
29bda196b5
Break apart recorder into tasks and core modules () 2022-05-02 21:53:56 -07:00
J. Nick Koston
ff48720c6a
Remove db schema v23 stats migration tests () 2022-05-01 16:11:11 -07:00
Erik Montnemery
28ebab9c5a
Simplify waiting for recorder in tests () 2022-04-25 12:04:47 +02:00
Erik Montnemery
982e314de6
Use recorder_mock in tests ()
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-04-22 19:29:44 -10:00
J. Nick Koston
3737b58e85
Avoid fetching metadata multiple times during stat compile () 2022-04-22 00:25:42 -10:00
J. Nick Koston
89807f0d2d
Reduce the number of queries needed to compile statistics ()
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-04-15 09:13:29 -07:00
Erik Montnemery
61cc8e32f3
Include has_mean + has_sum in statistics metadata WS response ()
* Include has_mean + has_sum in statistics metadata WS response

* Don't include has_mean/has_sum in history/list_statistic_ids

* Adjust tests

* Do include has_mean/has_sum in history/list_statistic_ids
2022-03-24 10:12:01 +01:00
Erik Montnemery
b5c5da96ac
Add WS API to adjust incorrect energy statistics ()
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-03-22 15:18:30 -07:00
Erik Montnemery
cf4033b1bc
Simplify time zone setting in tests ()
* Simplify timezone setting in tests

* Fix typo

* Adjust caldav tests

* Adjust input_datetime tests

* Adjust time_date tests

* Adjust tod tests

* Adjust helper tests

* Adjust recorder tests

* Adjust risco tests

* Adjust aemet tests

* Adjust flux tests

* Adjust forecast_solar tests

* Revert unnecessary change in forecast_solar test

* Adjust climacell tests

* Adjust google tests

* Adjust sensor tests

* Adjust sonarr tests

* Adjust template tests

* Adjust zodiac tests

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-03-20 10:25:15 +01:00
Erik Montnemery
910b1f1ec8
Speed up deletion of duplicated statistics () 2022-02-07 09:11:52 -08:00
Erik Montnemery
ac7662c82d
Remove limit of amount of duplicated statistics () 2022-02-04 14:49:45 +01:00
Erik Montnemery
2f8e65a9b0
Store deleted duplicated statistics in .storage () 2021-12-22 14:27:56 +01:00
Erik Montnemery
48b3d6e1c0
Save original + duplicate pairs when deleting duplicated statistics () 2021-12-21 15:24:36 +01:00
Erik Montnemery
cab2a74b5f
Don't pollute config dir with deleted duplicated statistics () 2021-12-21 14:27:35 +01:00
Erik Montnemery
474ef54477
Fix threading error in recorder tests () 2021-12-17 13:17:48 +01:00
Erik Montnemery
bceeaec2f8
Remove duplicated statistics rows ()
* Remove duplicated statistics

* Fix misleading docstring

* Pylint knows best

* Correct test

* Oops

* Prevent insertion of duplicated statistics

* Tweak

* pylint

* Add models_schema_23.py

* Tweak
2021-12-13 14:15:36 +01:00
Erik Montnemery
dc5888ab4a
Correct recorder.statistics.get_last_statistics () 2021-12-10 10:09:29 -08:00
Erik Montnemery
bcd9f3c05f
Correct end time for monthly statistics summary ()
* Correct end time for monthly statistics summary

* Add tests
2021-11-12 15:01:40 +01:00
Erik Montnemery
ac5e32d648
Corrections for external statistics () 2021-10-26 14:05:45 +02:00
Erik Montnemery
f594bc353b
Add support for external statistics ()
* Support external statistics

* Update tests

* Lint

* Adjust code after rebase

* Separate external statistic_id with :, add name to metadata

* Adjust tests

* Simplify get_metadata_with_session

* Address review comments

* Allow updating external statistics

* Validate input

* Adjust tests after rebase

* Pylint

* Adjust tests

* Improve test coverage
2021-10-26 10:26:50 +02:00
Erik Montnemery
40ecf22bac
Remove automatic splitting of net meters from statistics () 2021-09-29 17:20:17 +02:00
Erik Montnemery
92253f5192
Minor refactoring of periodic statistics () 2021-09-22 13:31:33 -07:00
Erik Montnemery
8c5efafdd8
Add 5-minute statistics for sensors ()
* Add 5-minute statistics for sensors

* Address pylint issues

* Black

* Apply suggestion from code review

* Apply suggestions from code review

* Improve tests
2021-09-16 10:57:15 +02:00
Erik Montnemery
d2a9f7904a
Include end time of statistics data points in API response ()
* Include end time of statistics data points in API response

* Correct typing

* Update tests
2021-09-13 10:02:24 +02:00
Erik Montnemery
80fd330479
Add sum_decrease and sum_increase statistics () 2021-09-08 23:35:53 -07:00
Erik Montnemery
27764e9985
Fix handling of imperial units in long term statistics () 2021-09-08 08:08:48 -07:00
Erik Montnemery
22e6ddf8df
Do not let one bad statistic spoil the bunch () 2021-09-08 07:55:40 -07:00