Fixes in FHM switch & sensor

This commit is contained in:
Martin Bauer 2019-07-04 23:00:30 +02:00
parent 8bf29a5c82
commit 5b0215177f
2 changed files with 4 additions and 1 deletions

View File

@ -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)

View File

@ -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()