mirror of
https://github.com/home-assistant/core.git
synced 2025-06-16 02:57:06 +00:00
Fixed rfxtrx binary_sensor off command (#8160)
* Fixed applying rfxtrx binary off command * Fixed some deprecation issues
This commit is contained in:
parent
07293e8d1e
commit
fe93b51017
@ -19,7 +19,7 @@ from homeassistant.components.rfxtrx import (
|
|||||||
ATTR_DATA_BITS, CONF_DEVICES
|
ATTR_DATA_BITS, CONF_DEVICES
|
||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_SENSOR_CLASS, CONF_COMMAND_ON, CONF_COMMAND_OFF
|
CONF_DEVICE_CLASS, CONF_COMMAND_ON, CONF_COMMAND_OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
DEPENDENCIES = ["rfxtrx"]
|
DEPENDENCIES = ["rfxtrx"]
|
||||||
@ -52,10 +52,10 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
|||||||
entity[ATTR_DATA_BITS]))
|
entity[ATTR_DATA_BITS]))
|
||||||
|
|
||||||
_LOGGER.info("Add %s rfxtrx.binary_sensor (class %s)",
|
_LOGGER.info("Add %s rfxtrx.binary_sensor (class %s)",
|
||||||
entity[ATTR_NAME], entity[CONF_SENSOR_CLASS])
|
entity[ATTR_NAME], entity[CONF_DEVICE_CLASS])
|
||||||
|
|
||||||
device = RfxtrxBinarySensor(event, entity[ATTR_NAME],
|
device = RfxtrxBinarySensor(event, entity[ATTR_NAME],
|
||||||
entity[CONF_SENSOR_CLASS],
|
entity[CONF_DEVICE_CLASS],
|
||||||
entity[ATTR_FIREEVENT],
|
entity[ATTR_FIREEVENT],
|
||||||
entity[ATTR_OFF_DELAY],
|
entity[ATTR_OFF_DELAY],
|
||||||
entity[ATTR_DATA_BITS],
|
entity[ATTR_DATA_BITS],
|
||||||
@ -118,8 +118,7 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
|||||||
cmd, sensor.masked_id)
|
cmd, sensor.masked_id)
|
||||||
sensor.apply_cmd(int(cmd, 16))
|
sensor.apply_cmd(int(cmd, 16))
|
||||||
else:
|
else:
|
||||||
if not sensor.is_on or sensor.should_fire_event:
|
rfxtrx.apply_received_command(event)
|
||||||
sensor.update_state(True)
|
|
||||||
|
|
||||||
if (sensor.is_on and sensor.off_delay is not None and
|
if (sensor.is_on and sensor.off_delay is not None and
|
||||||
sensor.delay_listener is None):
|
sensor.delay_listener is None):
|
||||||
@ -142,14 +141,14 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
|||||||
class RfxtrxBinarySensor(BinarySensorDevice):
|
class RfxtrxBinarySensor(BinarySensorDevice):
|
||||||
"""An Rfxtrx binary sensor."""
|
"""An Rfxtrx binary sensor."""
|
||||||
|
|
||||||
def __init__(self, event, name, sensor_class=None,
|
def __init__(self, event, name, device_class=None,
|
||||||
should_fire=False, off_delay=None, data_bits=None,
|
should_fire=False, off_delay=None, data_bits=None,
|
||||||
cmd_on=None, cmd_off=None):
|
cmd_on=None, cmd_off=None):
|
||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
self.event = event
|
self.event = event
|
||||||
self._name = name
|
self._name = name
|
||||||
self._should_fire_event = should_fire
|
self._should_fire_event = should_fire
|
||||||
self._sensor_class = sensor_class
|
self._device_class = device_class
|
||||||
self._off_delay = off_delay
|
self._off_delay = off_delay
|
||||||
self._state = False
|
self._state = False
|
||||||
self.delay_listener = None
|
self.delay_listener = None
|
||||||
@ -207,9 +206,9 @@ class RfxtrxBinarySensor(BinarySensorDevice):
|
|||||||
return self._should_fire_event
|
return self._should_fire_event
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def sensor_class(self):
|
def device_class(self):
|
||||||
"""Return the sensor class."""
|
"""Return the sensor class."""
|
||||||
return self._sensor_class
|
return self._device_class
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def off_delay(self):
|
def off_delay(self):
|
||||||
@ -231,4 +230,4 @@ class RfxtrxBinarySensor(BinarySensorDevice):
|
|||||||
def update_state(self, state):
|
def update_state(self, state):
|
||||||
"""Update the state of the device."""
|
"""Update the state of the device."""
|
||||||
self._state = state
|
self._state = state
|
||||||
self.update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
@ -13,7 +13,7 @@ from homeassistant.util import slugify
|
|||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
EVENT_HOMEASSISTANT_STOP,
|
EVENT_HOMEASSISTANT_STOP,
|
||||||
ATTR_ENTITY_ID, TEMP_CELSIUS,
|
ATTR_ENTITY_ID, TEMP_CELSIUS,
|
||||||
CONF_SENSOR_CLASS, CONF_COMMAND_ON, CONF_COMMAND_OFF
|
CONF_DEVICE_CLASS, CONF_COMMAND_ON, CONF_COMMAND_OFF
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ DEVICE_SCHEMA_SENSOR = vol.Schema({
|
|||||||
|
|
||||||
DEVICE_SCHEMA_BINARYSENSOR = vol.Schema({
|
DEVICE_SCHEMA_BINARYSENSOR = vol.Schema({
|
||||||
vol.Optional(ATTR_NAME, default=None): cv.string,
|
vol.Optional(ATTR_NAME, default=None): cv.string,
|
||||||
vol.Optional(CONF_SENSOR_CLASS, default=None): cv.string,
|
vol.Optional(CONF_DEVICE_CLASS, default=None): cv.string,
|
||||||
vol.Optional(ATTR_FIREEVENT, default=False): cv.boolean,
|
vol.Optional(ATTR_FIREEVENT, default=False): cv.boolean,
|
||||||
vol.Optional(ATTR_OFF_DELAY, default=None):
|
vol.Optional(ATTR_OFF_DELAY, default=None):
|
||||||
vol.Any(cv.time_period, cv.positive_timedelta),
|
vol.Any(cv.time_period, cv.positive_timedelta),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user