docs: def monitor(stop, offset=0, limit=10, city='Dresden', *, raw=False):
      """
      VVO Online Monitor
      (GET http://widgets.vvo-online.de/abfahrtsmonitor/Abfahrten.do)
  
      :param stop: Name of Stop
      :param offset: Minimum time of arrival
      :param limit: Count of returned results
      :param city: Name of City
      :param raw: Return raw response
      :return: Dict of stops
      """
      try:
          r = requests.get(
              url='http://widgets.vvo-online.de/abfahrtsmonitor/Abfahrten.do',
              params={
                  'ort': city,
                  'hst': stop,
                  'vz': offset,
                  'lim': limit,
              },
          )
          if r.status_code == 200:
              response = json.loads(r.content.decode('utf-8'))
          else:
              raise requests.HTTPError('HTTP Status: {}'.format(r.status_code))
      except requests.RequestException as e:
          print('Failed to access VVO monitor. Request Exception', e)
          response = None
  
      if response is None:
          return None
      return response if raw else [
          {
              'line': line,
              'direction': direction,
              'arrival': 0 if arrival == '' else int(arrival)
          } for line, direction, arrival in response
          ]