Erik Montnemery
b0d4b73874
Add unitless unit converter ( #85694 )
...
* Add unitless unit converter
* Adjust type hints
* Adjust tests
* Rename to UnitlessRatioConverter
2023-01-12 09:20:00 +01:00
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
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
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
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
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
epenet
5389ff3253
Add new weight device class ( #79185 )
2022-09-28 12:13:49 +02: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
Franck Nijhof
7adb0f0ef5
Custom component -> Custom integration ( #75404 )
2022-07-18 22:10:22 +02:00
Erik Montnemery
baa810aabb
Improve warnings for datetime and date sensors with invalid states ( #73598 )
2022-06-17 12:17:13 +02:00
Diogo Gomes
03874d1b65
Correct state restoring for Utility Meter sensors ( #66851 )
...
* fix merge
* backward compatability
* add status
* increase coverage
* increase further the coverage
* adds support for Decimal in SensorExtraStoredData
* more precise
* review
* don't restore broken last_reset
* increase coverage
* address review comments
* stale
* coverage increase
* Update homeassistant/components/utility_meter/sensor.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* catch corrupt files and respective tests
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-04-19 09:01:52 +02:00
Erik Montnemery
e830032b33
Remove deprecated temperature conversion of non temperature sensors ( #69069 )
2022-04-04 20:02:40 +02:00
Erik Montnemery
87100c2517
Drop deprecated support for unit_of_measurement from sensor ( #69061 )
2022-04-01 08:22:19 -07:00
Erik Montnemery
9471e4d77c
Don't override temperature unit for sensors ( #68910 )
2022-03-30 10:15:00 -07:00
Erik Montnemery
91f6e58e9a
Allow customizing unit for temperature and pressure sensors ( #64366 )
...
* Allow customizing unit for temperature and pressure sensors
* pylint
* Adjust google_wifi tests
* Address review comments and add tests
* Improve rounding when scaling
* Tweak rounding
* Further tweak rounding
* Allow setting entity options with config/entity_registry/update
* Address review comments
* Tweak tests
* Load custom unit when sensor is added
* Override async_internal_added_to_hass
* Adjust tests after rebase
* Apply suggestions from code review
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Address review comments
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-03-30 15:43:04 +02:00
Erik Montnemery
009b31941a
Support restoring SensorEntity native_value ( #66068 )
2022-02-08 14:00:26 -08:00
Franck Nijhof
e242796394
Remove deprecated format for date(time) sensors ( #65734 )
2022-02-04 23:42:29 -08:00
Erik Montnemery
3083f059cc
Drop last_reset attribute for non 'total' sensors ( #63880 )
...
* Drop last_reset attribute for non 'total' sensors
* Adjust MQTT tests
* Add exception for utility_meter
* Rewrite exception for utility_meter
* Add comment in utility_meter
* Tweak comment
2022-01-11 13:58:35 +01:00
Robert Hillis
07532c3153
Use enums in sensor tests ( #62152 )
2021-12-17 11:07:18 +01:00
Erik Montnemery
aa36dde148
Correct rest sensor configured to generate timestamps ( #61429 )
2021-12-10 09:59:27 -08:00
Franck Nijhof
69b7495324
Sensor: Handle local->UTC conversion and reject timezoneless timestamps ( #59971 )
2021-11-22 17:04:06 +01:00
Franck Nijhof
01efe1eba2
Add datetime object as valid StateType ( #52671 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-11-18 14:11:44 +01:00
Erik Montnemery
d1ee041997
Test sensor unit conversion ( #59546 )
2021-11-11 10:36:53 -08:00
Erik Montnemery
b99a22cd4d
Re-add state_class total to sensor ( #55103 )
...
* Re-add state_class total to sensor
* Make energy cost sensor enforce state_class total_increasing
* Bump deprecation of last_reset for state_class measurement
* Correct rebase mistakes
2021-09-06 18:28:58 +02:00
Erik Montnemery
2fa07777cd
Warn if unit_of_measurement is set on instances of SensorEntityDescription ( #54867 )
...
* Add class BaseEntityDescription without unit_of_measurement
* Refactor according to review comments
* Tweak
* Fix offending integrations
* Fix offending integrations
2021-08-20 15:54:57 +02:00
Erik Montnemery
e1926caeb9
Remove STATE_CLASS_TOTAL and last_reset from sensor ( #54755 )
...
* Remove STATE_CLASS_TOTAL
* Update mill sensor
* Update tests
* Kill last_reset
* Return ATTR_LAST_RESET to utility_meter
* Update energy cost sensor
* Restore last_reset for backwards compatibility
* Re-add and update deprecation warning
* Update tests
* Fix utility_meter
* Update EnergyCostSensor
* Tweak
* Fix rebase mistake
* Fix test
2021-08-18 10:03:27 +02:00
Erik Montnemery
029873a088
Add support for total and total_increasing sensor state classes ( #54523 )
...
* Add support for amount and meter sensor state classes
* Ignore last_reset for STATE_CLASS_METER sensors
* Update tests
* Rename STATE_CLASS_METER to STATE_CLASS_AMOUNT_INCREASING
* Rename STATE_CLASS_AMOUNT to STATE_CLASS_TOTAL
* Fix typo
* Log warning if last_reset set together with state_class measurement
* Fix warning message
2021-08-13 12:35:23 +02:00
Erik Montnemery
4e07ab1b32
Move temperature conversions to sensor base class (1/8) ( #48261 )
...
* Move temperature conversions to entity base class (1/8)
* Update integrations a-c
* Leave old temperature conversion until all integrations are migrated
* tweak
* Use contextlib.suppress
* Remove the MeasurableUnitEntity mixin
* Address comments, add tests
* Fix f-string
* Drop deprecation warning from base entity class
* Update with _attr-shorthand
* Fix rebase mistakes
* Fix additional rebase mistakes
* Only report temperature conversion once
* Fix additional rebase mistakes
* Format homeassistant/components/bbox/sensor.py
* Fix check for overidden _attr_state
* Remove test workarounds from implementation
* Remove useless None-check
* Tweaks
* Migrate new sensors a-c
* Update climacell
* Push deprecation of temperature conversion forward
* Override __repr__ in SensorEntity
* Include native_value in SensorEntity attributes
* Pylint
* Black
* Black
* Fix rebase mistakes
* black
* Fix rebase mistakes
* Revert changes in august/sensor.py
* Revert handling of unit converted restored state
* Apply code review suggestion
* Fix arlo test
2021-08-11 10:45:05 +02:00