From 4c45e9211679b54e11651daadb121610e81b2095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20Sandstr=C3=B6m?= Date: Tue, 27 Sep 2016 05:46:34 +0200 Subject: [PATCH] modbus update, add error log instead of AttributeError exception (#3517) --- homeassistant/components/sensor/modbus.py | 6 ++++++ homeassistant/components/switch/modbus.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/homeassistant/components/sensor/modbus.py b/homeassistant/components/sensor/modbus.py index da208492448..266583d4dd1 100644 --- a/homeassistant/components/sensor/modbus.py +++ b/homeassistant/components/sensor/modbus.py @@ -93,6 +93,12 @@ class ModbusRegisterSensor(Entity): self._register, self._count) val = 0 + if not result: + _LOGGER.error( + 'No response from modbus slave %s register %s', + self._slave, + self._register) + return for i, res in enumerate(result.registers): val += res * (2**(i*16)) self._value = format( diff --git a/homeassistant/components/switch/modbus.py b/homeassistant/components/switch/modbus.py index 0d23d8927ea..18247b452d2 100644 --- a/homeassistant/components/switch/modbus.py +++ b/homeassistant/components/switch/modbus.py @@ -72,4 +72,10 @@ class ModbusCoilSwitch(ToggleEntity): def update(self): """Update the state of the switch.""" result = modbus.HUB.read_coils(self._slave, self._coil, 1) + if not result: + _LOGGER.error( + 'No response from modbus slave %s coil %s', + self._slave, + self._coil) + return self._is_on = bool(result.bits[0])