Skip to content

Commit 9e8e105

Browse files
committed
Fully enable energy-resetting
1 parent 1031423 commit 9e8e105

File tree

1 file changed

+35
-34
lines changed

1 file changed

+35
-34
lines changed

plugwise_usb/nodes/circle.py

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,19 @@
2323
)
2424
from ..connection import StickController
2525
from ..constants import (
26-
# DEFAULT_CONS_INTERVAL,
26+
DEFAULT_CONS_INTERVAL,
2727
MAX_TIME_DRIFT,
2828
MINIMAL_POWER_UPDATE,
29-
# NO_PRODUCTION_INTERVAL,
29+
NO_PRODUCTION_INTERVAL,
3030
PULSES_PER_KW_SECOND,
3131
SECOND_IN_NANOSECONDS,
3232
)
33-
from ..exceptions import FeatureError, NodeError # MessageError
33+
from ..exceptions import FeatureError, MessageError, NodeError
3434
from ..messages.requests import (
3535
CircleClockGetRequest,
3636
CircleClockSetRequest,
3737
CircleEnergyLogsRequest,
38-
# CircleMeasureIntervalRequest,
38+
CircleMeasureIntervalRequest,
3939
CirclePowerUsageRequest,
4040
CircleRelayInitStateRequest,
4141
CircleRelaySwitchRequest,
@@ -1241,46 +1241,47 @@ async def energy_reset_request(self) -> None:
12411241
"Unable to energy-rest when protocol version is unknown"
12421242
)
12431243

1244-
#request = CircleClockSetRequest(
1245-
# self._send,
1246-
# self._mac_in_bytes,
1247-
# datetime.now(tz=UTC),
1248-
# self._node_protocols.max,
1249-
# True,
1250-
#)
1251-
#if (response := await request.send()) is None:
1252-
# raise NodeError(f"Energy-reset for {self._mac_in_str} failed")
1253-
1254-
#if response.ack_id != NodeResponseType.CLOCK_ACCEPTED:
1255-
# raise MessageError(
1256-
# f"Unexpected NodeResponseType {response.ack_id!r} received as response to CircleClockSetRequest"
1257-
# )
1244+
request = CircleClockSetRequest(
1245+
self._send,
1246+
self._mac_in_bytes,
1247+
datetime.now(tz=UTC),
1248+
self._node_protocols.max,
1249+
True,
1250+
)
1251+
if (response := await request.send()) is None:
1252+
raise NodeError(f"Energy-reset for {self._mac_in_str} failed")
1253+
1254+
if response.ack_id != NodeResponseType.CLOCK_ACCEPTED:
1255+
raise MessageError(
1256+
f"Unexpected NodeResponseType {response.ack_id!r} received as response to CircleClockSetRequest"
1257+
)
12581258

12591259
_LOGGER.warning("Energy reset for Node %s successful", self._mac_in_bytes)
1260+
12601261
# Follow up by an energy-intervals (re)set
1261-
#request = CircleMeasureIntervalRequest(
1262-
# self._send,
1263-
# self._mac_in_bytes,
1264-
# DEFAULT_CONS_INTERVAL,
1265-
# NO_PRODUCTION_INTERVAL,
1266-
#)
1267-
#if (response := await request.send()) is None:
1268-
# raise NodeError("No response for CircleMeasureIntervalRequest.")
1269-
1270-
#if response.response_type != NodeResponseType.POWER_LOG_INTERVAL_ACCEPTED:
1271-
# raise MessageError(
1272-
# f"Unknown NodeResponseType '{response.response_type.name}' received"
1273-
# )
1262+
request = CircleMeasureIntervalRequest(
1263+
self._send,
1264+
self._mac_in_bytes,
1265+
DEFAULT_CONS_INTERVAL,
1266+
NO_PRODUCTION_INTERVAL,
1267+
)
1268+
if (response := await request.send()) is None:
1269+
raise NodeError("No response for CircleMeasureIntervalRequest.")
1270+
1271+
if response.response_type != NodeResponseType.POWER_LOG_INTERVAL_ACCEPTED:
1272+
raise MessageError(
1273+
f"Unknown NodeResponseType '{response.response_type.name}' received"
1274+
)
12741275
_LOGGER.warning("Resetting energy intervals to default (= consumption only)")
12751276

12761277
# Clear the cached energy_collection
12771278
if self._cache_enabled:
1278-
#self._node_cache.update_state(CACHE_ENERGY_COLLECTION, "")
1279+
self._node_cache.update_state(CACHE_ENERGY_COLLECTION, "")
12791280
_LOGGER.warning("Energy-collection cache cleared successfully")
1280-
#await self._node_cache.save_cache()
1281+
await self._node_cache.save_cache()
12811282

12821283
# Clear PulseCollection._logs
1283-
#self._energy_counters.reset_pulse_collection()
1284+
self._energy_counters.reset_pulse_collection()
12841285
_LOGGER.warning("Resetting pulse-collection")
12851286

12861287
# Request a NodeInfo update

0 commit comments

Comments
 (0)