Add Valve integration (#102184)
* Add Valve integration. This adds the valve integration discussed in https://github.com/home-assistant/architecture/discussions/975 Most of the code is taken from the cover integration but simplified since valves can't tilt. There are a couple outstanding errors I'm not sure how to solve and prevents me from even making this commit without `--no-verify`. * Apply PR feedback * Apply more feedback: Intruduce the bare minimum * Remove file commited by mistake * Hopefully this fixes tests * Match cover's typing and mypy settings * Change some configuration files * Fix test * Increase code coverage a little * Code coverate inproved to 91% * 95% code coverage * Coverate up to 97% * Coverage 98% * Apply PR feedback * Even more feedback * Add line I shouldn't have removed * Derive closed/open state from current position * Hopefully last feedback * Update homeassistant/components/valve/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/valve/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Remove unnecesary translation * Remove unused method arguments * Complete code coverage * Update homeassistant/components/valve/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Simplify tests * Update homeassistant/components/valve/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Apply last feedback * Update tests/components/valve/test_init.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests/components/valve/test_init.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests/testing_config/custom_components/test/valve.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * More feedback * Apply suggestion * And more feedback * Apply feedback * Remove commented code * Reverse logic to unindent * Update homeassistant/components/valve/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/valve/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Implement stop valve for Mock valve * Fix tests now that I've implemented stop_valve * Assert it's neither opening nor closing * Use current position instead * Avoid scheduling executor when opening or closing * Fix incorrect bitwise operation * Simplify toggle * Remove uneeded partial functions * Make is_last_toggle_direction_open private * Remove valve from test custom integration * Improve test coverage * Address review comments * Address review comments * Address review comments * Update homeassistant/components/valve/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests --------- Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Erik <erik@montnemery.com>
This commit is contained in:
parent
93a9a9d1e2
commit
5175737b60
11 changed files with 754 additions and 0 deletions
|
@ -58,6 +58,7 @@ class Platform(StrEnum):
|
|||
TODO = "todo"
|
||||
TTS = "tts"
|
||||
VACUUM = "vacuum"
|
||||
VALVE = "valve"
|
||||
UPDATE = "update"
|
||||
WAKE_WORD = "wake_word"
|
||||
WATER_HEATER = "water_heater"
|
||||
|
@ -1105,6 +1106,11 @@ SERVICE_STOP_COVER: Final = "stop_cover"
|
|||
SERVICE_STOP_COVER_TILT: Final = "stop_cover_tilt"
|
||||
SERVICE_TOGGLE_COVER_TILT: Final = "toggle_cover_tilt"
|
||||
|
||||
SERVICE_CLOSE_VALVE: Final = "close_valve"
|
||||
SERVICE_OPEN_VALVE: Final = "open_valve"
|
||||
SERVICE_SET_VALVE_POSITION: Final = "set_valve_position"
|
||||
SERVICE_STOP_VALVE: Final = "stop_valve"
|
||||
|
||||
SERVICE_SELECT_OPTION: Final = "select_option"
|
||||
|
||||
# #### API / REMOTE ####
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue