|
23 | 23 | ) |
24 | 24 | from ..connection import StickController |
25 | 25 | from ..constants import ( |
26 | | - # DEFAULT_CONS_INTERVAL, |
| 26 | + DEFAULT_CONS_INTERVAL, |
27 | 27 | MAX_TIME_DRIFT, |
28 | 28 | MINIMAL_POWER_UPDATE, |
29 | | - # NO_PRODUCTION_INTERVAL, |
| 29 | + NO_PRODUCTION_INTERVAL, |
30 | 30 | PULSES_PER_KW_SECOND, |
31 | 31 | SECOND_IN_NANOSECONDS, |
32 | 32 | ) |
33 | | -from ..exceptions import FeatureError, NodeError # MessageError |
| 33 | +from ..exceptions import FeatureError, MessageError, NodeError |
34 | 34 | from ..messages.requests import ( |
35 | 35 | CircleClockGetRequest, |
36 | 36 | CircleClockSetRequest, |
37 | 37 | CircleEnergyLogsRequest, |
38 | | - # CircleMeasureIntervalRequest, |
| 38 | + CircleMeasureIntervalRequest, |
39 | 39 | CirclePowerUsageRequest, |
40 | 40 | CircleRelayInitStateRequest, |
41 | 41 | CircleRelaySwitchRequest, |
@@ -1241,46 +1241,47 @@ async def energy_reset_request(self) -> None: |
1241 | 1241 | "Unable to energy-rest when protocol version is unknown" |
1242 | 1242 | ) |
1243 | 1243 |
|
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 | + ) |
1258 | 1258 |
|
1259 | 1259 | _LOGGER.warning("Energy reset for Node %s successful", self._mac_in_bytes) |
| 1260 | + |
1260 | 1261 | # 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 | + ) |
1274 | 1275 | _LOGGER.warning("Resetting energy intervals to default (= consumption only)") |
1275 | 1276 |
|
1276 | 1277 | # Clear the cached energy_collection |
1277 | 1278 | if self._cache_enabled: |
1278 | | - #self._node_cache.update_state(CACHE_ENERGY_COLLECTION, "") |
| 1279 | + self._node_cache.update_state(CACHE_ENERGY_COLLECTION, "") |
1279 | 1280 | _LOGGER.warning("Energy-collection cache cleared successfully") |
1280 | | - #await self._node_cache.save_cache() |
| 1281 | + await self._node_cache.save_cache() |
1281 | 1282 |
|
1282 | 1283 | # Clear PulseCollection._logs |
1283 | | - #self._energy_counters.reset_pulse_collection() |
| 1284 | + self._energy_counters.reset_pulse_collection() |
1284 | 1285 | _LOGGER.warning("Resetting pulse-collection") |
1285 | 1286 |
|
1286 | 1287 | # Request a NodeInfo update |
|
0 commit comments