From 5b0215177f71a581ec138bde8b616237d7e92e72 Mon Sep 17 00:00:00 2001 From: Martin Bauer Date: Thu, 4 Jul 2019 23:00:30 +0200 Subject: [PATCH] Fixes in FHM switch & sensor --- custom_components/fhem/sensor.py | 2 +- custom_components/fhem/switch.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/custom_components/fhem/sensor.py b/custom_components/fhem/sensor.py index 9c92d2d..1909e90 100644 --- a/custom_components/fhem/sensor.py +++ b/custom_components/fhem/sensor.py @@ -66,7 +66,7 @@ class FhemSensor(Entity): _, new_value = line.split(':') self._state = int(float(new_value) / 255 * 100) await self.async_update_ha_state() - elif self._type == 'power': + elif self._type == 'power' and line.startswith('power'): self._available = True _, new_value = line self._state = int(new_value) diff --git a/custom_components/fhem/switch.py b/custom_components/fhem/switch.py index db6f0fb..5436be7 100644 --- a/custom_components/fhem/switch.py +++ b/custom_components/fhem/switch.py @@ -60,6 +60,7 @@ class FhemSwitch(SwitchDevice): self.connection.fhem_set(self._ids[0], 'off') async def line_received(self, line): + line = line.strip() if line.startswith('level:'): _, new_state = line.split(':') new_state = new_state.strip().lower() @@ -68,6 +69,8 @@ class FhemSwitch(SwitchDevice): if new_state in ('off', '0'): self._on = False await self.async_update_ha_state() + elif line in ('on', 'off'): + self._on = (line == 'on') elif line.startswith('ResndFail') or line.startswith('MISSING ACK'): self._available = False await self.async_update_ha_state()