diff --git a/homeassistant/components/light/rfxtrx.py b/homeassistant/components/light/rfxtrx.py index 194676c805449c6a2127a4a155f7f30fb93f14d8..60d30645e9f034c9789f001f1a9545f3948bd8df 100644 --- a/homeassistant/components/light/rfxtrx.py +++ b/homeassistant/components/light/rfxtrx.py @@ -29,19 +29,20 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None): signal_repetitions = config.get('signal_repetitions', SIGNAL_REPETITIONS) for device_id, entity_info in config.get('devices', {}).items(): - if device_id not in rfxtrx.RFX_DEVICES: - _LOGGER.info("Add %s rfxtrx.light", entity_info[ATTR_NAME]) - - # Check if i must fire event - fire_event = entity_info.get(ATTR_FIREEVENT, False) - datas = {ATTR_STATE: False, ATTR_FIREEVENT: fire_event} - - rfxobject = rfxtrx.get_rfx_object(entity_info[ATTR_PACKETID]) - new_light = RfxtrxLight( - entity_info[ATTR_NAME], rfxobject, datas, - signal_repetitions) - rfxtrx.RFX_DEVICES[device_id] = new_light - lights.append(new_light) + if device_id in rfxtrx.RFX_DEVICES: + continue + _LOGGER.info("Add %s rfxtrx.light", entity_info[ATTR_NAME]) + + # Check if i must fire event + fire_event = entity_info.get(ATTR_FIREEVENT, False) + datas = {ATTR_STATE: False, ATTR_FIREEVENT: fire_event} + + rfxobject = rfxtrx.get_rfx_object(entity_info[ATTR_PACKETID]) + new_light = RfxtrxLight( + entity_info[ATTR_NAME], rfxobject, datas, + signal_repetitions) + rfxtrx.RFX_DEVICES[device_id] = new_light + lights.append(new_light) add_devices_callback(lights) diff --git a/homeassistant/components/sensor/rfxtrx.py b/homeassistant/components/sensor/rfxtrx.py index 4c1a96ce40db14a24fc466837d8c02aada86baee..e4d1c4e37b480c43c0e1f492d0ea38592dbd93e8 100644 --- a/homeassistant/components/sensor/rfxtrx.py +++ b/homeassistant/components/sensor/rfxtrx.py @@ -33,13 +33,14 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None): sensors = [] for device_id, entity_info in config.get('devices', {}).items(): - if device_id not in rfxtrx.RFX_DEVICES: - _LOGGER.info("Add %s rfxtrx.sensor", entity_info[ATTR_NAME]) - event = rfxtrx.get_rfx_object(entity_info[ATTR_PACKETID]) - new_sensor = RfxtrxSensor(event, entity_info[ATTR_NAME], - entity_info.get(ATTR_DATA_TYPE, None)) - rfxtrx.RFX_DEVICES[device_id] = new_sensor - sensors.append(new_sensor) + if device_id in rfxtrx.RFX_DEVICES: + continue + _LOGGER.info("Add %s rfxtrx.sensor", entity_info[ATTR_NAME]) + event = rfxtrx.get_rfx_object(entity_info[ATTR_PACKETID]) + new_sensor = RfxtrxSensor(event, entity_info[ATTR_NAME], + entity_info.get(ATTR_DATA_TYPE, None)) + rfxtrx.RFX_DEVICES[device_id] = new_sensor + sensors.append(new_sensor) add_devices_callback(sensors) diff --git a/homeassistant/components/switch/rfxtrx.py b/homeassistant/components/switch/rfxtrx.py index 52168db3167bffe377ba230fdb7db13431df206f..799053920ae3e5a6ff78d488b48455b5fc7f655f 100644 --- a/homeassistant/components/switch/rfxtrx.py +++ b/homeassistant/components/switch/rfxtrx.py @@ -29,19 +29,20 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None): switchs = [] signal_repetitions = config.get('signal_repetitions', SIGNAL_REPETITIONS) for device_id, entity_info in config.get('devices', {}).items(): - if device_id not in rfxtrx.RFX_DEVICES: - _LOGGER.info("Add %s rfxtrx.switch", entity_info[ATTR_NAME]) - - # Check if i must fire event - fire_event = entity_info.get(ATTR_FIREEVENT, False) - datas = {ATTR_STATE: False, ATTR_FIREEVENT: fire_event} - - rfxobject = rfxtrx.get_rfx_object(entity_info[ATTR_PACKETID]) - newswitch = RfxtrxSwitch( - entity_info[ATTR_NAME], rfxobject, datas, - signal_repetitions) - rfxtrx.RFX_DEVICES[device_id] = newswitch - switchs.append(newswitch) + if device_id in rfxtrx.RFX_DEVICES: + continue + _LOGGER.info("Add %s rfxtrx.switch", entity_info[ATTR_NAME]) + + # Check if i must fire event + fire_event = entity_info.get(ATTR_FIREEVENT, False) + datas = {ATTR_STATE: False, ATTR_FIREEVENT: fire_event} + + rfxobject = rfxtrx.get_rfx_object(entity_info[ATTR_PACKETID]) + newswitch = RfxtrxSwitch( + entity_info[ATTR_NAME], rfxobject, datas, + signal_repetitions) + rfxtrx.RFX_DEVICES[device_id] = newswitch + switchs.append(newswitch) add_devices_callback(switchs)