Skip to content

Commit 118e8e4

Browse files
committed
Improve
1 parent 15f4340 commit 118e8e4

File tree

1 file changed

+13
-26
lines changed

1 file changed

+13
-26
lines changed

plugwise_usb/nodes/circle.py

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@
3535
CircleClockGetRequest,
3636
CircleClockSetRequest,
3737
CircleEnergyLogsRequest,
38+
CircleMeasureIntervalRequest,
3839
CirclePowerUsageRequest,
3940
CircleRelayInitStateRequest,
4041
CircleRelaySwitchRequest,
4142
EnergyCalibrationRequest,
4243
NodeInfoRequest,
4344
)
4445
from ..messages.responses import NodeInfoResponse, NodeResponseType
45-
from ..network import StickNetwork
4646
from .helpers import EnergyCalibration, raise_not_loaded
4747
from .helpers.counter import EnergyCounters
4848
from .helpers.firmware import CIRCLE_FIRMWARE_SUPPORT
@@ -1253,13 +1253,19 @@ async def energy_reset_request(self) -> None:
12531253

12541254
_LOGGER.warning("Energy reset for Node %s successful", self._mac_in_bytes)
12551255
# Follow up by an energy-intervals (re)set
1256-
network = StickNetwork()
1257-
if not (
1258-
await network.set_energy_intervals(
1259-
mac, DEFAULT_CONS_INTERVAL, NO_PRODUCTION_INTERVAL
1256+
request = CircleMeasureIntervalRequest(
1257+
self._send,
1258+
self._mac_in_bytes,
1259+
DEFAULT_CONS_INTERVAL,
1260+
NO_PRODUCTION_INTERVAL,
1261+
)
1262+
if (response := await request.send()) is None:
1263+
raise NodeError("No response for CircleMeasureIntervalRequest.")
1264+
1265+
if response.response_type != NodeResponseType.POWER_LOG_INTERVAL_ACCEPTED:
1266+
raise MessageError(
1267+
f"Unknown NodeResponseType '{response.response_type.name}' received"
12601268
)
1261-
):
1262-
_LOGGER.warning("Failed enery-intervals (re)set after an energy-reset")
12631269

12641270
# Clear the cached energy_collection
12651271
if self._cache_enabled:
@@ -1275,22 +1281,3 @@ async def energy_reset_request(self) -> None:
12751281
_LOGGER.warning("Node info update failed after energy-reset")
12761282
else:
12771283
_LOGGER.warning("Node info update after energy-reset successful")
1278-
1279-
1280-
async def energy_reset_request(self, mac: str) -> bool:
1281-
"""Send an energy-reset request to a Node."""
1282-
_LOGGER.debug("Resetting energy logs for %s", mac)
1283-
try:
1284-
await self._network.energy_reset_request(mac)
1285-
except (MessageError, NodeError) as exc:
1286-
raise NodeError(f"{exc}") from exc
1287-
1288-
# Follow up by an energy-intervals (re)set
1289-
if (
1290-
result := await self.set_energy_intervals(
1291-
mac, DEFAULT_CONS_INTERVAL, NO_PRODUCTION_INTERVAL
1292-
)
1293-
):
1294-
return result
1295-
1296-
return False

0 commit comments

Comments
 (0)