Coder Social home page Coder Social logo

fl550 / dwd_weather Goto Github PK

View Code? Open in Web Editor NEW
142.0 6.0 11.0 1.88 MB

Deutscher Wetterdienst integration for Home-Assistant

License: MIT License

Python 100.00%
home-assistant weather weather-forecast dwd dwd-weather deutscher-wetterdienst hacs homeassistant hass weather-entity

dwd_weather's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dwd_weather's Issues

Radar-based precipation forecast

Is your feature request related to a problem? Please describe.
Not related to a problem.

Describe the solution you'd like
I would like to build a sensor in HA, which gives a reliable precipation forecast for the next 15, 30, 60mins in a specific region. The most accurate forecast I know of is the rain radar forecast provided by DWD (radvor / radolan). I would therefore like to have the radar information provided by DWD integrated as customizable sensors (sensor for each region and future time frame, e.g., Cologne-Ehrenfeld area for the next 15mins)

Describe alternatives you've considered
I found a reference implementation here: https://github.com/ulid000/Fahrradwetter. The developer calculated precipation forecasts (5min steps for next 2h) for customizable regions (rectangles out of the 900x900 radar grid).

Additional context
To be honest, I do not know if the precipation forecast sensors that are implemented already are based on radar information - I did not find this information in the DWD documentation. As I understood it, the precipation forecasts in the mosmix are model based predictions and not based on the current radar observations.

Log errors since 1.2.20

Version of home_assistant

2022.5.3

Version of the custom_component

1.2.20

Describe the bug

My log fills with errors since 1.2.20.
I installed HA 2022.5.3 and 1.2.20 at the same time.

Debug log


2022-05-08 23:19:15 ERROR (MainThread) [custom_components.dwd_weather] Unexpected error fetching DWD Weather Coordinator for wuerzburg data: list index out of range
Traceback (most recent call last):
  File "/srv/ha/lib/python3.9/site-packages/homeassistant/helpers/update_coordinator.py", line 191, in _async_refresh
    self.data = await self._async_update_data()
  File "/srv/ha/lib/python3.9/site-packages/homeassistant/helpers/update_coordinator.py", line 150, in _async_update_data
    return await self.update_method()
  File "/home/homeassi/.homeassistant/custom_components/dwd_weather/connector.py", line 58, in async_update
    return await self._hass.async_add_executor_job(self._update)
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/homeassi/.homeassistant/custom_components/dwd_weather/connector.py", line 65, in _update
    self.dwd_weather.update()
  File "/srv/ha/lib/python3.9/site-packages/simple_dwd_weatherforecast/dwdforecast.py", line 469, in update
    self.parse_kml(kml)
  File "/srv/ha/lib/python3.9/site-packages/simple_dwd_weatherforecast/dwdforecast.py", line 496, in parse_kml
    result = tree.xpath("//dwd:IssueTime", namespaces=self.namespaces)[0].text
IndexError: list index out of range
2022-05-08 23:19:15 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/srv/ha/lib/python3.9/site-packages/homeassistant/helpers/update_coordinator.py", line 137, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/srv/ha/lib/python3.9/site-packages/homeassistant/helpers/update_coordinator.py", line 270, in _async_refresh
    update_callback()
  File "/srv/ha/lib/python3.9/site-packages/homeassistant/helpers/entity.py", line 533, in async_write_ha_state
    self._async_write_ha_state()
  File "/srv/ha/lib/python3.9/site-packages/homeassistant/helpers/entity.py", line 571, in _async_write_ha_state
    state = self._stringify_state(available)
  File "/srv/ha/lib/python3.9/site-packages/homeassistant/helpers/entity.py", line 539, in _stringify_state
    if (state := self.state) is None:
  File "/srv/ha/lib/python3.9/site-packages/homeassistant/components/weather/__init__.py", line 306, in state
    return self.condition
  File "/home/homeassi/.homeassistant/custom_components/dwd_weather/weather.py", line 63, in condition
    return self._connector.get_condition()
  File "/home/homeassi/.homeassistant/custom_components/dwd_weather/connector.py", line 168, in get_condition
    return self.dwd_weather.get_forecast_condition(
  File "/srv/ha/lib/python3.9/site-packages/simple_dwd_weatherforecast/dwdforecast.py", line 177, in get_forecast_condition
    if self.is_in_timerange(timestamp):
  File "/srv/ha/lib/python3.9/site-packages/simple_dwd_weatherforecast/dwdforecast.py", line 152, in is_in_timerange
    list(self.forecast_data.keys())[0]
AttributeError: 'NoneType' object has no attribute 'keys'

Unexpected error fetching DWD Weather Coordinator for amsterdam data: 'Nordholland'

Host-besturingssysteem | Home Assistant OS 5.13
Supervisor versie | supervisor-2021.04.0

v1.2.10; already present v1.2.9.

Describe the bug

Unexpected error fetching DWD Weather Coordinator for amsterdam data: 'Nordholland'

it happens at startup time and continuously creating errors (229 errors in about 24 hrs time)

To me, it looks like closed issue 26 - Saarland
Here is the problem "Nordholland'.


Logger: custom_components.dwd_weather
Source: custom_components/dwd_weather/connector.py:61 
Integration: Deutscher Wetterdienst (DWD) (documentation, issues) 
First occurred: 9:57:29 (229 occurrences) 
Last logged: 13:45:29

Unexpected error fetching DWD Weather Coordinator for amsterdam data: 'Nordholland'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 173, in _async_refresh
    self.data = await self._async_update_data()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 143, in _async_update_data
    return await self.update_method()
  File "/config/custom_components/dwd_weather/connector.py", line 54, in async_update
    return await self._hass.async_add_executor_job(self._update)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/dwd_weather/connector.py", line 61, in _update
    self.dwd_weather.update()
  File "/usr/local/lib/python3.8/site-packages/simple_dwd_weatherforecast/dwdforecast.py", line 393, in update
    weather_report = download_weather_report(self.region_codes[self.region])
KeyError: 'Nordholland'

Possibly wrong weather forecast data?

Version of home_assistant

core-2021.4.6 with Home Assistant OS 5.13 on RPi4b 8Gb

Version of the custom_component

v1.2.10

Describe the bug

I am actually not sure, whether something is wrong. But I am creating this issue to give a chance for timely comparison of current weather forecasts:

The current 5 day weather forecast through this custom integration for my region deviates substantially from other reliable forecasts. I am not sure whether this is a normal deviation. Usually DWD is very reliable and the current weather situation is stable and predictable. And up to version 1.2.8 I did not witness such deviations.

Integration settings:
Station-ID J907 = GOLDENE BREMM
(close to Saarbrücken)

Card settings:
type: weather-forecast
entity: weather.dwd_weather_goldene_bremm

Result in weather card:
image

Kachelmann forecast for comparison:
Neither cloud coverage nor temperature profile seem to match.
https://kachelmannwetter.com/de/vorhersage/2842647-saarbruecken/kompakt/deu-hd
image

Debug log


(No conspicuous log entries.)

Switch to rounded forecast values?

This is just a feature request or more of an open discussion.

Wouldn't it look nicer in Lovelace, when the forecast temperatures are rounded?
The decimals propose a precision that cannot be true anyway.
For measured values and in the sensor entities, the decimals can remain so that there is a choice.

Wind speed displayed in km/h instead of m/s

Wind Speed is displayed in the Weather Forecast Card "detail view" (click on card) in km/h instead of m/s

Lovelace Card code:
entity: weather.dwd_weather_frankfurt_m
type: weather-forecast

image

Result
image

DWD Integration: v1.1.2

how is best way to integrate in HA

Version of home_assistant

Home Assistant 2021.12.10

Version of the custom_component

1.2.17 (latest)

Describe the bug

I receive all values and forecast for next days, as expected.
Have enabled (for now) all sensors so that can see in sensor attributes any hourly forecast and other provided attributes.

But - how can I display the hourly forecast?
Even with the https://github.com/bramkragten/weather-card I cannot receive hourly values, because in main entity are only the daily values inside (with weather.home / weather.home_hourly it is working)

Other question - could it be possible to configure the forecast? So that could be visible the wind speed instead of other value?
(yes, can make it in code, but then never can update more ;) )
(if yes - will be make a feature request, but at first would like to get it work here,... ;) )

Debug log


2022-01-28 17:09:41 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration dwd_weather which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

THANKS!

Hourly Weather States

Is your feature request related to a problem? Please describe.
Just a feature request :)

Describe the solution you'd like
I would love to see hourly weather states (and temperatures) for the current day. Meteograms for example offers something like that in combination with DWD.
It would be awesome to see something similar, that you are currently doing with the days, just also with the hours of the current day.

Describe alternatives you've considered
Using another integration with another weather provider. But I would prefer to just use DWD

Additional context
I would just say to thank you very very much for your great addon.

Add wind_speed, wind_gust and wind_direction to forecast

Is your feature request related to a problem? Please describe.
would be nice to get these values in forecast to display it (daily and hourly)

Describe the solution you'd like
add the parameters in script (they are available, but not used for forecast)

Describe alternatives you've considered

Additional context
Of course would be great to offer additional the direction symbols instead of numeric direction degree value ;)

Return wind_bearing value as float

Version of the custom_component

1.0.0

Describe the bug

Wondered why weather cards don't show the wind_direction.
For example bram's weather-card.
Auswahl_381

Found out that the component doesn't return a float for the wind_bearing.
After changing

return self._connector.weather_data.get_forecast_wind_direction(
datetime.now(timezone.utc), False)

to

    @property
    def wind_bearing(self):
        """Return the wind direction."""
        return float(
            self._connector.weather_data.get_forecast_wind_direction(
                datetime.now(timezone.utc), False))

it works.
Auswahl_382

Debug log


Add your logs here.

Forecasted data as triggers

Hi,
thank you for programming this excellent integration.
Please allow me a newbie question:
How do I use forecasts delivered by the sensor as triggers?
For example, I want my window blinds to open if the maximum of forecasted wind speeds within the next n hours exceed a certain threshold. So, how would I access the wind speed in n hours from now?
Thank you for your help.
Stefan

Unable to prepare setup for platform dwd_weather.sensor in HA 0.115.0b0

Version of the custom_component

v1.1.4

Describe the bug

Seeing the following errors on HA start.
I have not enabled any of the additional sensors and the weather integration seems to work as expected.

Debug log


2020-09-08 01:57:07 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform dwd_weather.sensor: Platform not found (cannot import name 'UNIT_PERCENTAGE' from 'homeassistant.const' (/srv/ha/lib/python3.8/site-packages/homeassistant/const.py)).
2020-09-08 01:57:07 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform dwd_weather.sensor: Platform not found (cannot import name 'UNIT_PERCENTAGE' from 'homeassistant.const' (/srv/ha/lib/python3.8/site-packages/homeassistant/const.py)).


Use max temperature today in automation

Describe the solution you'd like

I an trying to create an automation based on the daily max temperature. Say for example, if temperature will rise above 28°C, close blinds. (it's more complex than this, I am only closing if the sun is hitting the particular window, but the daily max temperature should be a condition for the automation to run, hence I think I need it to be a sensor).

Describe alternatives you've considered

I have enabled sensor.temperature_<entity_name>, but that only gives the current temperature.

Missing timezone

Version of home_assistant

2022.03.07

Version of the custom_component

1.2.18

Describe the bug

A clear and concise description of what the bug or error is and when it happens.

The timestamps (datetime) of the forecasts are missing the zone info which can produce problems with automations - other integrations when comparing datetimes (they need tzinfo).

Debug log

Current format:


  - datetime: '2022-04-03T00:00:00Z'

Suggested format:

  - datetime: '2022-04-03T00:00:00+00:00'

No longer working after installing update

Integration was working fine before performing an automatic update through HACS. After restarting home assistant it only shows an error message.

I also tried to re-install the integration but got the same result.

Settings page for this integration is no longer available.

Version of home_assistant

core-2021.2.3
supervisor-2021.02.11 (stable channel)
Home Assistant OS 5.12 (production)

Version of the custom_component

v1.2.1

Describe the bug

Showing only an error message in dashboard instead of weather data:
"Diese Entität ist derzeit nicht verfügbar und ist verwitwet für eine entfernte, geänderte oder gestörte Integration oder ein Gerät."

Debug log



Logger: homeassistant.config_entries
Source: custom_components/dwd_weather/__init__.py:40
First occurred: 19:50:42 (1 occurrences)
Last logged: 19:50:42
Error setting up entry Villingen-Schwenning for dwd_weather

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 239, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/config/custom_components/dwd_weather/__init__.py", line 40, in async_setup_entry
    time_window = entry.data[CONF_WEATHER_INTERVAL]
KeyError: 'weather_interval'



Sensors only show "ok"

Version of the custom_component

1.1.0

Describe the bug

The new sensors will all only show "ok" as data on my overview.
Data seems to be available, but only with the timestamp as key, see the below screenshot.
Is it possible to simply retrieve the daily precipitation % value for today?

image

Integration Broken

Version of the custom_component: 1.1.3 and also 1.1.4

Homeassistant Version: 235

Describe the bug

You can download the integration via HACS but you can't actually add it via Integrations. It just loads, a few seconds if you try it for the first time, a minute or two if you try it a second time.

Debug log


2020-08-30 21:37:07 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 73, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 129, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 112, in post
    return await super().post(request)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 60, in wrapper
    result = await method(view, request, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 69, in post
    result = await self._flow_mgr.async_init(
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 117, in async_init
    flow = await self.async_create_flow(handler, context=context, data=data)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 526, in async_create_flow
    await async_process_deps_reqs(self.hass, self._hass_config, integration)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 321, in async_process_deps_reqs
    await requirements.async_get_integration_with_requirements(
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 75, in async_get_integration_with_requirements
    await async_process_requirements(
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 122, in async_process_requirements
    if pkg_util.is_installed(req):
  File "/usr/src/homeassistant/homeassistant/util/package.py", line 54, in is_installed
    return version(req.project_name) in req
  File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3144, in __contains__
    return self.specifier.contains(item, prereleases=True)
  File "/usr/local/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 681, in contains
    item = parse(item)
  File "/usr/local/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py", line 28, in parse
    return Version(version)
  File "/usr/local/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py", line 219, in __init__
    match = self._regex.search(version)
TypeError: expected string or bytes-like object

Integration broken since update to v1.2.9

Version of home_assistant

All latest:
core-2021.4.6 with Home Assistant OS 5.13 on RPi4b 8Gb

Version of the custom_component

v1.2.9 (after upgrade from v1.2.8)

Describe the bug

I had a fully functioning installation of v1.2.8 of the integration with many of the available entities activated.
After the upgrade all entities showed red exclamation marks in Configuration -> Integrations -> DWD....
The entities did not update their values anymore.

I then tried to uninstall and reinstall the custom integration (incl. restarts after each step).
Since then it is not possible to add the integration anymore. See the following screenshots and the debug log below.
I also waited for 12h and tried again to make sure this is not the result of a API issue on DWD side.

Before hitting "Send":
image

After hitting "Send":
image

The same happens when I try to use the geo coords (without station-id).

Debug log

Logger: custom_components.dwd_weather.config_flow
Source: custom_components/dwd_weather/connector.py:61 
Integration: Deutscher Wetterdienst (documentation, issues) 
First occurred: 17:29:48 (1 occurrences) 
Last logged: 17:29:48

Unexpected exception
Traceback (most recent call last):
  File "/config/custom_components/dwd_weather/config_flow.py", line 67, in async_step_user
    info = await validate_input(self.hass, user_input)
  File "/config/custom_components/dwd_weather/config_flow.py", line 45, in validate_input
    await dwd_weather_data.async_update()
  File "/config/custom_components/dwd_weather/connector.py", line 54, in async_update
    return await self._hass.async_add_executor_job(self._update)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/dwd_weather/connector.py", line 61, in _update
    self.dwd_weather.update()
  File "/usr/local/lib/python3.8/site-packages/simple_dwd_weatherforecast/dwdforecast.py", line 392, in update
    weather_report = download_weather_report(self.region_codes[self.region])
KeyError: 'Saarland'

No Installation dialog

Hi,

i installed this HACS Add-on as described to a fresh installation of HAOS + HACS.

but i cant seem to find a way to trigger the initial setup dialog :(

Every time i try to install it it just finishes and is with a red border stating a pending restart.
After restart i cant find a way to add a Lovelace card since the station is not set.

How can one trigger the point "3. installation instructions" from the Installation Guide?

with kind regards

PS: sorry for that bad question

Merge integration into HA

I saw a closed issue about adding this integration into Home Assistant. Is there any reason why this was not followed up on? Happy to help, if any help is needed. I really would like to have it as part of "standard" HA, as in my opinion it's the best weather integration for Germany.

Empty values from time to time

Version of home_assistant

0.116.1

Version of the custom_component

v1.1.8

Describe the bug

Since last update the weather values are empty from time to time.

Auswahl_403

Debug log


2020-10-08 23:54:19 ERROR (MainThread) [custom_components.dwd_weather] Unexpected error fetching DWD Weather Coordinator for Wuerzburg data: type NoneType doesn't define __round__ method
Traceback (most recent call last):
  File "/srv/ha/lib/python3.8/site-packages/homeassistant/helpers/update_coordinator.py", line 143, in async_refresh
    self.data = await self._async_update_data()
  File "/srv/ha/lib/python3.8/site-packages/homeassistant/helpers/update_coordinator.py", line 131, in _async_update_data
    return await self.update_method()
  File "/home/homeassi/.homeassistant/custom_components/dwd_weather/connector.py", line 51, in async_update
    return await self._hass.async_add_executor_job(self._update)
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/homeassi/.homeassistant/custom_components/dwd_weather/connector.py", line 99, in _update
    ATTR_FORECAST_TEMP: int(round(temp_max, 0)),
TypeError: type NoneType doesn't define __round__ method

Warnings in HA 2021.12 beta

Version of home_assistant

2021.12.0b3

Version of the custom_component

v1.2.16

Describe the bug

Warnings in HA Startup log

Debug log


2021-12-08 08:46:28 WARNING (MainThread) [homeassistant.helpers.entity] Entity weather.dwd_weather_wuerzburg (<class 'custom_components.dwd_weather.weather.DWDWeather'>) implements device_state_attributes. Please report it to the custom component author.

Invalid Date

After latest update the forecast don‘t work anymore.
79ED33C5-2E0D-46AD-98F2-F199BC9EDF70
646C82B6-0638-4F38-8163-CDBF6FC33741

Cannot install integration

Version of home_assistant

Home Assistant Core 2021.2.2 (running on TrueNAS-12.0-U2)

Version of the custom_component

Deutscher Wetterdienst v1.1.9

Describe the bug

I installed the integration via HACS. If I then choose Configuration -> Integrations -> Add Integration and choose Deutscher Wetterdienst, the Please wait while the integration is being installed dialog disappears rather quickly (and the dialog to choose the integration reappears), and nothing else seems to happen. If I do that again, that dialog stays for (much) longer, but still nothing seems to happen. This in fact sounds a bit like #6 to me.

The log below talks about some missing packages: Error: Please make sure the libxml2 and libxslt development packages are installed. Is my Python installation lacking some packages?

Edit: Or is this the solution? Then why are these packages missing on my installation?

Debug log

Logger: aiohttp.server
Source: requirements.py:136
First occurred: 4:32:55 PM (1 occurrences)
Last logged: 4:32:55 PM

Error handling request
Traceback (most recent call last):
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/aiohttp/web_protocol.py", line 422, in _handle_request
    resp = await self._request_handler(request)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/aiohttp/web_app.py", line 499, in _handle
    resp = await handler(request)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/aiohttp/web_middlewares.py", line 118, in impl
    return await handler(request)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/components/http/security_filter.py", line 56, in security_filter_middleware
    return await handler(request)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/components/http/request_context.py", line 18, in request_context_middleware
    return await handler(request)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/components/http/auth.py", line 127, in auth_middleware
    return await handler(request)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/components/http/view.py", line 129, in handle
    result = await result
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/components/config/config_entries.py", line 136, in post
    return await super().post(request)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/components/http/data_validator.py", line 60, in wrapper
    result = await method(view, request, *args, **kwargs)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/data_entry_flow.py", line 69, in post
    result = await self._flow_mgr.async_init(
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/data_entry_flow.py", line 119, in async_init
    flow = await self.async_create_flow(handler, context=context, data=data)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/config_entries.py", line 541, in async_create_flow
    await async_process_deps_reqs(self.hass, self._hass_config, integration)
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/setup.py", line 343, in async_process_deps_reqs
    await requirements.async_get_integration_with_requirements(
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/requirements.py", line 79, in async_get_integration_with_requirements
    await async_process_requirements(
  File "/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/requirements.py", line 136, in async_process_requirements
    raise RequirementsNotFound(name, [req])
homeassistant.requirements.RequirementsNotFound: Requirements for dwd_weather not found: ['simple_dwd_weatherforecast==1.0.6'].


Logger: homeassistant.util.package
Source: util/package.py:85
First occurred: 4:32:55 PM (1 occurrences)
Last logged: 4:32:55 PM

Unable to install package simple_dwd_weatherforecast==1.0.6: ERROR: Command errored out with exit status 1: command: /usr/local/share/homeassistant/bin/python3.8 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-vnzl8z96/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-vnzl8z96/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-s7aoos8x cwd: /tmp/pip-install-vnzl8z96/lxml/ Complete output (3 lines): Building lxml version 4.6.2. Building without Cython. Error: Please make sure the libxml2 and libxslt development packages are installed. ---------------------------------------- ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. WARNING: You are using pip version 20.2.4; however, version 21.0.1 is available. You should consider upgrading via the '/usr/local/share/homeassistant/bin/python3.8 -m pip install --upgrade pip' command.

Detected I/O inside the event loop

Logger: homeassistant.util.async_
Source: util/async_.py:129
First occurred: 10:58:44 (1 occurrences)
Last logged: 10:58:44

Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for dwd_weather doing I/O at custom_components/dwd_weather/sensor.py, line 142: self._unique_id = f"{SENSOR_TYPES[self.type][0]}{self._connector.dwd_weather.get_station_name(False).lower()}"

Version of home_assistant

2021.3.4
-->

Version of the custom_component

1.2.3
-->

Can't create Integration "unknown Error"

I get an "unkown Error" in the UI when i click on the plus under Integrations to make an Instance.

Traceback (most recent call last):
  File "/config/custom_components/dwd_weather/config_flow.py", line 49, in async_step_user
    info = await validate_input(self.hass, user_input)
  File "/config/custom_components/dwd_weather/config_flow.py", line 27, in validate_input
    await dwd_weather_data.async_update()
  File "/config/custom_components/dwd_weather/connector.py", line 43, in async_update
    return await self._hass.async_add_executor_job(self._update)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/dwd_weather/connector.py", line 61, in _update
    self.weather_data.get_daily_condition(timestamp, False),
  File "/usr/local/lib/python3.8/site-packages/simple_dwd_weatherforecast/dwdforecast.py", line 192, in get_daily_condition
    weather_data = self.get_day_values(timestamp)
  File "/usr/local/lib/python3.8/site-packages/simple_dwd_weatherforecast/dwdforecast.py", line 278, in get_day_values
    result.append(self.forecast_data[self.strip_to_hour_str(time)])
KeyError: '2020-08-09T00:00:00.000Z'

This is the Error from the Home Assistant log.

Summary forecast of todays weather

Is your feature request related to a problem? Please describe.
I want to also get the forecast of todays weather if that is possible. I want to have automations which run on the predicted high and low temperatures of today, so I can shut my blinds/covers accordingly.

Describe the solution you'd like
The weather entity should also contain todays forecast and not start with tomorrows.

Describe alternatives you've considered
None

Additional context

I hope this is possible with the existing API. Thank you for your great component.

installation issue / question

Version of home_assistant

Home Assistant 2021.12.10

Version of the custom_component

1.2.17 (latest)

Describe the bug

Installed via HACS - then restarted HA.
No integration visible - cannot add a card and cannot make the described setup anywhere - maybe I do something wrong?

Debug log

no more in log (debug log was enabled in config as described )

2022-01-28 17:09:41 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration dwd_weather which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

Thanks!

Windspeed km/h m/s Problem

Hallo.

Ein Bild sagt mehr als…..
Die Maßeinheiten bei der Windgeschwindigkeit sind unterschiedlich und bei der Windrichtung gibts ein Problem bei der Übersetzung von Ost (ONO / E-NO).

Hello.

A picture says more than...

The units of measurement in the wind speed are different and there is a problem with the transmission of east (ONO / E-NO) in the wind direction.

0DB1A37D-2E19-4CFD-9901-D2E1F46C9802
E5FB571A-1E4F-41E8-8C6F-B852CEDD357D

create additional hourly entity

Is your feature request related to a problem? Please describe.
realize an easy way to show hourly forecast in HA (like using weather.home / weather.home_hourly)

Describe the solution you'd like
Create an entity weather.dwd.[location]_hourly with available forecast data like

  • condition
  • temperature
  • precipitation
  • precipitation_probability
  • wind_speed
  • wind_gust
  • wind_direction

Describe alternatives you've considered
Alternative: user should create such a sensor in configuration or should use many cards ;)

Additional context
Add any other context or screenshots about the feature request here.

sensor.wind_speed_xxx unit of measurement is km/h, forecast data is actually m/s

Version of home_assistant

2021.8.4

Version of the custom_component

latest

Describe the bug

sensor.wind_speed_xxx state is displaying the wind speed correctly in km/h, however the forecast data is actually in m/s. I needed to multilply the forecast data with 3.6 to get a correct graph (grey line left from „now“ is displaying sensor.wind_speed_xxx history data, right side displays forecast data after multiplying it with 3.6)

image
Bildschirmfoto 2021-08-18 um 10 48 50

Add support for custom weather stations

Is your feature request related to a problem? Please describe.
In the city I live in (Paderborn, Germany), the DWD does not have any weather stations for some reason. The next station is around 15km away from me. In contrast, there is a weather station in the city which makes its measurements publicly available and allows people to use it. Of course, this station does not provide forecasts.

Describe the solution you'd like
I'd like to be able to receive the data of the current weather conditions from another freely available data source. This includes the following data:

  • Temperature
  • Air pressure
  • Humidity
  • Wind speed
  • Visibility

Describe alternatives you've considered
I have not considered any alternatives :-)

Additional context
In an ideal world ;-), the dwd_weather integration would support adapters for publicly available weather station, and would make existing adapters available to all its users via the UI. An adapter could e.g. consist of a python class inheriting from a base adapter class (provided by the integration), and implementing the following:

  • a "getter" for the URL where the station's data can be accessed (in the example above, that would be this URL)
  • a function which takes the data received from that URL, parses it for the current weather conditions, and makes them available to the integration

The integration would then receive the data using the URL whenever appropriate, ask the adapter to parse it afterwards, and then make use of the parsed data.

Here's some example code - note that the adapter should probably provide more information, e.g. location of weather station, human readable name etc.

import sys
from abc import ABC, abstractmethod


# to be provided by the integration
class WeatherData:
    def __init__(self):
        # temperature in degrees Celsius
        self.temperature: float = sys.minfloat
        # air pressure in hectopascal
        self.air_pressure: float = sys.minfloat
        # humidity in percent
        self.humidity: int = sys.minint
        # wind speed in kilometers per hour
        self.wind_speed: float = sys.minfloat
        # visibility in km
        self.visibility: float = sys.minfloat


# to be provided by the integration
class WeatherAdapter(ABC):
    @abstractmethod
    def get_weather_station_url(self) -> str:
        pass

    @abstractmethod
    def parse_weather_station_data(self, raw_data: str, weather_data: WeatherData):
        pass


# to be provided by the community
class UniPaderbornWeatherAdapter(WeatherAdapter):
    def get_weather_station_url(self):
        return "http://wetter.upb.de/images/downld02.txt"

    def parse_weather_station_data(self, raw_data: str, weather_data: WeatherData):
        # parse data...
        weather_data.temperature = 42
        weather_data.humidity = 23

Aktuelle Werte

Hallo!
Ich bin mir nicht sicher aber werden in diesem Projekt nicht auch die aktuellen Wetterdaten bereitgestellt?

Danke für deine Arbeit!

KeyError: 'weather_interval' in 1.2.0

Version of home_assistant

2021.3.0b3

Version of the custom_component

1.2.0

Describe the bug

Integration doesn't load, looks like missing weather_interval, but how to add it?

Debug log


2021-02-27 18:18:52 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Wuerzburg for dwd_weather
Traceback (most recent call last):
  File "/srv/ha/lib/python3.8/site-packages/homeassistant/config_entries.py", line 251, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/home/homeassi/.homeassistant/custom_components/dwd_weather/__init__.py", line 40, in async_setup_entry
    time_window = entry.data[CONF_WEATHER_INTERVAL]
KeyError: 'weather_interval'

Current and next hour conditions as separate sensor

Is your feature request related to a problem? Please describe.
Last year during the summer I already tried to optimize my garden irrigation by checking the current rain and the rain probability for the next couple of hours. There are already sensors for that: Precipitation Duration, Precipitation Probability but you have to use templates in order to get the values for the next x hours, for each sensor.

Describe the solution you'd like
The disabled sensors should (i.e. Precipitation Duration, Precipitation Probability) should have readable attributes for the values of the next hours, so they can be used in automations and dashboards. Ideally the state of each sensor holds the value that matches the current time with the right measurement unit. Additional attributes for the next x hours for each sensor, either as default, or configurable.

Describe alternatives you've considered
Using templates to get these values
value_template: "{{ state_attr('sensor.precipitation_probability_XXX', 'data')[0]['value'] }}"

Additional context
No additional context, I hope it's clear, otherwise let me know and I'll provide more input.

Thanks

Integration does not appear in HA

Version of home_assistant

Home Assistant 2021.1.4

Version of the custom_component

v1.1.9

Describe the bug

I installed the Integration in HACS

But it does not appear in the Integrations section of HA:

Debug log

Nothing DWD related appearing

Bright Sky - current weather

I've independently encountered this integration and an attempt to add bright sky as an integration. So I've wondered if you have any plans of using the bright sky API. I was just surprised that I couldn't find any reference to it here.
I really like the concept of the OpenData program and am just looking for the best way to use it in my home automation system.

Additionally, in the readme is the following note:

Please note, that the "current" weather values are not measured values. The values shown are the forecasted values for the actual hour. The forecast itself is updated every 6 hours. If anyone knows a source for actual measurements, please let me know.

As far as I understand the Bright Sky documentation, it's possible to get current data from the dwd, right?

Data Origin
Data with the observation types current and historical is published by DWD's extensive network of observation stations. The difference between these two types lies only in the level of quality assurance that the DWD has provided (see the DWD's Climate Data Center README). Data with observation type forecast comes from MOSMIX.

Statistics Unterstützung

Hallo!
Erstmal danke für die Erweiterung!

Wäre es möglich auch Statistiken zu unterstützen?

Danke
M

Entities not available after update to 1.2.5

Version of home_assistant

2021.3.4

Version of the custom_component

1.2.5

Describe the bug

Weather widget is not available any more after update:

image

This might maybe be related to some duplication going on:

image

Debug log

No log entries...

Integrate textual forecast (Produkt: Aktuelles Wetter und Vorhersagen)

Hi and thanks for your great integration :)

What do you think about integrating the DWD textual forecasts into your Plugin?

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
I would like to see a textual forecast of todays weather for my region aka 'Bundesland' in HA

Describe alternatives you've considered

  • I tried to load the entire Page into an iframe card but that is not allowed
  • than i tried to fetch the page into a template sensor entity but that failed because of the 255 characters constraint, Works but only truncated
  • i considered creating a local webservice that fetches the HTML and transforms it into JSON so i could use a rest integration to load it into ha

Additional context
Would also be great to add pictures like warnings and current conditions but that is doable with a markdown card. So: nice to have :)

`sensor.sun_irradiance_<location>` is broken

Version of home_assistant

core-2021.3.4

Version of the custom_component

v1.2.8

Describe the bug

sensor.sun_irradiance_<location> doesn't contain any data:

data: 
- datetime: '2021-03-31T16:00:00.000Z'
  value: null
- datetime: '2021-03-31T17:00:00.000Z'
  value: null
...

Missing attributes

Is your feature request related to a problem? Please describe.
As far as I can see, the dwd also supplies values for current percipitation and current Cloud-Cover.

Would be great if your component would supply these as well.

Also more a question: how often is the current info updated?

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Rain forecast on dashboard

Hi, I would like to display on my dashboard when the next rain will start, what is the level (low, medium, strong) and when it will end.
Is it possible with this integration? I saw there are precipitation sensors that one can play with, but didn't found any example of YML code that I can reuse.

something like this:
Strong precipitation possible around 08:25 will end around 11:30.

Basically, I just want to know when the next rain will start and how long it will rain. If it is not that day maybe to display next date when the rain is forecasted.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.