'Get the latest data from ZAMG.'

@Throttle(MIN_TIME_BETWEEN_UPDATES)
def update(self):

    if (self.last_update and ((self.last_update + timedelta(hours=1)) > datetime.utcnow().replace(tzinfo=pytz.utc))):
        return
    for row in self.current_observations():
        if (row.get('Station') == self._station_id):
            api_fields = {col_heading: (standard_name, dtype) for (standard_name, (_, _, col_heading, dtype)) in SENSOR_TYPES.items()}
            self.data = {api_fields.get(col_heading)[0]: api_fields.get(col_heading)[1](v.replace(',', '.')) for (col_heading, v) in row.items() if ((col_heading in api_fields) and v)}
            break
    else:
        raise ValueError('No    weather    data    for    station    {}'.format(self._station_id))
