def get_devices(self, category_filter='<STR_LIT>'):
<EOL>self.get_simple_devices_info()<EOL>j = self.data_request({'<STR_LIT:id>': '<STR_LIT:status>', '<STR_LIT>': '<STR_LIT>'}).json()<EOL>self.devices = []<EOL>items = j.get('<STR_LIT>')<EOL>for item in items:<EOL><INDENT>item['<STR_LIT>'] = self.device_id_map.get(item.get('<STR_LIT:id>'))<EOL>if item.get('<STR_LIT>'):<EOL><INDENT>device_category = item.get('<STR_LIT>').get('<STR_LIT>')<EOL>if device_category == CATEGORY_DIMMER:<EOL><INDENT>device = VeraDimmer(item, self)<EOL><DEDENT>elif ( device_category == CATEGORY_SWITCH or<EOL>device_category == CATEGORY_VERA_SIREN):<EOL><INDENT>device = VeraSwitch(item, self)<EOL><DEDENT>elif device_category == CATEGORY_THERMOSTAT:<EOL><INDENT>device = VeraThermostat(item, self)<EOL><DEDENT>elif device_category == CATEGORY_LOCK:<EOL><INDENT>device = VeraLock(item, self)<EOL><DEDENT>elif device_category == CATEGORY_CURTAIN:<EOL><INDENT>device = VeraCurtain(item, self)<EOL><DEDENT>elif device_category == CATEGORY_ARMABLE:<EOL><INDENT>device = VeraBinarySensor(item, self)<EOL><DEDENT>elif (device_category == CATEGORY_SENSOR or<EOL>device_category == CATEGORY_HUMIDITY_SENSOR or<EOL>device_category == CATEGORY_TEMPERATURE_SENSOR or<EOL>device_category == CATEGORY_LIGHT_SENSOR or<EOL>device_category == CATEGORY_POWER_METER or<EOL>device_category == CATEGORY_UV_SENSOR):<EOL><INDENT>device = VeraSensor(item, self)<EOL><DEDENT>elif (device_category == CATEGORY_SCENE_CONTROLLER or<EOL>device_category == CATEGORY_REMOTE):<EOL><INDENT>device = VeraSceneController(item, self)<EOL><DEDENT>elif device_category == CATEGORY_GARAGE_DOOR:<EOL><INDENT>device = VeraGarageDoor(item, self)<EOL><DEDENT>else:<EOL><INDENT>device = VeraDevice(item, self)<EOL><DEDENT>self.devices.append(device)<EOL>if (device.is_armable and not (<EOL>device_category == CATEGORY_SWITCH or<EOL>device_category == CATEGORY_VERA_SIREN or<EOL>device_category == CATEGORY_CURTAIN or<EOL>device_category == CATEGORY_GARAGE_DOOR)):<EOL><INDENT>self.devices.append(VeraArmableDevice(item, self))<EOL><DEDENT><DEDENT>else:<EOL><INDENT>self.devices.append(VeraDevice(item, self))<EOL><DEDENT><DEDENT>if not category_filter:<EOL><INDENT>return self.devices<EOL><DEDENT>devices = []<EOL>for device in self.devices:<EOL><INDENT>if (device.category_name is not None and<EOL>device.category_name != '<STR_LIT>' and<EOL>device.category_name in category_filter):<EOL><INDENT>devices.append(device)<EOL><DEDENT><DEDENT>return devices<EOL>
Get list of connected devices.

        category_filter param is an array of strings