docs: def update_state_from_api(self):
          """
          Pull and update the current state from the API.
          """
          if self.last_api_call is not None:
              difference = (datetime.datetime.now() - self.last_api_call).seconds
          else:
              # This is the first run, so we need to get the lastest state.
              difference = 301
          if difference >= 300:
              url = BASE_URL + "/rest/item"
              payload = {'usertoken': self.token}
              arequest = requests.get(url, params=payload)
              status = str(arequest.status_code)
              if status == '401':
                  _LOGGER.info("Token expired? Trying to get a new one.")
                  self.authenticate(True)
                  arequest = requests.get(url, params=payload)
                  status = arequest.status_code
              elif status == '404':
                  _LOGGER.error("No devices associated with this account.")
              elif status != '200':
                  _LOGGER.error("API error not updating state. " + status)
              else:
                  self.state = arequest.json()
              self.last_api_call = datetime.datetime.now()
              _LOGGER.info("Pulled latest state from API.")