Add Home Assistant valve domain support (open/close) - #42
Merged
FlyingDiver merged 1 commit intoSep 14, 2026
Merged
Conversation
HA valve-domain entities (e.g. Phyn/Moen/Zooz shutoff valves) previously imported only as read-only ha_generic devices — state was visible but the valve could not be opened/closed from Indigo. This adds a first-class 'Home Assistant Valve' (ha_valve) relay device that maps Indigo Turn On -> valve.open_valve and Turn Off -> valve.close_valve, mirroring the existing cover implementation. - ValveEntityFeature flags + capability detection (SET_POSITION/STOP) - ha_valve relay device type with a valve-filtered entity picker - entity_update state mapping (onOffState from open/closed) - actionControlDimmerRelay open/close handling - exclude 'valve' from the generic entity-type picker Co-Authored-By: Claude <noreply@anthropic.com>
FlyingDiver
approved these changes
Sep 11, 2026
Owner
|
I won't be able to merge and publish until next week. |
Owner
|
Released in 2026.1.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi Joe — thanks for the plugin, we use it heavily.
Problem
Home Assistant
valve-domain entities (smart shutoff valves — Phyn, Moen Flo, Zooz, etc.) currently import only as read-onlyha_genericdevices: their state (is_closed/ open) is visible, but there's no way to open/close the valve from Indigo. There's no valve control path, and novalvehandler.Change
Adds a first-class Home Assistant Valve (
ha_valve) relay device that maps Indigo Turn On →valve.open_valveand Turn Off →valve.close_valve, mirroring the existingcoverimplementation (a valve is structurally a cover: open/close/stop/set_position). Purely additive — nothing else changes.ValveEntityFeatureflags + capability detection (SET_POSITION,STOP) indeviceStartComm/entity_updateha_valverelay device type (Devices.xml) with avalve-filtered entity pickerentity_updatestate mapping →onOffState(on = open, off = closed), open/closed images — same as coveractionControlDimmerRelayopen/close handling forha_valve'valve'added to the generic entity-type exclusion list so valve entities get the dedicated typeScope
This wires open/close (Indigo relay on/off), which covers the primary shutoff use case.
set_valve_position/stop_valve(forSET_POSITION/STOPvalves) are scaffolded (feature flags + capability props) but not yet exposed as actions — happy to add avalve_actionsblock mirroringcover_actionsif you'd like it in this PR.Testing
py_compile(3.13) + Devices.xml parse clean. Validated against a live Phyn Plus shutoff (valve.phyn_fairfield_shutoff_valve,supported_features: 3= open|close): imports as a Home Assistant Valve, reflects open/closed state, and Turn On/Off drives the physical valve (confirmed end-to-end, including from a control page).Backward compatibility
Additive only — a new device type plus branches keyed on
ha_valve. Existingha_generic-imported valves keep working; users can optionally recreate them asha_valvefor control.Happy to adjust naming or add the position/stop actions — thanks for considering it.