* 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>
45 lines
864 B
YAML
45 lines
864 B
YAML
# Describes the format for available valve services
|
|
|
|
open_valve:
|
|
target:
|
|
entity:
|
|
domain: valve
|
|
supported_features:
|
|
- valve.ValveEntityFeature.OPEN
|
|
|
|
close_valve:
|
|
target:
|
|
entity:
|
|
domain: valve
|
|
supported_features:
|
|
- valve.ValveEntityFeature.CLOSE
|
|
|
|
toggle:
|
|
target:
|
|
entity:
|
|
domain: valve
|
|
supported_features:
|
|
- - valve.ValveEntityFeature.CLOSE
|
|
- valve.ValveEntityFeature.OPEN
|
|
|
|
set_valve_position:
|
|
target:
|
|
entity:
|
|
domain: valve
|
|
supported_features:
|
|
- valve.ValveEntityFeature.SET_POSITION
|
|
fields:
|
|
position:
|
|
required: true
|
|
selector:
|
|
number:
|
|
min: 0
|
|
max: 100
|
|
unit_of_measurement: "%"
|
|
|
|
stop_valve:
|
|
target:
|
|
entity:
|
|
domain: valve
|
|
supported_features:
|
|
- valve.ValveEntityFeature.STOP
|