Fix streaming window cover entity in Teslemetry (#145012)

This commit is contained in:
Brett Adams 2025-05-20 06:13:15 +10:00 committed by GitHub
parent 741cb23776
commit ffb485aa87
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 11 deletions

View File

@ -201,14 +201,22 @@ class TeslemetryStreamingWindowEntity(
def _handle_stream_update(self, data) -> None: def _handle_stream_update(self, data) -> None:
"""Update the entity attributes.""" """Update the entity attributes."""
if value := data.get(Signal.FD_WINDOW): change = False
self.fd = WindowState.get(value) == "closed" if value := data["data"].get(Signal.FD_WINDOW):
if value := data.get(Signal.FP_WINDOW): self.fd = WindowState.get(value) == "Closed"
self.fp = WindowState.get(value) == "closed" change = True
if value := data.get(Signal.RD_WINDOW): if value := data["data"].get(Signal.FP_WINDOW):
self.rd = WindowState.get(value) == "closed" self.fp = WindowState.get(value) == "Closed"
if value := data.get(Signal.RP_WINDOW): change = True
self.rp = WindowState.get(value) == "closed" if value := data["data"].get(Signal.RD_WINDOW):
self.rd = WindowState.get(value) == "Closed"
change = True
if value := data["data"].get(Signal.RP_WINDOW):
self.rp = WindowState.get(value) == "Closed"
change = True
if not change:
return
if False in (self.fd, self.fp, self.rd, self.rp): if False in (self.fd, self.fp, self.rd, self.rp):
self._attr_is_closed = False self._attr_is_closed = False

View File

@ -713,11 +713,11 @@
'unknown' 'unknown'
# --- # ---
# name: test_cover_streaming[cover.test_windows-closed] # name: test_cover_streaming[cover.test_windows-closed]
'unknown' 'closed'
# --- # ---
# name: test_cover_streaming[cover.test_windows-open] # name: test_cover_streaming[cover.test_windows-open]
'unknown' 'open'
# --- # ---
# name: test_cover_streaming[cover.test_windows-unknown] # name: test_cover_streaming[cover.test_windows-unknown]
'unknown' 'open'
# --- # ---