docs: async def observations(self):
          """Retrieve current weather observation."""
          observations = []
  
          raw_stations = await self.retrieve(url=API_OBSERVATION_STATIONS,
                                             headers={'Referer': 'http://www.ipma.pt'})
          if not raw_stations:
              return observations 
  
          raw_observations = await self.retrieve(url=API_OBSERVATION_OBSERVATIONS,
                                                 headers={'Referer': 'http://www.ipma.pt'})
          if not raw_observations:
              return observations 
  
          Station = namedtuple('ObservationStation', ['latitude', 'longitude', 'stationID',
                                                      'stationName', 'currentObs'])
  
          Observation = namedtuple('Observation', ['temperature', 'humidity',
                                                   'windspeed', 'winddirection',
                                                   'precipitation', 'pressure',
                                                   'description'])
  
          last_observation = sorted(raw_observations.keys())[-1]
  
          for station in raw_stations:
              _station = raw_observations[last_observation][str(station.get('properties').get('idEstacao'))]
  
              if _station is None:
                  continue
  
              _observation = Observation(
                  _station['temperatura'],
                  _station['humidade'],
                  _station['intensidadeVentoKM'] if _station['intensidadeVentoKM'] != -99.0 else None,
                  WIND_DIRECTION[WIND_DIRECTION_ID[_station['idDireccVento']]],
                  _station['precAcumulada'] if _station['precAcumulada'] != -99.0 else None,
                  _station['pressao'] if _station['pressao'] != -99.0 else None,
                  "{} @ {}".format(station.get('properties').get('localEstacao'), last_observation),
                  )
  
              _station = Station(
                  station.get('geometry').get('coordinates')[1],
                  station.get('geometry').get('coordinates')[0],
                  station.get('properties').get('idEstacao'),
                  station.get('properties').get('localEstacao'),
                  _observation)
  
              observations.append(_station)
          return observations