code: def __get_values(self):
          
          values = []
  
          if self.__remote:
              description = self.__client.describe(self.__point)
              if description is not None:
                  if description['type'] != 'Point':
                      raise IOTUnknown('%s is not a Point' % self.__point)
                  values = description['meta']['values']
          else:
              limit = 100
              offset = 0
              while True:
                  new = self.__point.list(limit=limit, offset=offset)
                  values += new
                  if len(new) < limit:
                      break
                  offset += limit
  
              # Unlike for describe, value comments are keyed by language here, so unwrap to have same layout as for
              # describe call (default language only, if available).
              lang = self.__client.default_lang
              for value in values:
                  value['comment'] = value['comment'].get(lang, None) if value['comment'] else None
  
          return values
docs: Retrieve value information either via describe or point value listing. MUST be called within lock.