Skip to content

Commit 2c1a127

Browse files
committed
Try method from PHP-code
1 parent 5c21e36 commit 2c1a127

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

plugwise_usb/nodes/circle.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1024,6 +1024,11 @@ def _calc_watts(self, pulses: int, seconds: int, nano_offset: int) -> float | No
10241024
return None
10251025

10261026
pulses_per_s = self._correct_power_pulses(pulses, nano_offset) / float(seconds)
1027+
negative = False
1028+
if pulses_per_s < 0:
1029+
negative = True
1030+
pulses_per_s = abs(pulses_per_s)
1031+
10271032
corrected_pulses = seconds * (
10281033
(
10291034
(
@@ -1037,18 +1042,10 @@ def _calc_watts(self, pulses: int, seconds: int, nano_offset: int) -> float | No
10371042
)
10381043
+ self._calibration.off_tot
10391044
)
1045+
if negative:
1046+
corrected_pulses = -corrected_pulses
10401047

1041-
# Fix minor miscalculations
1042-
# if (
1043-
calc_value = corrected_pulses / PULSES_PER_KW_SECOND / seconds * (1000)
1044-
# ) >= 0.0:
1045-
return calc_value
1046-
# _LOGGER.debug(
1047-
# "Correct negative power %s to 0.0 for %s",
1048-
# str(corrected_pulses / PULSES_PER_KW_SECOND / seconds * 1000),
1049-
# self._mac_in_str,
1050-
# )
1051-
# return 0.0
1048+
return corrected_pulses / PULSES_PER_KW_SECOND / seconds * (1000)
10521049

10531050
def _correct_power_pulses(self, pulses: int, offset: int) -> float:
10541051
"""Correct pulses based on given measurement time offset (ns)."""

0 commit comments

Comments
 (0)