From 424203e656c2499ce0ab9778ebc609bc177f48f7 Mon Sep 17 00:00:00 2001 From: TheYOSH Date: Fri, 5 Jan 2024 22:47:00 +0100 Subject: [PATCH] Fix Voltcraft SEM6000 relay scanning. #874 --- hardware/relay/voltcraft_sem6000_relay.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/hardware/relay/voltcraft_sem6000_relay.py b/hardware/relay/voltcraft_sem6000_relay.py index 0e4bef458..efe4cf079 100644 --- a/hardware/relay/voltcraft_sem6000_relay.py +++ b/hardware/relay/voltcraft_sem6000_relay.py @@ -35,6 +35,7 @@ def _get_hardware_value(self): data = terrariumUtils.get_script_data( f"python 3rdparty/python3-voltcraft-sem6000/sem6000-cli-demo.py {self.address} 0000 request_measurement" ) + state = False if data: state = re.search(terrariumRelayVoltcraftSEM6000.POWER_STATE_REGEX, data.decode("utf-8")) if state: @@ -48,14 +49,14 @@ def _scan_relays(callback=None, **kwargs): terrariumUtils.get_script_data(f"python 3rdparty/python3-voltcraft-sem6000/sem6000-cli-demo.py discover") .decode("utf-8") .strip() - .split("\n") ) - for device in devices: - device = device.split("\t") - yield terrariumRelay( - None, - terrariumRelayVoltcraftSEM6000.HARDWARE, - device[1], - f"{terrariumRelayVoltcraftSEM6000.NAME} {device[0]} device mac: {device[1]}", - callback=callback, - ) + if devices: + for device in devices.split("\n"): + device = device.split("\t") + yield terrariumRelay( + None, + terrariumRelayVoltcraftSEM6000.HARDWARE, + device[1], + f"{terrariumRelayVoltcraftSEM6000.NAME} {device[0]} device mac: {device[1]}", + callback=callback, + )