mirror of
https://github.com/home-assistant/core.git
synced 2025-07-17 10:17:09 +00:00
Fix broken status update for lighting4 devices (#8543)
* Fix broken status update for lighting4 devices * Fixed indentation
This commit is contained in:
parent
8a42e1551a
commit
ee05a4ab89
@ -62,6 +62,7 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
|||||||
entity[CONF_COMMAND_ON],
|
entity[CONF_COMMAND_ON],
|
||||||
entity[CONF_COMMAND_OFF])
|
entity[CONF_COMMAND_OFF])
|
||||||
device.hass = hass
|
device.hass = hass
|
||||||
|
device.is_lighting4 = (packet_id[2:4] == '13')
|
||||||
sensors.append(device)
|
sensors.append(device)
|
||||||
rfxtrx.RFX_DEVICES[device_id] = device
|
rfxtrx.RFX_DEVICES[device_id] = device
|
||||||
|
|
||||||
@ -94,6 +95,8 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
|||||||
|
|
||||||
pkt_id = "".join("{0:02x}".format(x) for x in event.data)
|
pkt_id = "".join("{0:02x}".format(x) for x in event.data)
|
||||||
sensor = RfxtrxBinarySensor(event, pkt_id)
|
sensor = RfxtrxBinarySensor(event, pkt_id)
|
||||||
|
sensor.hass = hass
|
||||||
|
sensor.is_lighting4 = (pkt_id[2:4] == '13')
|
||||||
rfxtrx.RFX_DEVICES[device_id] = sensor
|
rfxtrx.RFX_DEVICES[device_id] = sensor
|
||||||
add_devices_callback([sensor])
|
add_devices_callback([sensor])
|
||||||
_LOGGER.info("Added binary sensor %s "
|
_LOGGER.info("Added binary sensor %s "
|
||||||
@ -111,12 +114,12 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
|||||||
slugify(event.device.id_string.lower()),
|
slugify(event.device.id_string.lower()),
|
||||||
event.device.__class__.__name__,
|
event.device.__class__.__name__,
|
||||||
event.device.subtype)
|
event.device.subtype)
|
||||||
|
if sensor.is_lighting4:
|
||||||
if sensor.is_pt2262:
|
if sensor.data_bits is not None:
|
||||||
cmd = rfxtrx.get_pt2262_cmd(device_id, sensor.data_bits)
|
cmd = rfxtrx.get_pt2262_cmd(device_id, sensor.data_bits)
|
||||||
_LOGGER.info("applying cmd %s to device_id: %s)",
|
sensor.apply_cmd(int(cmd, 16))
|
||||||
cmd, sensor.masked_id)
|
else:
|
||||||
sensor.apply_cmd(int(cmd, 16))
|
sensor.update_state(True)
|
||||||
else:
|
else:
|
||||||
rfxtrx.apply_received_command(event)
|
rfxtrx.apply_received_command(event)
|
||||||
|
|
||||||
@ -170,11 +173,6 @@ class RfxtrxBinarySensor(BinarySensorDevice):
|
|||||||
"""Return the device name."""
|
"""Return the device name."""
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
@property
|
|
||||||
def is_pt2262(self):
|
|
||||||
"""Return true if the device is PT2262-based."""
|
|
||||||
return self._data_bits is not None
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def masked_id(self):
|
def masked_id(self):
|
||||||
"""Return the masked device id (isolated address bits)."""
|
"""Return the masked device id (isolated address bits)."""
|
||||||
|
@ -247,10 +247,8 @@ def get_pt2262_device(device_id):
|
|||||||
"""Look for the device which id matches the given device_id parameter."""
|
"""Look for the device which id matches the given device_id parameter."""
|
||||||
for dev_id, device in RFX_DEVICES.items():
|
for dev_id, device in RFX_DEVICES.items():
|
||||||
try:
|
try:
|
||||||
if (device.is_pt2262 and
|
if device.masked_id == get_pt2262_deviceid(device_id,
|
||||||
device.masked_id == get_pt2262_deviceid(
|
device.data_bits):
|
||||||
device_id,
|
|
||||||
device.data_bits)):
|
|
||||||
_LOGGER.info("rfxtrx: found matching device %s for %s",
|
_LOGGER.info("rfxtrx: found matching device %s for %s",
|
||||||
device_id,
|
device_id,
|
||||||
get_pt2262_deviceid(device_id, device.data_bits))
|
get_pt2262_deviceid(device_id, device.data_bits))
|
||||||
@ -414,11 +412,6 @@ class RfxtrxDevice(Entity):
|
|||||||
"""Return is the device must fire event."""
|
"""Return is the device must fire event."""
|
||||||
return self._should_fire_event
|
return self._should_fire_event
|
||||||
|
|
||||||
@property
|
|
||||||
def is_pt2262(self):
|
|
||||||
"""Return true if the device is PT2262-based."""
|
|
||||||
return False
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def is_on(self):
|
def is_on(self):
|
||||||
"""Return true if device is on."""
|
"""Return true if device is on."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user