From 3ba33698ab9120022af98c0b3d356c3e7308449e Mon Sep 17 00:00:00 2001 From: marecabo <23156476+marecabo@users.noreply.github.com> Date: Sat, 23 Nov 2019 21:20:41 +0100 Subject: [PATCH] add attribute for storing one weather warning as a whole --- homeassistant/components/dwd_weather_warnings/sensor.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/homeassistant/components/dwd_weather_warnings/sensor.py b/homeassistant/components/dwd_weather_warnings/sensor.py index 4d7ad04e38257d..6bafeadb9dc8ab 100644 --- a/homeassistant/components/dwd_weather_warnings/sensor.py +++ b/homeassistant/components/dwd_weather_warnings/sensor.py @@ -140,6 +140,9 @@ def device_state_attributes(self): for event in self._api.data[prefix + "_warnings"]: i = i + 1 + # dictionary for the attribute containing the complete warning as json + event_json = event.copy() + data[f"warning_{i}_name"] = event["event"] data[f"warning_{i}_level"] = event["level"] data[f"warning_{i}_type"] = event["type"] @@ -154,11 +157,15 @@ def device_state_attributes(self): data[f"warning_{i}_start"] = dt_util.as_local( dt_util.utc_from_timestamp(event["start"] / 1000) ) + event_json["start"] = data[f"warning_{i}_start"] if event["end"] is not None: data[f"warning_{i}_end"] = dt_util.as_local( dt_util.utc_from_timestamp(event["end"] / 1000) ) + event_json["end"] = data[f"warning_{i}_end"] + + data[f"warning_{i}"] = event_json return data