* Fix consider-using-tuple pylint warnings in component tests
* Apply su
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
---------
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
* Schedule max dt for Riemann Integral sensor
* Simplify validation. Dont integrate on change if either old or new state is not numeric.
* Add validation to integration methods. Rollback requirement for both states to be always numeric.
* Use 0 max_dt for disabling time based updates.
* Use docstring instead of pass keyword in abstract methods.
* Use time_period config validation for max_dt
* Use new_state for scheduling max_dt. Only schedule if new state is numeric.
* Use default 0 (None) for max_dt.
* Rename max_dt to max_age.
* Rollback accidental renaming of different file
* Remove unnecessary and nonsensical max value.
* Improve new config description
* Use DurationSelector in config flow
* Rename new config to max_sub_interval
* Simplify by checking once for the integration strategy
* Use positive time period validation of sub interval in platform schema
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Remove return keyword
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Simplify scheduling of interval exceeded callback
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Improve documentation
* Be more clear about when time based integration is disabled.
* Update homeassistant/components/integration/config_flow.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Refactor Integration sensor.
* Use local simple function to verify the State is numeric.
* Merge two methods to one.
* Method renaming: _handle_state_change
* Move async_write_ha_state to the caller.
* Add comment on why attr_icon is set to None
* Remove possible None type of State in validation methods.
* Use a dict to map method name to method class.
* Explain derived unit after integration.
* Renaming to _multiply_unit_with_time and elaborate in docstring.
* Set integral unit_of_measurement explicitly to None if source unit_of_measurement is None
* One function for unit of measurement related steps.
* Improve docstring of _multiply_unit_with_time
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Apply f-string suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Be more clear in comment about removing the sensors icon default.
* Apply suggestions from code review
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
* Update homeassistant/components/integration/sensor.py
* Update homeassistant/components/integration/sensor.py
* Update homeassistant/components/integration/sensor.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
* Check if attributes are present in new_state before accessing them.
* Early return if new state is None|Unknown|Unavailable
* Removed whitespace at line endings. +black run
* Update test for coverage