mirror of
https://github.com/home-assistant/core.git
synced 2025-06-15 10:37: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
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_SENSOR_CLASS, CONF_COMMAND_ON, CONF_COMMAND_OFF
|
||||
CONF_DEVICE_CLASS, CONF_COMMAND_ON, CONF_COMMAND_OFF
|
||||
)
|
||||
|
||||
DEPENDENCIES = ["rfxtrx"]
|
||||
@ -52,10 +52,10 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
||||
entity[ATTR_DATA_BITS]))
|
||||
|
||||
_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],
|
||||
entity[CONF_SENSOR_CLASS],
|
||||
entity[CONF_DEVICE_CLASS],
|
||||
entity[ATTR_FIREEVENT],
|
||||
entity[ATTR_OFF_DELAY],
|
||||
entity[ATTR_DATA_BITS],
|
||||
@ -118,8 +118,7 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
||||
cmd, sensor.masked_id)
|
||||
sensor.apply_cmd(int(cmd, 16))
|
||||
else:
|
||||
if not sensor.is_on or sensor.should_fire_event:
|
||||
sensor.update_state(True)
|
||||
rfxtrx.apply_received_command(event)
|
||||
|
||||
if (sensor.is_on and sensor.off_delay is not None and
|
||||
sensor.delay_listener is None):
|
||||
@ -142,14 +141,14 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
||||
class RfxtrxBinarySensor(BinarySensorDevice):
|
||||
"""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,
|
||||
cmd_on=None, cmd_off=None):
|
||||
"""Initialize the sensor."""
|
||||
self.event = event
|
||||
self._name = name
|
||||
self._should_fire_event = should_fire
|
||||
self._sensor_class = sensor_class
|
||||
self._device_class = device_class
|
||||
self._off_delay = off_delay
|
||||
self._state = False
|
||||
self.delay_listener = None
|
||||
@ -207,9 +206,9 @@ class RfxtrxBinarySensor(BinarySensorDevice):
|
||||
return self._should_fire_event
|
||||
|
||||
@property
|
||||
def sensor_class(self):
|
||||
def device_class(self):
|
||||
"""Return the sensor class."""
|
||||
return self._sensor_class
|
||||
return self._device_class
|
||||
|
||||
@property
|
||||
def off_delay(self):
|
||||
@ -231,4 +230,4 @@ class RfxtrxBinarySensor(BinarySensorDevice):
|
||||
def update_state(self, state):
|
||||
"""Update the state of the device."""
|
||||
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 (
|
||||
EVENT_HOMEASSISTANT_STOP,
|
||||
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
|
||||
|
||||
@ -123,7 +123,7 @@ DEVICE_SCHEMA_SENSOR = vol.Schema({
|
||||
|
||||
DEVICE_SCHEMA_BINARYSENSOR = vol.Schema({
|
||||
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_OFF_DELAY, default=None):
|
||||
vol.Any(cv.time_period, cv.positive_timedelta),
|
||||
|
Loading…
x
Reference in New Issue
Block a user