Ejemplo n.º 1
0
    def set_coordinates(self):
        """Weather data inialization - set the coordinates."""
        if self._config.get(CONF_TRACK_HOME, False):
            latitude = self.hass.config.latitude
            longitude = self.hass.config.longitude
            elevation = self.hass.config.elevation
        else:
            latitude = self._config[CONF_LATITUDE]
            longitude = self._config[CONF_LONGITUDE]
            elevation = self._config[CONF_ELEVATION]

        if not self._is_metric:
            elevation = int(
                round(convert_distance(elevation, LENGTH_FEET, LENGTH_METERS)))

        coordinates = {
            "lat": str(latitude),
            "lon": str(longitude),
            "msl": str(elevation),
        }
        if coordinates == self._coordinates:
            return False
        self._coordinates = coordinates

        self._weather_data = metno.MetWeatherData(coordinates,
                                                  async_get_clientsession(
                                                      self.hass),
                                                  api_url=URL)
        return True
Ejemplo n.º 2
0
    async def _init_data(self, _event=None):
        """Initialize and fetch data object."""
        if self.track_home:
            latitude = self.hass.config.latitude
            longitude = self.hass.config.longitude
            elevation = self.hass.config.elevation
        else:
            conf = self._config
            latitude = conf[CONF_LATITUDE]
            longitude = conf[CONF_LONGITUDE]
            elevation = conf[CONF_ELEVATION]

        if not self._is_metric:
            elevation = int(
                round(convert_distance(elevation, LENGTH_FEET, LENGTH_METERS)))
        coordinates = {
            "lat": str(latitude),
            "lon": str(longitude),
            "msl": str(elevation),
        }
        if coordinates == self._coordinates:
            return
        self._coordinates = coordinates

        self._weather_data = metno.MetWeatherData(
            coordinates, async_get_clientsession(self.hass), URL)
        await self._fetch_data()
Ejemplo n.º 3
0
 def __init__(self, name, coordinates, clientsession):
     """Initialise the platform with a data instance and site."""
     import metno
     self._name = name
     self._weather_data = metno.MetWeatherData(coordinates, clientsession,
                                               URL)
     self._current_weather_data = {}
     self._forecast_data = None
Ejemplo n.º 4
0
    async def init(self) -> Optional[bool]:
        self.client_session = ClientSession(loop=self.core.loop)
        self.location = self.get_location()

        if not self.location:
            return False

        self.weather_data = metno.MetWeatherData(self.location,
                                                 self.client_session)
        self.update()
Ejemplo n.º 5
0
 def __init__(self, name, coordinates, clientsession):
     """Initialise the platform with a data instance and site."""
     import metno
     self._name = name
     self._weather_data = metno.MetWeatherData(coordinates,
                                               clientsession,
                                               URL
                                               )
     self._temperature = None
     self._condition = None
     self._pressure = None
     self._humidity = None
     self._wind_speed = None
     self._wind_bearing = None
Ejemplo n.º 6
0
    def _init_data(self):
        """Initialize a data object."""
        conf = self._config

        if self.track_home:
            latitude = self.hass.config.latitude
            longitude = self.hass.config.longitude
            elevation = self.hass.config.elevation
        else:
            latitude = conf[CONF_LATITUDE]
            longitude = conf[CONF_LONGITUDE]
            elevation = conf[CONF_ELEVATION]

        coordinates = {
            "lat": str(latitude),
            "lon": str(longitude),
            "msl": str(elevation),
        }
        self._weather_data = metno.MetWeatherData(
            coordinates, async_get_clientsession(self.hass), URL)