diff --git a/homeassistant/components/fibaro/__init__.py b/homeassistant/components/fibaro/__init__.py index 4233953ca8c227..c62dd2b2a8fcce 100644 --- a/homeassistant/components/fibaro/__init__.py +++ b/homeassistant/components/fibaro/__init__.py @@ -235,10 +235,10 @@ def _read_scenes(self): scenes = self._client.scenes.list() self._scene_map = {} for device in scenes: - if "visible" in device and not device.visible: + if "name" not in device or "id" not in device: continue device.fibaro_controller = self - if device.roomID == 0: + if "roomID" not in device or device.roomID == 0: room_name = "Unknown" else: room_name = self._room_map[device.roomID].name @@ -250,6 +250,7 @@ def _read_scenes(self): device.unique_id_str = f"{self.hub_serial}.scene.{device.id}" self._scene_map[device.id] = device self.fibaro_devices["scene"].append(device) + _LOGGER.debug("%s scene -> %s", device.ha_id, device) def _read_devices(self): """Read and process the device list.""" @@ -259,8 +260,10 @@ def _read_devices(self): last_climate_parent = None for device in devices: try: + if "name" not in device or "id" not in device: + continue device.fibaro_controller = self - if device.roomID == 0: + if "roomID" not in device or device.roomID == 0: room_name = "Unknown" else: room_name = self._room_map[device.roomID].name