* Change date at sunset
* Fix tests to actually run and add fix to component
* Make tests pass
* Use get_astral_event_next instead of get_astral_event_date
* Revert to using get_astral_event_date
* Make tox happy: reset state on tearDown
* Initial changes to resolve issue 16733
Added logic to ensure that if the state is unknown during startup that the error about being unable to parse the value is not logged.
Further, also ensured that if an attribute is set to None it does not try to convert the None value to Fahrenheit as that will cause an error.
* Cleaned up and added few comments
Cleaned up some lines based on flake8 and pylint.
Added some comment lines on the items added.
* Changed to async and using async_added_to_hass
Changed sensor to use async.
Registering state tracking for sensors and initial setup is now done upon the home assistant start event.
* Updated test and small fix
Updated test to handle unavailable state of sensor and return of None for attributes when data is unavailable.
Ensured that atributes are set to None when state is unavailable due to incorrect data.
* Fixed some flake8 issues in test
Fixed some flake8 issues in test_moldindicator.py.
* Updates based on review
Updates based on review from MartinHjelmare
* Added sensor entity_id to logger errors
Added sensor entity_id to logger error messages
Update test to use constant STATE_UNKNOWN instead of fixed string.
* Fix rangefilter
RangeFilter would break for lower or upper bounds of 0, evaluating to False and thus not being handled correctly as bounds
* Add test for zero bounds
* Refactored units and icons for the Dyson sensors
* Adapted unit tests to the new device names and unit of measurements
* Use None as empty unit of measurement
* Unrelated overall improvements following code review
* Adapted tests to new constructors as per previous commit
* Make sure the sensors have their `hass` attribute set in the test environment
* create binary sensor even if initial update fails
* fixed broken test assertion
* fixed broken test assertion
* avoid fetching resource twice - manually in the setup_platform and then through add_devices
* raising PlatformNotReady instead of creating the sensor if the initial rest call fails; throttling the update to avoid fetching the same resource again immediately after setting up sensor
* rolled back throttling of the rest update call; can still avoid updating the binary sensor's rest resoure twice; fixed tests
* typo
* De-run_forever()-ization
* Use asyncio.run (or our own implementation on Python <3.7)
* hass.start is only used by tests
* setup_and_run_hass() is now async
* Add "main" async hass.run method
* move SIGINT handling to helpers/signal.py
* add flag to .run to disable hass's signal handlers
* Teach async_start and async_stop to not step on each other
(more than necessary)
* shorten over-long lines
* restore missing "import asyncio"
* move run_asyncio to homeassistant.util.async_
* LOGGER: warn => warning
* Add "force" flag to async_stop
only useful for testing
* Add 'attrs==18.2.0' to requirements_all.txt
Required for keeping requirements_test_all.txt in sync, where it is in
turn required to prevent auto-downgrading "attrs" during "pip install"
* Fixes for mypy
* Fix "mock_signal" fixture
* Revert mistaken edit
* Flake8 fixes
* mypy fixes
* pylint fix
* Revert adding attrs== to requirements_test*.txt
solved by using "pip -c"
* Rename "run" to "async_run", as per calling conventions
* Initial commit for jewish calendar sensor
* Make check for logging errors into it's own function
* Can't use f-strings as we need to support python3.5
* Implement basic functionality: printing of date
* Update requirements_all.txt
* Allow user to specify date for sensor
* Add hdate to test requirements
* Update to match pull request
* Support date output in hebrew
* Limit languages to english and hebrew
* Add name back to sensor
* Change icon to be calendar-today
* Add multiple sensors
* Fix tests
* Make Hound happy, remove unused imported class
* hdate expects datetime.date not datetime.datetime
* Return sensor name
* Times should be returned as time object, not datetime
* Add myself to codeowners for jewish calendar component
* Return actual reading, not index
* Add more tests. Currently failing.
Will need to update hdate API and version before continuing.
* Fix weekly portion test
* Make all tests pass
* Make travis happy and add a test so it doesnt happen again
* Remove defaults in __init__ method
* Change sensor state variable to local variable in update() method
* Minor changes
* always export max_age/min_age
* downgrade errors of missing data
on start with empty recorder database these errors are logged multiple times:
ERROR (MainThread) [homeassistant.components.sensor.statistics] mean requires at least one data point
ERROR (MainThread) [homeassistant.components.sensor.statistics] variance requires at least two data points
downgrade them to debug as they are not meaningful to end users
* add change_rate attribute
this calculates the average change rate of all data points
* simplify count, reorder attribute calculation
* reorder initialization
* reorder attribute names
* don't use min/max for min_age/max_age
* add test case
* style
* style
* sort constants
* init variables with None
* add precision config setting
* round to precision
* test round
* Add new public transport sensor for RMV (Rhein-Main area).
* Add required module.
* Fix naming problem.
* Add unit test.
* Update dependency version to 0.0.5.
* Add new requirements.
* Fix variable name.
* Fix issues pointed out in review.
* Remove unnecessary code.
* Fix linter error.
* Fix config value validation.
* Replace minutes as state by departure timestamp. (see ##14983)
* More work on the timestamp. (see ##14983)
* Revert timestamp work until #14983 gets merged.
* Simplify product validation.
* Remove redundant code.
* Address code change requests.
* Address more code change requests.
* Address even more code change requests.
* Simplify destination check.
* Fix linter problem.
* Bump dependency version to 0.0.7.
* Name variable more explicit.
* Only query once a minute.
* Update test case.
* Fix config validation.
* Remove unneeded import.
* Add tests to command_line for json_attrs
* Add json_attrs to command_line
* Remove whitespace on blank line
* Stick to <80 row length
* Use collections.Mapping, not dict
* Rename *attrs to *attributes
* Remove extraneous + for string concat
* Test multiple keys
* Add test
Makes sure the sensor's attributes don't contain a value for a missing key,
even if we want that key.
* Test that unwanted keys are skipped
* Remove additional log line
* Update tests for log changes
* Fix ordering
* Add python 3.7 to travis and tox
* Use pyyaml from github
* Don't version constraints
* Fix version tag
* Change to new pyyaml release
* Python 3.7 requires xenial
* Fix namespace detection
* Use correct RegEx type
* Update pexpect to 4.6
* Use correct validation for dictionaries
* Disable Py37 incompatible packages
* Upgrade all pexpect to 4.6
* Add explicit None as default param
By default simulated sensors are relative to when they're activated,
instead we make this togglable with this new option 'relative_to_epoch',
and instead they become relative to 1970-01-01 00:00:00.
* Option to load or not to load clip sensors on start
* Full flow
* Fix config flow and add tests
* Fix attribute dark reporting properly
* Imported and properly configured deCONZ shouldn't need extra input to create config entry
* Add new device without restarting hass
* Remove debug prints
* Fix copy paste error
* Fix comments from balloob
Add tests to verify signalling with new added devices
* Fix hound comments
Add test to verify when new sensor is added
* Fix tests
* Unload entry should unsubscribe all deconz dispatchers
* Make sure mock setup also creates unsub in hass data
* Fix copy paste issue
* Lint
* Working but incomplete
* Remove events on unload
* Add unload test
* Fix failing sensor test
* Improve unload test
* Move DeconzEvent to init
* Fix visual under-indentation
* Use forward entry setup with light platform
* Move sensor to forward entry setup
* Use forward entry setup with binary sensors
* Use forward entry setup with scene platform
* Remove import of unused functionality
* Move deconz setup in to setup entry
Create initial negative tests for setup entry
* Fix hound comment
* Improved tests
* Add test for scene platform
* Add test for binary sensor platform
* Add test for light platform
* Add test for light platform
* Add test for sensor platform
* Fix hound comment
* More asserts on sensor types
* Initialise filter with historical values
Added get_last_state_changes()
* fix test
* Major changes to accommodate history + time_SMA
# Conflicts:
# homeassistant/components/sensor/filter.py
* hail the hound!
* lint fixed
* less debug
* ups
* get state from the proper entity
* sensible default
* No defaults in get_last_state_changes
* list_reverseiterator instead of list
* prev_state to state
* Initialise filter with historical values
Added get_last_state_changes()
* fix test
* Major changes to accommodate history + time_SMA
# Conflicts:
# homeassistant/components/sensor/filter.py
* hail the hound!
* lint fixed
* less debug
* ups
* get state from the proper entity
* sensible default
* No defaults in get_last_state_changes
* list_reverseiterator instead of list
* prev_state to state
* update
* added window_unit
* replace isinstance with window_unit
* Added Time based SMA
* move "now" to _filter_state()
* Addressed comments
* fix long line
* type and name
* # pylint: disable=redefined-builtin
* added test
* Added Foobot device sensor
* Added error handling tests
* Corrections after PR review.
* Migrated to async/await syntax
* lint fixes
* stop raising HomeAssistantError
* debug log for number of requests
* Moved shared data between sensors from a class attribute to a separate class
* Made test more async-aware
disabled setup error test for now as it's not working
* Working failure scenarios tests
* Sensor template don't exit early on TemplateError
* Add friendly name unknown state test
* Also track entites from attribute templates
* Use set instead of list
* Support TekSavvy Unlimited Plans
Support TekSavvy account usage for unlimited plans.
Seeing cap limit to 0 will now provide unlimited behaviour on usage calculations.
* Add unit tests to sensor.teksavvy
Add coverage unit tests to TekSavvy Sensor component, none existing previously.
* Adds folder sensor
The state of the sensor is the time that the most recently modified
file in a folder was modified.
* Address lint errors
* Edit docstrings
Makes the recommended edits to docstrings
* Update .coveragerc
Add sensor/folder.py
* Update folder.py
* Address requests
Address requests changes
* Adds folder
* Adds test, tidy up
* Tidy
* Update test_folder.py
* Update folder.py
* Fix setup
Fix setup with else statement
* Update folder.py
* Update folder.py
* Remove list of files from attributes
* Update test_folder.py
* Update folder.py
* Update test_folder.py
* Update folder.py
* Update folder.py
* 🐎 Async WUnderground
* ∞ Them lines be too long
* Fix pylint warnings
* Changes according to comments
* Remove STATE_UNKNOWN
* 🔬 Fix tests
* Improve tests