Merge branch 'master' of https://github.com/vitorespindola/home-assistant
Conflicts: homeassistant/components/sensor/modbus.py homeassistant/components/switch/modbus.py
This commit is contained in:
commit
f97b7c9e61
1 changed files with 7 additions and 4 deletions
|
@ -69,6 +69,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
||||||
|
|
||||||
|
|
||||||
class ModbusSwitch(ToggleEntity):
|
class ModbusSwitch(ToggleEntity):
|
||||||
|
# pylint: disable=too-many-arguments
|
||||||
""" Represents a Modbus switch. """
|
""" Represents a Modbus switch. """
|
||||||
|
|
||||||
def __init__(self, name, slave, register, bit, coil=False):
|
def __init__(self, name, slave, register, bit, coil=False):
|
||||||
|
@ -108,11 +109,12 @@ class ModbusSwitch(ToggleEntity):
|
||||||
|
|
||||||
def turn_on(self, **kwargs):
|
def turn_on(self, **kwargs):
|
||||||
""" Set switch on. """
|
""" Set switch on. """
|
||||||
|
if self.register_value is None:
|
||||||
|
self.update()
|
||||||
|
|
||||||
if self._coil:
|
if self._coil:
|
||||||
modbus.NETWORK.write_coil(self.register, True)
|
modbus.NETWORK.write_coil(self.register, True)
|
||||||
else:
|
else:
|
||||||
if self.register_value is None:
|
|
||||||
self.update()
|
|
||||||
val = self.register_value | (0x0001 << self.bit)
|
val = self.register_value | (0x0001 << self.bit)
|
||||||
modbus.NETWORK.write_register(unit=self.slave,
|
modbus.NETWORK.write_register(unit=self.slave,
|
||||||
address=self.register,
|
address=self.register,
|
||||||
|
@ -120,11 +122,12 @@ class ModbusSwitch(ToggleEntity):
|
||||||
|
|
||||||
def turn_off(self, **kwargs):
|
def turn_off(self, **kwargs):
|
||||||
""" Set switch off. """
|
""" Set switch off. """
|
||||||
|
if self.register_value is None:
|
||||||
|
self.update()
|
||||||
|
|
||||||
if self._coil:
|
if self._coil:
|
||||||
modbus.NETWORK.write_coil(self.register, False)
|
modbus.NETWORK.write_coil(self.register, False)
|
||||||
else:
|
else:
|
||||||
if self.register_value is None:
|
|
||||||
self.update()
|
|
||||||
val = self.register_value & ~(0x0001 << self.bit)
|
val = self.register_value & ~(0x0001 << self.bit)
|
||||||
modbus.NETWORK.write_register(unit=self.slave,
|
modbus.NETWORK.write_register(unit=self.slave,
|
||||||
address=self.register,
|
address=self.register,
|
||||||
|
|
Loading…
Add table
Reference in a new issue