Skip to content

Commit 8f99e75

Browse files
committed
block-wise reading for sml power meter serial data for speed-up after performance problems
1 parent 904aa76 commit 8f99e75

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

Diff for: powermetersmlobis.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def _run(self) -> None:
164164
def _step(self) -> None:
165165
self._open_serial()
166166
try:
167-
data = self._serial.read()
167+
data = self._serial.read(1024)
168168
except SerialException as err:
169169
self._close_serial()
170170
return
@@ -214,7 +214,7 @@ def _print_callback(reader: PowerMeterSmlObisReader):
214214

215215

216216
def _serial_factory():
217-
return Serial(port="/dev/ttyUSB0", baudrate=9600)
217+
return Serial(port="/dev/ttyUSB0", baudrate=9600, timeout=0.2)
218218

219219

220220
reader = PowerMeterSmlObisReader(serial_factory=_serial_factory)

Diff for: signalsourcesconfig.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
pigpio_pi = pigpio.pi()
2929

3030
power_meter_heat = PowerMeterApatorEC3Repeating(PowerMeterApatorEC3("/dev/serial0"), 10, 2*60)
31-
power_meter_household = PowerMeterSmlObisReader(serial_factory=lambda: Serial(port="/dev/ttyUSB0", baudrate=9600))
31+
power_meter_household = PowerMeterSmlObisReader(serial_factory=lambda: Serial(port="/dev/ttyUSB0", baudrate=9600, timeout=0.2))
3232

3333

3434
def power_meter_hh_map_func(identifier: str, pmeter: PowerMeterSmlObisReader, _: Any) -> SignalValue:

0 commit comments

Comments
 (0)