J. Nick Koston
6ce5f190c1
Avoid duplicate property calls when writing sensor state ( #101853 )
...
* Avoid duplicate attribute lookups when writing sensor state
_numeric_state_expected would call self.device_class,
self.state_class, self.native_unit_of_measurement,
and self.suggested_display_precision a second time
when the `state` path already had these values.
* one more
* avoid another
2023-10-12 08:45:20 +02:00
Robert Resch
f7292d5b00
Add check that sensors don't have EntityCategory.CONFIG set ( #101471 )
2023-10-09 13:37:52 +02:00
J. Nick Koston
c6ed022cce
Fix compiling missing statistics losing rows ( #101616 )
2023-10-08 19:43:00 +02:00
Marc Mueller
d5f07ef45f
Add override decorators to sensor ( #94998 )
2023-10-06 13:44:07 +02:00
Erik Montnemery
775751ece5
Add WS command sensor/numeric_device_classes ( #101257 )
2023-10-06 10:27:45 +02:00
Erik Montnemery
659d437cac
Use loader.async_suggest_report_issue in sensor ( #101389 )
2023-10-05 20:07:56 +02:00
Erik Montnemery
d0dc4d0963
Add missing device class to sensor.DEVICE_CLASS_UNITS ( #101256 )
2023-10-02 13:01:26 +02:00
Erik Montnemery
7a1ee98bb6
Fix handling of unit system change in sensor ( #100715 )
2023-09-23 13:28:14 +02:00
Erik Montnemery
df73850f56
Move definition of attributes excluded from history to entity classes ( #100430 )
...
* Move definition of attributes excluded from history to entity classes
* Revert change which should be in a follow-up PR
* Fix sun unrecorded attributes
* Fix input_select unrecorded attributes
2023-09-21 15:02:47 +02:00
Erik Montnemery
d1afcd773f
Revert "Cache entity properties that are never expected to change in the base class" ( #100422 )
...
Revert "Cache entity properties that are never expected to change in the base class (#95315 )"
This reverts commit 042776ebb8
.
2023-09-15 11:25:24 +02:00
J. Nick Koston
042776ebb8
Cache entity properties that are never expected to change in the base class ( #95315 )
2023-09-14 17:48:48 -05:00
Erik Montnemery
09ad1a9a36
Remove unnecessary block use of pylint disable in components p-z ( #100192 )
2023-09-12 20:47:48 +02:00
Erik Montnemery
51576b7214
Improve typing of entity.entity_sources ( #99407 )
...
* Improve typing of entity.entity_sources
* Calculate entity info source when generating WS response
* Adjust typing
* Update tests
2023-09-12 20:41:26 +02:00
Erik Montnemery
e3b945a8d0
Don't allow numerical sensor state to be NaN or inf ( #98110 )
2023-08-23 14:16:40 +02:00
Ville Skyttä
2399cd283a
Python 3.10 support cleanups ( #98640 )
2023-08-21 19:14:07 +02:00
Erik Montnemery
e1f0b44ba4
Use math.isfinite instead of explicitly checking for both nan and inf ( #98103 )
2023-08-09 14:13:57 +02:00
Franck Nijhof
30058297cf
Migrate backported StrEnum to built-in StrEnum ( #97101 )
2023-07-23 23:19:24 +02:00
Franck Nijhof
910c897ceb
Fix typo hidrogen to hydrogen ( #97096 )
2023-07-23 20:34:47 +02:00
Miguel Camba
38111141f9
Add new device class: PH (potential hydrogen) ( #95928 )
2023-07-23 18:49:10 +02:00
J. Nick Koston
61532475f9
Cleanup sensor unit conversion code ( #97074 )
2023-07-23 10:49:45 +02:00
Marc Mueller
77f38e33e5
Import names from typing instead of typing_extensions [3.11] ( #97065 )
2023-07-22 17:03:44 -05:00
Erik Montnemery
fa0d68b1d7
Add NumberDeviceClass.DURATION ( #96932 )
2023-07-20 11:10:03 +02:00
Joost Lekkerkerker
a8e92bfcb6
Fix typo for PM 1 ( #96473 )
2023-07-17 09:22:07 +02:00
J. Nick Koston
260e00ffb4
Check the registry entry in sensor unit_of_measurement instead of unique_id ( #96731 )
...
The unit_of_measurement check was checking to see if the entity has
a unique_id instead of a registry entry. Its much cheaper to check
for the registry_entry than the unique id since some entity have
to construct it every time its read
2023-07-17 08:50:06 +02:00
Erik Montnemery
86a397720f
Move platform_integration_no_support issue to the homeassistant integration ( #95927 )
...
* Move platform_integration_no_support issue to the homeassistant integration
* Update test
* Improve repair text
* Update test
2023-07-07 13:31:54 +02:00
J. Nick Koston
3f9d5a0192
Use the converter factory in sensor.recorder._normalize_states ( #95785 )
...
We have a factory to create converters now which avoids
the overhead of calling convert to create the converter
every time
2023-07-03 14:20:23 -04:00
J. Nick Koston
b24c6adc75
Avoid regex for negative zero check in sensor ( #95691 )
...
* Avoid regex for negative zero check in sensor
We can avoid calling the regex for every sensor value
since most of the time values are not negative zero
* tweak
* tweak
* Apply suggestions from code review
* simpler
* cover
* safer and still fast
* safer and still fast
* prep for py3.11
* fix check
* add missing cover
* more coverage
* coverage
* coverage
2023-07-02 21:53:50 -04:00
Erik Montnemery
3c015f85f4
Revert "Change the device class name volatile organic compounds parts
to VOCs ratio
" ( #95332 )
2023-06-27 12:28:31 +02:00
dougiteixeira
363dab7ce4
Change the device class name volatile organic compounds parts
to VOCs ratio
( #95126 )
2023-06-27 08:33:11 +02:00
Erik Montnemery
b71e0302d6
Use entity registry id in sensor device conditions ( #95260 )
2023-06-26 21:20:40 +02:00
Erik Montnemery
5884afd485
Teach sensor device trigger about entity registry ids ( #94988 )
2023-06-22 11:13:54 +02:00
Erik Montnemery
446a820cbb
Name unnamed sensors by their device class ( #94646 )
2023-06-20 23:09:24 +02:00
J. Nick Koston
584967a35a
Avoid double call to self.suggested_unit_of_measurement in sensor unit_of_measurement ( #94582 )
2023-06-14 21:33:05 -04:00
G Johansson
c6feb30c31
Raise issue "does not support platform setup" ( #93585 )
...
* Raise issue on platform missing
* Modify issue
* Remove deprecation
* Fix strings
* Strings
* Last strings
* strings to common
2023-05-28 21:53:32 +02:00
Erik Montnemery
d62cdf3d65
Improve error message for sensors with a non-numeric value ( #93399 )
...
* Improve error message for sensors with a non-numeric value
* Address review comment
2023-05-23 15:54:24 +02:00
J. Nick Koston
90984c34a9
Fix double call to options in sensor state ( #93311 )
2023-05-21 15:42:19 +03:00
Erik Montnemery
9a70f47049
Teach UnitlessRatioConverter about ppm and ppb ( #92989 )
2023-05-12 16:46:37 +02:00
Erik Montnemery
5a7c3aaa2d
Add sensor device class volatile_organic_compounds_parts ( #92973 )
2023-05-12 14:37:54 +02:00
Erik Montnemery
7546e8efa4
Remove stale comment from sensor.const ( #92974 )
2023-05-12 14:34:29 +02:00
J. Nick Koston
bb4c03ce3c
Avoid returning statistics columns that the metadata knows are impossible ( #92095 )
2023-04-30 20:46:26 +02:00
Franck Nijhof
ce16d8eeac
Rename Particulate matter sensors to PM ( #91384 )
2023-04-14 09:43:15 +02:00
Raman Gupta
bfea1367a7
Add ms
to units comment for duration sensor device class ( #90757 )
2023-04-04 12:42:33 +02:00
Maciej Bieniek
2229a63acd
Fix default sensor entity name for PM1 ( #90684 )
...
Fix PM1 text
2023-04-02 20:53:00 -04:00
epenet
ab699d17a5
Ensure numeric sensors have a valid value ( #85605 )
...
* Ensure numeric sensors have a valid value
* Flake8
2023-03-31 14:12:51 +02:00
epenet
3599515325
Add missing strings to sensor integration ( #90475 )
...
* Add missing strings to sensor integration
* Enumeration
* Apply suggestion
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
---------
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-30 10:21:11 +02:00
Erik Montnemery
e22618a555
Write protect entity options ( #90185 )
2023-03-28 22:56:51 +02:00
Raman Gupta
16028dc9bc
Add milliseconds as valid duration sensor unit ( #90018 )
2023-03-26 23:52:01 +02:00
J. Nick Koston
88ad97f112
Fix generating statistics for time periods smaller than we can measure ( #90069 )
...
If the time period for the mean/time weighted average was smaller
than we can measure (less than one microsecond), generating
statistics would fail with a divide by zero error. This is likely
only happens if the database schema precision is incorrect.
2023-03-21 21:12:45 -04:00
J. Nick Koston
5ffb233004
Avoid database executor job to fetch statistic metadata on cache hit ( #89960 )
...
* Avoid database executor job to fetch statistic metadata on cache hit
Since we will almost always have a cache hit fetching
statistic meta data we can avoid an executor job
* Avoid database executor job to fetch statistic metadata on cache hit
Since we will almost always have a cache hit fetching
statistic meta data we can avoid an executor job
* Avoid database executor job to fetch statistic metadata on cache hit
Since we will almost always have a cache hit fetching
statistic meta data we can avoid an executor job
* remove exception catch since the threading.excepthook will actually catch this in production
* fix a few missed ones
* threadsafe
* Update homeassistant/components/recorder/table_managers/statistics_meta.py
* coverage and optimistic caching
2023-03-19 22:01:16 -04:00
Franck Nijhof
cd3819abec
Add state attribute translations for Sensor ( #89896 )
2023-03-17 20:32:52 -04:00