Skip to content

Commit 2924bc1

Browse files
committed
improve node_info_update/node_detail_update logic
1 parent 0698cce commit 2924bc1

File tree

1 file changed

+18
-21
lines changed

1 file changed

+18
-21
lines changed

plugwise_usb/nodes/circle.py

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,23 +1033,6 @@ async def node_info_update(
10331033
return None
10341034

10351035
await super().node_info_update(node_info)
1036-
await self._relay_update_state(
1037-
node_info.relay_state, timestamp=node_info.timestamp
1038-
)
1039-
if self._current_log_address is not None and (
1040-
self._current_log_address > node_info.current_logaddress_pointer
1041-
or self._current_log_address == 1
1042-
):
1043-
# Rollover of log address
1044-
_LOGGER.debug(
1045-
"Rollover log address from %s into %s for node %s",
1046-
self._current_log_address,
1047-
node_info.current_logaddress_pointer,
1048-
self._mac_in_str,
1049-
)
1050-
1051-
if self._current_log_address != node_info.current_logaddress_pointer:
1052-
self._current_log_address = node_info.current_logaddress_pointer
10531036

10541037
return self._node_info
10551038

@@ -1059,10 +1042,24 @@ async def update_node_details(
10591042
) -> bool:
10601043
"""Process new node info and return true if all fields are updated."""
10611044
if node_info.relay_state is not None:
1062-
self._relay_state = replace(
1063-
self._relay_state,
1064-
state=node_info.relay_state,
1065-
timestamp=node_info.timestamp,
1045+
await self._relay_update_state(
1046+
node_info.relay_state, timestamp=node_info.timestamp
1047+
)
1048+
1049+
if (
1050+
node_info.current_logaddress_pointer is not None
1051+
and self._current_log_address is not None
1052+
and (
1053+
self._current_log_address > node_info.current_logaddress_pointer
1054+
or self._current_log_address == 1
1055+
)
1056+
):
1057+
# Rollover of log address
1058+
_LOGGER.debug(
1059+
"Rollover log address from %s into %s for node %s",
1060+
self._current_log_address,
1061+
node_info.current_logaddress_pointer,
1062+
self._mac_in_str,
10661063
)
10671064

10681065
if node_info.current_logaddress_pointer is not None:

0 commit comments

Comments
 (0)