Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.statistics.sensor Namespace Reference

Classes

class  StatisticsSensor
 

Functions

None async_setup_entry (HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
 
None async_setup_platform (HomeAssistant hass, ConfigType config, AddEntitiesCallback async_add_entities, DiscoveryInfoType|None discovery_info=None)
 
dict[str, Any] valid_boundary_configuration (dict[str, Any] config)
 
dict[str, Any] valid_keep_last_sample (dict[str, Any] config)
 
dict[str, Any] valid_state_characteristic_configuration (dict[str, Any] config)
 

Variables

 _LOGGER = logging.getLogger(__name__)
 
 _PLATFORM_SCHEMA_BASE
 
string CONF_KEEP_LAST_SAMPLE = "keep_last_sample"
 
string CONF_MAX_AGE = "max_age"
 
string CONF_PERCENTILE = "percentile"
 
string CONF_PRECISION = "precision"
 
string CONF_SAMPLES_MAX_BUFFER_SIZE = "sampling_size"
 
string CONF_STATE_CHARACTERISTIC = "state_characteristic"
 
string DEFAULT_NAME = "Statistical characteristic"
 
int DEFAULT_PRECISION = 2
 
string ICON = "mdi:calculator"
 
 PLATFORM_SCHEMA
 
string STAT_AGE_COVERAGE_RATIO = "age_coverage_ratio"
 
string STAT_AVERAGE_LINEAR = "average_linear"
 
string STAT_AVERAGE_STEP = "average_step"
 
string STAT_AVERAGE_TIMELESS = "average_timeless"
 
string STAT_BUFFER_USAGE_RATIO = "buffer_usage_ratio"
 
string STAT_CHANGE = "change"
 
string STAT_CHANGE_SAMPLE = "change_sample"
 
string STAT_CHANGE_SECOND = "change_second"
 
string STAT_COUNT = "count"
 
string STAT_COUNT_BINARY_OFF = "count_off"
 
string STAT_COUNT_BINARY_ON = "count_on"
 
string STAT_DATETIME_NEWEST = "datetime_newest"
 
string STAT_DATETIME_OLDEST = "datetime_oldest"
 
string STAT_DATETIME_VALUE_MAX = "datetime_value_max"
 
string STAT_DATETIME_VALUE_MIN = "datetime_value_min"
 
string STAT_DISTANCE_95P = "distance_95_percent_of_values"
 
string STAT_DISTANCE_99P = "distance_99_percent_of_values"
 
string STAT_DISTANCE_ABSOLUTE = "distance_absolute"
 
string STAT_MEAN = "mean"
 
string STAT_MEAN_CIRCULAR = "mean_circular"
 
string STAT_MEDIAN = "median"
 
string STAT_NOISINESS = "noisiness"
 
string STAT_PERCENTILE = "percentile"
 
string STAT_SOURCE_VALUE_VALID = "source_value_valid"
 
string STAT_STANDARD_DEVIATION = "standard_deviation"
 
string STAT_SUM = "sum"
 
string STAT_SUM_DIFFERENCES = "sum_differences"
 
string STAT_SUM_DIFFERENCES_NONNEGATIVE = "sum_differences_nonnegative"
 
string STAT_TOTAL = "total"
 
string STAT_VALUE_MAX = "value_max"
 
string STAT_VALUE_MIN = "value_min"
 
string STAT_VARIANCE = "variance"
 
dictionary STATS_BINARY_PERCENTAGE
 
dictionary STATS_BINARY_SUPPORT
 
dictionary STATS_DATETIME
 
dictionary STATS_NOT_A_NUMBER
 
dictionary STATS_NUMERIC_RETAIN_UNIT
 
dictionary STATS_NUMERIC_SUPPORT
 

Detailed Description

Support for statistics for sensor values.

Function Documentation

◆ async_setup_entry()

None homeassistant.components.statistics.sensor.async_setup_entry ( HomeAssistant  hass,
ConfigEntry  entry,
AddEntitiesCallback  async_add_entities 
)
Set up the Statistics sensor entry.

Definition at line 290 of file sensor.py.

◆ async_setup_platform()

None homeassistant.components.statistics.sensor.async_setup_platform ( HomeAssistant  hass,
ConfigType  config,
AddEntitiesCallback  async_add_entities,
DiscoveryInfoType | None   discovery_info = None 
)
Set up the Statistics sensor.

Definition at line 261 of file sensor.py.

◆ valid_boundary_configuration()

dict[str, Any] homeassistant.components.statistics.sensor.valid_boundary_configuration ( dict[str, Any]  config)
Validate that max_age, sampling_size, or both are provided.

Definition at line 213 of file sensor.py.

◆ valid_keep_last_sample()

dict[str, Any] homeassistant.components.statistics.sensor.valid_keep_last_sample ( dict[str, Any]  config)
Validate that if keep_last_sample is set, max_age must also be set.

Definition at line 226 of file sensor.py.

◆ valid_state_characteristic_configuration()

dict[str, Any] homeassistant.components.statistics.sensor.valid_state_characteristic_configuration ( dict[str, Any]  config)
Validate that the characteristic selected is valid for the source sensor type, throw if it isn't.

Definition at line 199 of file sensor.py.

Variable Documentation

◆ _LOGGER

homeassistant.components.statistics.sensor._LOGGER = logging.getLogger(__name__)
private

Definition at line 62 of file sensor.py.

◆ _PLATFORM_SCHEMA_BASE

homeassistant.components.statistics.sensor._PLATFORM_SCHEMA_BASE
private
Initial value:
1 = SENSOR_PLATFORM_SCHEMA.extend(
2  {
3  vol.Required(CONF_ENTITY_ID): cv.entity_id,
4  vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
5  vol.Optional(CONF_UNIQUE_ID): cv.string,
6  vol.Required(CONF_STATE_CHARACTERISTIC): cv.string,
7  vol.Optional(CONF_SAMPLES_MAX_BUFFER_SIZE): vol.All(
8  vol.Coerce(int), vol.Range(min=1)
9  ),
10  vol.Optional(CONF_MAX_AGE): cv.time_period,
11  vol.Optional(CONF_KEEP_LAST_SAMPLE, default=False): cv.boolean,
12  vol.Optional(CONF_PRECISION, default=DEFAULT_PRECISION): vol.Coerce(int),
13  vol.Optional(CONF_PERCENTILE, default=50): vol.All(
14  vol.Coerce(int), vol.Range(min=1, max=99)
15  ),
16  }
17 )

Definition at line 236 of file sensor.py.

◆ CONF_KEEP_LAST_SAMPLE

string homeassistant.components.statistics.sensor.CONF_KEEP_LAST_SAMPLE = "keep_last_sample"

Definition at line 190 of file sensor.py.

◆ CONF_MAX_AGE

string homeassistant.components.statistics.sensor.CONF_MAX_AGE = "max_age"

Definition at line 189 of file sensor.py.

◆ CONF_PERCENTILE

string homeassistant.components.statistics.sensor.CONF_PERCENTILE = "percentile"

Definition at line 192 of file sensor.py.

◆ CONF_PRECISION

string homeassistant.components.statistics.sensor.CONF_PRECISION = "precision"

Definition at line 191 of file sensor.py.

◆ CONF_SAMPLES_MAX_BUFFER_SIZE

string homeassistant.components.statistics.sensor.CONF_SAMPLES_MAX_BUFFER_SIZE = "sampling_size"

Definition at line 188 of file sensor.py.

◆ CONF_STATE_CHARACTERISTIC

string homeassistant.components.statistics.sensor.CONF_STATE_CHARACTERISTIC = "state_characteristic"

Definition at line 187 of file sensor.py.

◆ DEFAULT_NAME

string homeassistant.components.statistics.sensor.DEFAULT_NAME = "Statistical characteristic"

Definition at line 194 of file sensor.py.

◆ DEFAULT_PRECISION

int homeassistant.components.statistics.sensor.DEFAULT_PRECISION = 2

Definition at line 195 of file sensor.py.

◆ ICON

string homeassistant.components.statistics.sensor.ICON = "mdi:calculator"

Definition at line 196 of file sensor.py.

◆ PLATFORM_SCHEMA

homeassistant.components.statistics.sensor.PLATFORM_SCHEMA
Initial value:
1 = vol.All(
2  _PLATFORM_SCHEMA_BASE,
3  valid_state_characteristic_configuration,
4  valid_boundary_configuration,
5  valid_keep_last_sample,
6 )

Definition at line 253 of file sensor.py.

◆ STAT_AGE_COVERAGE_RATIO

string homeassistant.components.statistics.sensor.STAT_AGE_COVERAGE_RATIO = "age_coverage_ratio"

Definition at line 65 of file sensor.py.

◆ STAT_AVERAGE_LINEAR

string homeassistant.components.statistics.sensor.STAT_AVERAGE_LINEAR = "average_linear"

Definition at line 70 of file sensor.py.

◆ STAT_AVERAGE_STEP

string homeassistant.components.statistics.sensor.STAT_AVERAGE_STEP = "average_step"

Definition at line 71 of file sensor.py.

◆ STAT_AVERAGE_TIMELESS

string homeassistant.components.statistics.sensor.STAT_AVERAGE_TIMELESS = "average_timeless"

Definition at line 72 of file sensor.py.

◆ STAT_BUFFER_USAGE_RATIO

string homeassistant.components.statistics.sensor.STAT_BUFFER_USAGE_RATIO = "buffer_usage_ratio"

Definition at line 66 of file sensor.py.

◆ STAT_CHANGE

string homeassistant.components.statistics.sensor.STAT_CHANGE = "change"

Definition at line 73 of file sensor.py.

◆ STAT_CHANGE_SAMPLE

string homeassistant.components.statistics.sensor.STAT_CHANGE_SAMPLE = "change_sample"

Definition at line 74 of file sensor.py.

◆ STAT_CHANGE_SECOND

string homeassistant.components.statistics.sensor.STAT_CHANGE_SECOND = "change_second"

Definition at line 75 of file sensor.py.

◆ STAT_COUNT

string homeassistant.components.statistics.sensor.STAT_COUNT = "count"

Definition at line 76 of file sensor.py.

◆ STAT_COUNT_BINARY_OFF

string homeassistant.components.statistics.sensor.STAT_COUNT_BINARY_OFF = "count_off"

Definition at line 78 of file sensor.py.

◆ STAT_COUNT_BINARY_ON

string homeassistant.components.statistics.sensor.STAT_COUNT_BINARY_ON = "count_on"

Definition at line 77 of file sensor.py.

◆ STAT_DATETIME_NEWEST

string homeassistant.components.statistics.sensor.STAT_DATETIME_NEWEST = "datetime_newest"

Definition at line 79 of file sensor.py.

◆ STAT_DATETIME_OLDEST

string homeassistant.components.statistics.sensor.STAT_DATETIME_OLDEST = "datetime_oldest"

Definition at line 80 of file sensor.py.

◆ STAT_DATETIME_VALUE_MAX

string homeassistant.components.statistics.sensor.STAT_DATETIME_VALUE_MAX = "datetime_value_max"

Definition at line 81 of file sensor.py.

◆ STAT_DATETIME_VALUE_MIN

string homeassistant.components.statistics.sensor.STAT_DATETIME_VALUE_MIN = "datetime_value_min"

Definition at line 82 of file sensor.py.

◆ STAT_DISTANCE_95P

string homeassistant.components.statistics.sensor.STAT_DISTANCE_95P = "distance_95_percent_of_values"

Definition at line 83 of file sensor.py.

◆ STAT_DISTANCE_99P

string homeassistant.components.statistics.sensor.STAT_DISTANCE_99P = "distance_99_percent_of_values"

Definition at line 84 of file sensor.py.

◆ STAT_DISTANCE_ABSOLUTE

string homeassistant.components.statistics.sensor.STAT_DISTANCE_ABSOLUTE = "distance_absolute"

Definition at line 85 of file sensor.py.

◆ STAT_MEAN

string homeassistant.components.statistics.sensor.STAT_MEAN = "mean"

Definition at line 86 of file sensor.py.

◆ STAT_MEAN_CIRCULAR

string homeassistant.components.statistics.sensor.STAT_MEAN_CIRCULAR = "mean_circular"

Definition at line 87 of file sensor.py.

◆ STAT_MEDIAN

string homeassistant.components.statistics.sensor.STAT_MEDIAN = "median"

Definition at line 88 of file sensor.py.

◆ STAT_NOISINESS

string homeassistant.components.statistics.sensor.STAT_NOISINESS = "noisiness"

Definition at line 89 of file sensor.py.

◆ STAT_PERCENTILE

string homeassistant.components.statistics.sensor.STAT_PERCENTILE = "percentile"

Definition at line 90 of file sensor.py.

◆ STAT_SOURCE_VALUE_VALID

string homeassistant.components.statistics.sensor.STAT_SOURCE_VALUE_VALID = "source_value_valid"

Definition at line 67 of file sensor.py.

◆ STAT_STANDARD_DEVIATION

string homeassistant.components.statistics.sensor.STAT_STANDARD_DEVIATION = "standard_deviation"

Definition at line 91 of file sensor.py.

◆ STAT_SUM

string homeassistant.components.statistics.sensor.STAT_SUM = "sum"

Definition at line 92 of file sensor.py.

◆ STAT_SUM_DIFFERENCES

string homeassistant.components.statistics.sensor.STAT_SUM_DIFFERENCES = "sum_differences"

Definition at line 93 of file sensor.py.

◆ STAT_SUM_DIFFERENCES_NONNEGATIVE

string homeassistant.components.statistics.sensor.STAT_SUM_DIFFERENCES_NONNEGATIVE = "sum_differences_nonnegative"

Definition at line 94 of file sensor.py.

◆ STAT_TOTAL

string homeassistant.components.statistics.sensor.STAT_TOTAL = "total"

Definition at line 95 of file sensor.py.

◆ STAT_VALUE_MAX

string homeassistant.components.statistics.sensor.STAT_VALUE_MAX = "value_max"

Definition at line 96 of file sensor.py.

◆ STAT_VALUE_MIN

string homeassistant.components.statistics.sensor.STAT_VALUE_MIN = "value_min"

Definition at line 97 of file sensor.py.

◆ STAT_VARIANCE

string homeassistant.components.statistics.sensor.STAT_VARIANCE = "variance"

Definition at line 98 of file sensor.py.

◆ STATS_BINARY_PERCENTAGE

dictionary homeassistant.components.statistics.sensor.STATS_BINARY_PERCENTAGE
Initial value:
1 = {
2  STAT_AVERAGE_STEP,
3  STAT_AVERAGE_TIMELESS,
4  STAT_MEAN,
5 }

Definition at line 181 of file sensor.py.

◆ STATS_BINARY_SUPPORT

dictionary homeassistant.components.statistics.sensor.STATS_BINARY_SUPPORT
Initial value:
1 = {
2  STAT_AVERAGE_STEP,
3  STAT_AVERAGE_TIMELESS,
4  STAT_COUNT,
5  STAT_COUNT_BINARY_ON,
6  STAT_COUNT_BINARY_OFF,
7  STAT_DATETIME_NEWEST,
8  STAT_DATETIME_OLDEST,
9  STAT_MEAN,
10 }

Definition at line 132 of file sensor.py.

◆ STATS_DATETIME

dictionary homeassistant.components.statistics.sensor.STATS_DATETIME
Initial value:
1 = {
2  STAT_DATETIME_NEWEST,
3  STAT_DATETIME_OLDEST,
4  STAT_DATETIME_VALUE_MAX,
5  STAT_DATETIME_VALUE_MIN,
6 }

Definition at line 150 of file sensor.py.

◆ STATS_NOT_A_NUMBER

dictionary homeassistant.components.statistics.sensor.STATS_NOT_A_NUMBER
Initial value:
1 = {
2  STAT_DATETIME_NEWEST,
3  STAT_DATETIME_OLDEST,
4  STAT_DATETIME_VALUE_MAX,
5  STAT_DATETIME_VALUE_MIN,
6 }

Definition at line 143 of file sensor.py.

◆ STATS_NUMERIC_RETAIN_UNIT

dictionary homeassistant.components.statistics.sensor.STATS_NUMERIC_RETAIN_UNIT
Initial value:
1 = {
2  STAT_AVERAGE_LINEAR,
3  STAT_AVERAGE_STEP,
4  STAT_AVERAGE_TIMELESS,
5  STAT_CHANGE,
6  STAT_DISTANCE_95P,
7  STAT_DISTANCE_99P,
8  STAT_DISTANCE_ABSOLUTE,
9  STAT_MEAN,
10  STAT_MEAN_CIRCULAR,
11  STAT_MEDIAN,
12  STAT_NOISINESS,
13  STAT_PERCENTILE,
14  STAT_STANDARD_DEVIATION,
15  STAT_SUM,
16  STAT_SUM_DIFFERENCES,
17  STAT_SUM_DIFFERENCES_NONNEGATIVE,
18  STAT_TOTAL,
19  STAT_VALUE_MAX,
20  STAT_VALUE_MIN,
21 }

Definition at line 158 of file sensor.py.

◆ STATS_NUMERIC_SUPPORT

dictionary homeassistant.components.statistics.sensor.STATS_NUMERIC_SUPPORT
Initial value:
1 = {
2  STAT_AVERAGE_LINEAR,
3  STAT_AVERAGE_STEP,
4  STAT_AVERAGE_TIMELESS,
5  STAT_CHANGE_SAMPLE,
6  STAT_CHANGE_SECOND,
7  STAT_CHANGE,
8  STAT_COUNT,
9  STAT_DATETIME_NEWEST,
10  STAT_DATETIME_OLDEST,
11  STAT_DATETIME_VALUE_MAX,
12  STAT_DATETIME_VALUE_MIN,
13  STAT_DISTANCE_95P,
14  STAT_DISTANCE_99P,
15  STAT_DISTANCE_ABSOLUTE,
16  STAT_MEAN,
17  STAT_MEAN_CIRCULAR,
18  STAT_MEDIAN,
19  STAT_NOISINESS,
20  STAT_PERCENTILE,
21  STAT_STANDARD_DEVIATION,
22  STAT_SUM,
23  STAT_SUM_DIFFERENCES,
24  STAT_SUM_DIFFERENCES_NONNEGATIVE,
25  STAT_TOTAL,
26  STAT_VALUE_MAX,
27  STAT_VALUE_MIN,
28  STAT_VARIANCE,
29 }

Definition at line 101 of file sensor.py.