File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed
plugwise_usb/nodes/helpers Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -261,7 +261,12 @@ def energy(self) -> float | None:
261261 return None
262262 if self ._pulses == 0 :
263263 return 0.0
264- pulses_per_s = self ._pulses / float (HOUR_IN_SECONDS )
264+ # Handle both positive and negative pulses values
265+ negative = False
266+ if self ._pulses < 0 :
267+ negative = True
268+
269+ pulses_per_s = abs (self ._pulses ) / float (HOUR_IN_SECONDS )
265270 corrected_pulses = HOUR_IN_SECONDS * (
266271 (
267272 (
@@ -276,8 +281,8 @@ def energy(self) -> float | None:
276281 + self ._calibration .off_tot
277282 )
278283 calc_value = corrected_pulses / PULSES_PER_KW_SECOND / HOUR_IN_SECONDS
279- # Guard for minor negative miscalculations
280- calc_value = max ( calc_value , 0.0 )
284+ if negative :
285+ calc_value = - calc_value
281286 return calc_value
282287
283288 @property
You can’t perform that action at this time.
0 commit comments