docs: async def update_device_data(self):
          """Update device data json."""
          url = '{}/devices/{}?offlineView=true'.format(API_URL, self.deviceid)
  
          # Check for access token expiration (every 15days)
          exp_delta = datetime.strptime(self._expdate, '%Y-%m-%dT%H:%M:%S.%fZ') \
              - datetime.fromtimestamp(time.time())
          # Renew 1hr before expiration
          if exp_delta.total_seconds() < 3600:
              _LOGGER.debug('Fetching new access token before expiration.')
              await self.fetch_token()
  
          device_resp = await self.api_get(url)
          if device_resp is None:
              _LOGGER.error('Unable to fetch eight device data.')
          else:
              # Want to keep last 10 readings so purge the last after we add
              self.handle_device_json(device_resp['result'])
              for user in self.users:
                  self.users[user].dynamic_presence()