code: def get_devices(self, refresh=False, generic_type=None):
          
          _LOGGER.info("Updating all devices...")
          if refresh or self._devices is None:
              if self._devices is None:
                  self._devices = {}
  
              responseObject = self.get_sensors()
              if (responseObject and
                      not isinstance(responseObject, (tuple, list))):
                  responseObject = responseObject
  
              for deviceJson in responseObject:
                  # Attempt to reuse an existing device
                  device = self._devices.get(deviceJson['name'])
  
                  # No existing device, create a new one
                  if device:
                      device.update(deviceJson)
                  else:
                      device = newDevice(deviceJson, self)
  
                      if not device:
                          _LOGGER.info('Device is unknown')
                          continue
  
                      self._devices[device.device_id] = device
  
              # We will be treating the Lupusec panel itself as an armable device.
              panelJson = self.get_panel()
              _LOGGER.debug("Get the panel in get_devices: %s", panelJson)
  
              self._panel.update(panelJson)
  
              alarmDevice = self._devices.get('0')
  
              if alarmDevice:
                  alarmDevice.update(panelJson)
              else:
                  alarmDevice = ALARM.create_alarm(panelJson, self)
                  self._devices['0'] = alarmDevice
  
              # Now we will handle the power switches
              switches = self.get_power_switches()
              _LOGGER.debug(
                  'Get active the power switches in get_devices: %s', switches)
  
              for deviceJson in switches:
                  # Attempt to reuse an existing device
                  device = self._devices.get(deviceJson['name'])
  
                  # No existing device, create a new one
                  if device:
                      device.update(deviceJson)
                  else:
                      device = newDevice(deviceJson, self)
                      if not device:
                          _LOGGER.info('Device is unknown')
                          continue
                      self._devices[device.device_id] = device
  
          if generic_type:
              devices = []
              for device in self._devices.values():
                  if (device.type is not None and
                          device.type in generic_type[0]):
                      devices.append(device)
              return devices
  
          return list(self._devices.values())
docs: Get all devices from Lupusec.