* Squeezebox media_player platform tests
* Fix play-pause test
* Squeezebox remove stray reference to deprecated property
* More tests for squeezebox
* Update tests to fix merge conflict with binary_sensor
* Refactor tests to use autospec
* Use freeze and snapshot
* Update media player entity before adding
* Consolidate test fixtures for different platforms
* Merge in sensor platform
* Use deepcopy
* Update tests with suggestions from code review
* fadd cover entity and device with mocked commands
* add cover features and update its open percentage
* execute command to the cloud instead of mocking change of shutter state
* test iotty cover commands and insertion
* fix post payload
* refactor introducing common entity from which cover and switch inherit
* move more properties to base class
* use explicit values instead of snapshots
* move iotty device initialization to base entity
* move device info from property to attribute
* Move entity category to class
* improve type hints
* Regenerate sensor snapshots to remove some invalid entries
* Add info sensors that display various device settings/modes
* Add strings for info sensors
* Update sensor snapshot with new sensors
* Use StateType
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Use icon translations
* statetype
* drop ip sensor
* Lookup enum values before translating
* entities use options
* update options strings
strings
* lookup values from options
* update sensor snapshot
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add reauth flow to Nice G.O.
* Remove unnecessary freezer use
* Tweaks
* Remove re-raise
* Tiny typing tweak
* Remove if in test
* Remove overlaying old data
* Don't touch title once done
* Z-Wave JS: Use start/stop level change to open/close Window Covering CC covers
* fix: import
* Update tests/components/zwave_js/test_cover.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* assert that up_value and down_value exist
* fix: forgot one
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* test driven delevopment
* test driven development - multi numeric state
* better multi-state processing
* when state==below return true
* adds test for a bad state
* improve codecov
* value error already handled in async_numeric_state
* remove whitespace
* remove async_get
* linting
* test_driven dev for error handling
* make tests fail correctly
* ensure tests fail correctly
* prevent bad numeric entries
* ensure no overlapping ranges
* fix tests, as error caught in validation
* remove redundant er call
* remove reddundant arg
* improves code coverage
* filter for numeric states before testing overlap
* adress code review
* skip non numeric configs but continue
* wait to avoid race condition
* Better tuples name and better guard clause
* better test description
* more accurate description
* Add comments to calculations
* using typing not collections as per ruff
* Apply suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* follow on from suggestions
* Lazy evaluation
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* update error text in tests
* fix broken tests
* move validation function call
* fixes return type of above_greater_than_below.
* improves codecov
* fixes validation
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Addition of hub device
* coordinator udata updated after a hub action
* Unit tests update
* Unit tests improvements
* addition of tests on select and switch platforms
* wording
* Removal of select platform for PR containing only one platform
* Remove hub to maintain only the refactoring that prepare the hub device addition
* Review corrections
* wording
* Review corrections
* Review corrections
* Review corrections
* Add media player tests to Cambridge Audio
* Add media player tests to Cambridge Audio
* Remove unnecessary test case
* Move state_update call out of mock
* Update tests/components/cambridge_audio/test_media_player.py
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add a new optional "data" key when defining time ranges for the schedule component that exposes the provided data in the state attributes of the schedule entity when that time range is active
* Exclude all schedule entry custom data attributes from the recorder (with tests)
* Fix setting schedule attributes to exclude from recorder, update test to verify the attributes exist but are not recorded
* Fix test to ensure schedule data attributes are not recorded
* Use vol.Any in place of vol.Or
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Remove schedule block custom data shorthand
as requested in https://github.com/home-assistant/core/pull/116585#pullrequestreview-2280260436
* Update homeassistant/components/schedule/__init__.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Implement time triggers with offset for timestamp sensors
* Fix bad change
* Add testcase for multiple conf_at with offsets
* Fix fixture rename
* Fix testcase - if no offset provided, it should be just the string of the entity id
* Get test to pass
* Simplify code
* Update the messaging and make the offset optional allowing specifying only the entity_id
* Move state tracking one level up
* Implement requesteed changes
* add config option
* use code_required option in alarm
* test code_required options
* only use code for disarm
* change tests to disarm with code
* remove unneeded code variable
* Update homeassistant/components/totalconnect/alarm_control_panel.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use ServiceValidationError
* translate ServiceValidationError
* complete typing
* Update tests/components/totalconnect/test_alarm_control_panel.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use ServiceValidationError in test
* grab usercode from correct spot
* use client code instead of unfilled location code
* Revert "remove unneeded code variable"
This reverts commit 220de0e698e5779fcd7c45bee999a60ad186ab7f.
* remove unneeded code variable
* improve usercode checking
* use freezer
* fix usercode test data
* Update homeassistant/components/totalconnect/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/totalconnect/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* update test with new message
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Initial commit
* Second commit - with some coverage but errors abount
* Updated testing coverage
* Should be just about ready for PR
* Adding some error handling for wonky acocunts
* Adding USD hardcoded as this is all that is currently supported i believe
* updating snapshots
* updating entity descrition a little
* Addign cashflow in
* adding aggregate sensors
* tweak icons
* refactor some type stuff as well as initialize the pr comment addressing process
* remove empty fields from manifest
* Update homeassistant/components/monarchmoney/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* move stuff
* get logging out of try block
* get logging out of try block
* using Subscription ID as stored in config entry for unique id soon
* new unique id
* giving cashflow a better unique id
* Moving subscription id stuff into setup of coordinator
* Update homeassistant/components/monarchmoney/config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* ruff ruff
* ruff ruff
* split ot value and balance sensors... need to go tos leep
* removed icons
* Moved summary into a data class
* efficenty increase
* Update homeassistant/components/monarchmoney/coordinator.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/monarchmoney/coordinator.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/monarchmoney/coordinator.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/monarchmoney/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* refactor continues
* removed a comment
* forgot to add a little bit of info
* updated snapshot
* Updates to monarch money using the new typed/wrapper setup
* backing lib update
* fixing manifest
* fixing manifest
* fixing manifest
* Version 0.2.0
* fixing some types
* more type fixes
* cleanup and bump
* no check
* i think i got it all
* the last thing
* update domain name
* i dont know what is in this commit
* The Great Renaming
* Moving to dict style accounting - as per request
* updating backing deps
* Update homeassistant/components/monarch_money/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/monarch_money/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/monarch_money/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/monarch_money/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/monarch_money/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* some changes
* fixing capitalizaton
* test test test
* Adding dupe test
* addressing pr stuff
* forgot snapshot
* Fix
* Fix
* Update homeassistant/components/monarch_money/sensor.py
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add battery storage settings for enphase_envoy EU configuration
* Add EU Battery test fixture to enphase_envoy
* Add tests and snapshots for enphase_envoy EU battery
* refactor eu battery fixture to align with other enphase_envoy fixtures
* remove if from test and use test parameter for eu battery enphase_envoy tests
When parameterizing these tests, I forgot that hysteresis tests are
sensitive to all previous values rather than just the previous one.
This change should restore behavior to the pre-parameterization version
by replaying all value histories.
Subsequent changes will add new test cases.
* * Add select platform to opentherm_gw
* Add tests for select entities
* Address capitalization feedback
* Add initial state on startup and status update support
* Wrap lambdas in parentheses
threshold: Parameterize many of the tests
This simplfies the structure of the basic threshold tests,
making it easier to subsequently update or add missing test cases.
Except for a few removals of an inconsistenly applied assertions on
`state.attributes["sensor_value"]`, there are no changes to the existing
tests intended. All previous tests are expected to run identically.
A few extra test cases for None are added.
* added calories to energy class
* changes
* temporarily solving the problem with conversion accuracy
* add tests
* added calories to energy class
* changes
* add tests
* Update homeassistant/util/unit_conversion.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Update homeassistant/util/unit_conversion.py
Co-authored-by: Robert Resch <robert@resch.dev>
* apply suggestions
* Update homeassistant/util/unit_conversion.py
---------
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add ffmpeg proxy view
* Add tests
* Add proxy to media player
* Add proxy test
* Only allow one ffmpeg proc per device
* Incorporate feedback
* Fix tests
* address comments
* Fix test
* Update paths without auth const
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Fix bugs when a lock is no longer returned by the API
* Changes requested during review
* Only mark unavailable if lock is not present
* Remove stale comment
* Remove over-judicious nullability checks
* Remove another unnecessary null check
* Add set_profile service for Vallox integration
* Merge profile constants, use str input for service
* add service test and some related refactoring
* Change service uom to 'minutes'
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
* Update icons.js format after rebase
* Translate profile names for service
* Fix test using wrong dict
---------
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
* Create an issue in the issue registry if deprecated config is found in configuration.yaml
* Add deprecation comments to functions that can be removed after deprecation period
* Add test for the creation of a deprecation issue
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>