Skip to content

Commit 2ed14ff

Browse files
committed
Move energy-reset function into circle.py
1 parent 5230949 commit 2ed14ff

File tree

2 files changed

+26
-29
lines changed

2 files changed

+26
-29
lines changed

plugwise_usb/network/__init__.py

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -526,35 +526,6 @@ async def stop(self) -> None:
526526

527527
# endregion
528528

529-
async def energy_reset_request(self, mac: str) -> None:
530-
"""Send an energy-reset to a Node."""
531-
self._validate_energy_node(mac)
532-
node_protocols = self._nodes[mac].node_protocols
533-
request = CircleClockSetRequest(
534-
self._controller.send,
535-
bytes(mac, UTF8),
536-
datetime.now(tz=UTC),
537-
node_protocols.max,
538-
True,
539-
)
540-
if (response := await request.send()) is None:
541-
raise NodeError(f"Energy-reset for {mac} failed")
542-
543-
if response.ack_id != NodeResponseType.CLOCK_ACCEPTED:
544-
raise MessageError(
545-
f"Unexpected NodeResponseType {response.ack_id!r} received as response to CircleClockSetRequest"
546-
)
547-
548-
# Clear the cached energy_collection
549-
if self._cache_enabled:
550-
node_cache = NodeCache(mac)
551-
node_cache.update_state(CACHE_ENERGY_COLLECTION, "")
552-
await node_cache.save_cache()
553-
554-
# Clear PulseCollection._logs
555-
pulse_collection = PulseCollection(mac)
556-
pulse_collection.reset()
557-
558529
async def set_energy_intervals(
559530
self, mac: str, consumption: int, production: int
560531
) -> None:

plugwise_usb/nodes/circle.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1225,3 +1225,29 @@ async def get_state(self, features: tuple[NodeFeature]) -> dict[NodeFeature, Any
12251225
states[NodeFeature.AVAILABLE] = self.available_state
12261226

12271227
return states
1228+
1229+
async def energy_reset_request(self) -> None:
1230+
"""Send an energy-reset to a Node."""
1231+
request = CircleClockSetRequest(
1232+
self._send,
1233+
self._mac_in_bytes,
1234+
datetime.now(tz=UTC),
1235+
self._node_protocols.max,
1236+
True,
1237+
)
1238+
if (response := await request.send()) is None:
1239+
raise NodeError(f"Energy-reset for {mac} failed")
1240+
1241+
if response.ack_id != NodeResponseType.CLOCK_ACCEPTED:
1242+
raise MessageError(
1243+
f"Unexpected NodeResponseType {response.ack_id!r} received as response to CircleClockSetRequest"
1244+
)
1245+
1246+
# Clear the cached energy_collection
1247+
if self._cache_enabled:
1248+
self._node_cache.update_state(CACHE_ENERGY_COLLECTION, "")
1249+
await self._node_cache.save_cache()
1250+
1251+
# Request a NodeInfo update
1252+
if await self.node_info_update() is None:
1253+
_LOGGER.warning("Node info update failed after energy-reset")

0 commit comments

Comments
 (0)