Skip to content

Commit e56383d

Browse files
committed
Consolidate cover calls to maybe_emit_state_changed_event into _determine_cover_position function
1 parent ff977f0 commit e56383d

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

.devcontainer/devcontainer.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/alpine
3+
{
4+
"name": "Alpine",
5+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6+
"image": "mcr.microsoft.com/devcontainers/base:alpine-3.20"
7+
8+
// Features to add to the dev container. More info: https://containers.dev/features.
9+
// "features": {},
10+
11+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
12+
// "forwardPorts": [],
13+
14+
// Use 'postCreateCommand' to run commands after the container is created.
15+
// "postCreateCommand": "uname -a",
16+
17+
// Configure tool-specific properties.
18+
// "customizations": {},
19+
20+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
21+
// "remoteUser": "root"
22+
}

zha/application/platforms/cover/__init__.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ def _determine_state(
359359

360360
def _determine_cover_state(
361361
self,
362+
*,
362363
is_lift_update: bool = False,
363364
is_tilt_update: bool = False,
364365
refresh: bool = False,
@@ -425,10 +426,9 @@ def _determine_cover_state(
425426
CoverState.CLOSING,
426427
) and self._lift_state in (CoverState.CLOSED, CoverState.OPEN):
427428
self._state = self._tilt_state
428-
return
429-
430-
# Pick lift state in preference over tilt
431-
self._state = self._lift_state or self._tilt_state
429+
else:
430+
self._state = self._lift_state or self._tilt_state
431+
self.maybe_emit_state_changed_event()
432432

433433
def _set_lift_transition_target(self, target: int) -> None:
434434
"""Set target position for the tilt transition."""
@@ -514,7 +514,6 @@ def _clear_lift_transition(self, determine_state: bool = False) -> None:
514514
if not determine_state:
515515
return
516516
self._determine_cover_state(refresh=True)
517-
self.maybe_emit_state_changed_event()
518517

519518
def _clear_tilt_transition(self, determine_state: bool = False) -> None:
520519
"""Clear the tilt transition."""
@@ -528,7 +527,6 @@ def _clear_tilt_transition(self, determine_state: bool = False) -> None:
528527
if not determine_state:
529528
return
530529
self._determine_cover_state(refresh=True)
531-
self.maybe_emit_state_changed_event()
532530

533531
def handle_cluster_handler_attribute_updated(
534532
self, event: ClusterAttributeUpdatedEvent
@@ -544,7 +542,6 @@ def handle_cluster_handler_attribute_updated(
544542
elif event.attribute_id == WCAttrs.current_position_tilt_percentage.id:
545543
self._tilt_position_history.append(self.current_cover_tilt_position)
546544
self._determine_cover_state(is_tilt_update=True)
547-
self.maybe_emit_state_changed_event()
548545

549546
def async_update_state(self, state):
550547
"""Handle state update from HA operations below."""
@@ -660,9 +657,7 @@ async def async_stop_cover(self, **kwargs: Any) -> None: # pylint: disable=unus
660657
raise ZHAException(f"Failed to stop cover: {res[1]}")
661658
self._clear_lift_transition()
662659
self._clear_tilt_transition()
663-
664660
self._determine_cover_state(refresh=True)
665-
self.maybe_emit_state_changed_event()
666661

667662
async def async_stop_cover_tilt(self, **kwargs: Any) -> None:
668663
"""Stop the cover tilt.

0 commit comments

Comments
 (0)