Commit Graph

549 Commits (1a4cac95a13bb3faf658ffc795642c58c5e31d63)

Author SHA1 Message Date
epenet 9eb06fd59d
Simplify sensor state validation (#85513) 2023-01-10 11:52:29 +01:00
Erik Montnemery 72c9ca2567
Update sensor test (#85522) 2023-01-09 14:26:52 +01:00
Franck Nijhof f8fa676ac8
Do not validate device classes when entity state is unknown (#84860) 2022-12-30 13:07:49 -05:00
Franck Nijhof c832982d94
Add sensor unit of measurement validation for device classes (#84366) 2022-12-21 16:14:11 +01:00
epenet f4c13645d2
Add support for CCF volume unit (#84029) 2022-12-19 14:57:04 +01:00
epenet 0c9a78fb8e
Use tuple in test parametrization (#83379) 2022-12-06 09:46:10 +01:00
Franck Nijhof 762eb57636
Validate state class and unit of measurement for non-numeric sensors (#83344)
* Validate state class and unit of measurement for non-numeric sensors

* Remove duration

* Fix rest tests
2022-12-06 00:07:02 +01:00
Erik Montnemery 67875b99a3
Refactor support for integrations to drop custom unit conversion (#83228)
* Refactor support for integrations to drop custom unit conversion

* Fix lying comment

* Address review comment
2022-12-05 16:12:37 +01:00
Franck Nijhof ce00f093d6
Add enum device_class and state options property to sensor entities (#82489) 2022-12-02 09:11:15 +01:00
Erik Montnemery a038314d8b
Add display unit to WS recorder/get_statistics_metadata (#82870) 2022-11-28 13:46:57 -05:00
Erik Montnemery b6586d5c34
Align number and sensor device classes (#81909)
* Align number and sensor device classes

* Add tests

* Tweak tests
2022-11-17 14:00:28 +01:00
Erik Montnemery 607a0e7697
Reduce size of get_statistics_during_period WS API response (#82131) 2022-11-16 17:36:30 +01:00
Erik Montnemery 7aa4654eb4
Improve docstring for sensor testcase (#81875) 2022-11-09 23:59:58 +01:00
Erik Montnemery a4310d2085
Allow integrations to drop custom unit conversion (#81005)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-10-26 15:11:28 -04:00
Erik Montnemery 352976fd1d
Add rules for converting volumes (#80951)
* Add rules for converting volumes

* Use SensorDeviceClass in new tests

* Tweak tests

* Update flo tests

* Update sensor tests
2022-10-26 10:29:33 +02:00
Erik Montnemery 3d3349240f
Don't trigger statistics issues when sensor units are equivalent (#80099) 2022-10-25 09:50:01 +02:00
Erik Montnemery 6979cd95b0
Add suggested_unit_of_measurement attribute to sensors (#80638)
* Add suggested_unit_of_measurement attribute to sensors

* Lazy calculation of initial entity options

* Add type alias for entity options

* Small tweak

* Add tests

* Store suggested_unit_of_measurement in its own option key

* Adapt to renaming of IMPERIAL_SYSTEM

* Fix rebase mistakes

* Apply suggestions from code review

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-24 16:08:02 +02:00
epenet e84e5f134e
Use US_CUSTOMARY_SYSTEM in tests (#80658)
* Use US_CUSTOMARY_SYSTEM in tests

* Don't update test_unit_system
2022-10-20 15:42:23 +02:00
Erik Montnemery 31a787558f
Ensure recorder test fixture is setup before hass fixture (#80528)
* Ensure recorder test fixture is setup before hass fixture

* Adjust more tests
2022-10-19 07:58:47 +02:00
Erik Montnemery 918243b7c8
Improve some sensor statistics tests (#80087) 2022-10-11 08:57:08 -04:00
Erik Montnemery a391b8dd9d
Support correcting sensor volume unit (#80081) 2022-10-11 13:51:28 +02:00
Erik Montnemery 69d935b7bd
Teach long term statistics that unit 'rpm' is same as 'RPM' (#80012)
* Teach long term statistics that unit 'rpm' is same as 'RPM'

* Add tests
2022-10-11 10:32:01 +02:00
Erik Montnemery aa5575ba65
Only validate sensors in sensor.recorder.validate_statistics (#79749) 2022-10-06 21:17:46 +02:00
Erik Montnemery 0a59d37e62
Correct how unit used for statistics is determined (#79725) 2022-10-06 14:01:54 -04:00
Erik Montnemery e93deaa8aa
Simplify long term statistics by always supporting unit conversion (#79557) 2022-10-03 21:50:05 -04:00
Erik Montnemery a2e3978d53
Don't normalize units of long term statistics (#79320)
* Don't normalize units of long term statistics

* Update statistics.py
2022-10-03 21:42:44 +02:00
Erik Montnemery 2de273500e
Remove state_unit_of_measurement from metadata DB table (#79370)
* 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 (#79276) 2022-09-30 08:38:44 +02:00
epenet 5389ff3253
Add new weight device class (#79185) 2022-09-28 12:13:49 +02:00
Erik Montnemery 9084beda32
Keep storing statistics for sensors which change device class (#79155) 2022-09-27 14:33:28 -04:00
epenet 12e4d18038
Add volume to SensorDeviceClass (#77960)
* Add volume to SensorDeviceClass

* Adjust recorder

* Adjust tests

* Adjust sensor UNIT_CONVERTERS

* Adjust recorder

* Update strings.json
2022-09-27 19:37:52 +02:00
epenet 7c448416e1
Add speed to SensorDeviceClass (#77953)
* Add speed to SensorDeviceClass

* Adjust recorder

* Adjust tests

* Adjust sensor UNIT_CONVERTERS

* Add tests

* Add websocket tests

* Update strings.json
2022-09-27 17:19:34 +01:00
epenet bfcc18e5b8
Add distance to SensorDeviceClass (#77951)
* Add distance to SensorDeviceClass

* Adjust recorder

* Adjust tests

* Adjust recorder

* Update __init__.py

* Update test_websocket_api.py

* Update test_websocket_api.py

* Update test_websocket_api.py

* Update strings.json

* Fix tests

* Adjust docstring
2022-09-27 15:34:00 +01:00
Erik Montnemery 5bcef1c7ce
Indicate in statistics issues when units can be converted (#79121) 2022-09-27 13:51:38 +02:00
Erik Montnemery dae00c70de
Allow selecting display unit when fetching statistics (#78578) 2022-09-20 17:43:57 -04:00
Erik Montnemery dd20a7ea62
Display statistics in the source's unit (#78031) 2022-09-15 12:01:24 -04:00
Ernst Klamer db4391adff
Add device class moisture (#77666) 2022-09-01 11:47:47 -04:00
Erik Montnemery 008ac8d10d
Improve statistics metadata WS API (#77209) 2022-08-31 11:30:45 +02:00
Erik Montnemery 4655ed995e
Fix resetting of attributes in EntityRegistry.async_get_or_create (#77516)
* Fix resetting of attributes in EntityRegistry.async_get_or_create

* Fix typing

* Fix resetting config entry

* Improve test

* Update tests
2022-08-30 21:07:50 +02:00
Erik Montnemery 2497ff5a39
Add energy and gas sensors to demo integration (#77206) 2022-08-24 11:09:23 +02:00
Erik Montnemery 606d544157
Use recorder get_instance function to improve typing (#75567) 2022-07-22 11:58:26 +02:00
Franck Nijhof 7adb0f0ef5
Custom component -> Custom integration (#75404) 2022-07-18 22:10:22 +02:00
Paulus Schoutsen b62c0dcb32
Guard invalid data sensor significant change (#74369) 2022-07-03 22:03:13 -07:00
Erik Montnemery baa810aabb
Improve warnings for datetime and date sensors with invalid states (#73598) 2022-06-17 12:17:13 +02:00
Erik Montnemery 5f2b4001f3
Separate recorder database schema from other classes (#72977)
* 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
Erik Montnemery edd7a3427c
Remove support for databases without ROW_NUMBER (#72092) 2022-05-18 21:52:38 -05:00
J. Nick Koston 7c9c0e911a
Move do_adhoc_statistics to recorder test helpers (#71544) 2022-05-08 12:45:57 -07:00
J. Nick Koston 29bda196b5
Break apart recorder into tasks and core modules (#71222) 2022-05-02 21:53:56 -07:00
Erik Montnemery 3016b5fbfc
Use recorder fixtures and helpers in tests (#70773) 2022-04-26 06:08:00 -10:00
Erik Montnemery 28ebab9c5a
Simplify waiting for recorder in tests (#70647) 2022-04-25 12:04:47 +02:00