Compare commits

...

2 Commits

Author SHA1 Message Date
mib1185
19c059b1e9 fix it 2026-03-09 20:28:35 +00:00
mib1185
4d4241eff2 add is_closed state attribute to valve entity 2026-03-09 18:55:42 +00:00
9 changed files with 29 additions and 3 deletions

View File

@@ -62,6 +62,7 @@ class ValveEntityFeature(IntFlag):
ATTR_CURRENT_POSITION = "current_position"
ATTR_IS_CLOSED = "is_closed"
ATTR_POSITION = "position"
@@ -191,9 +192,13 @@ class ValveEntity(Entity):
@property
def state_attributes(self) -> dict[str, Any] | None:
"""Return the state attributes."""
if not self.reports_position:
return None
return {ATTR_CURRENT_POSITION: self.current_valve_position}
data: dict[str, Any] = {}
data[ATTR_IS_CLOSED] = self.is_closed
if self.reports_position:
data[ATTR_CURRENT_POSITION] = self.current_valve_position
return data
@property
def supported_features(self) -> ValveEntityFeature:

View File

@@ -4,6 +4,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': 'Mock Title',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -19,6 +20,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': 'Mock Title',
'is_closed': False,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,

View File

@@ -41,6 +41,7 @@
'current_position': 0,
'device_class': 'water',
'friendly_name': 'Test Valve Valve position',
'is_closed': None,
'supported_features': <ValveEntityFeature: 4>,
}),
'context': <ANY>,

View File

@@ -41,6 +41,7 @@
'attribution': 'Data provided by hydrawise.com',
'device_class': 'water',
'friendly_name': 'Zone One',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -93,6 +94,7 @@
'attribution': 'Data provided by hydrawise.com',
'device_class': 'water',
'friendly_name': 'Zone Two',
'is_closed': False,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,

View File

@@ -40,6 +40,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': 'Mock Valve',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,

View File

@@ -40,6 +40,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': 'volvo',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,

View File

@@ -40,6 +40,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': 'balkonbewässerung Valve',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -91,6 +92,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': 'Garden Valve Yard Valve',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -142,6 +144,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': '接HA水阀 Valve 1',
'is_closed': False,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -193,6 +196,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': '接HA水阀 Valve 2',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -244,6 +248,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': '接HA水阀 Valve 3',
'is_closed': False,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -295,6 +300,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': '接HA水阀 Valve 4',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -346,6 +352,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': '接HA水阀 Valve 5',
'is_closed': False,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -397,6 +404,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': '接HA水阀 Valve 6',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -448,6 +456,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': '接HA水阀 Valve 7',
'is_closed': False,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -499,6 +508,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': '接HA水阀 Valve 8',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -601,6 +611,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': 'Sprinkler Cesare Valve',
'is_closed': True,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,

View File

@@ -3,6 +3,7 @@
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Valve',
'is_closed': False,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,
@@ -18,6 +19,7 @@
'attributes': ReadOnlyDict({
'current_position': 50,
'friendly_name': 'Valve',
'is_closed': None,
'supported_features': <ValveEntityFeature: 15>,
}),
'context': <ANY>,

View File

@@ -4,6 +4,7 @@
'attributes': ReadOnlyDict({
'device_class': 'water',
'friendly_name': 'Sonic',
'is_closed': False,
'supported_features': <ValveEntityFeature: 3>,
}),
'context': <ANY>,