Check interval between forecast items

This commit is contained in:
joBr99
2022-04-17 23:14:06 +02:00
committed by GitHub
parent d2ce19886f
commit 1e80bd2697

View File

@@ -67,17 +67,25 @@ class LuiPagesGen(object):
icon_cur = get_icon_id_ha("weather", state=we.state) icon_cur = get_icon_id_ha("weather", state=we.state)
text_cur = convert_temperature(we.attributes.temperature, unit) text_cur = convert_temperature(we.attributes.temperature, unit)
# seconds between first and second forecast item
interval = (dp.parse(we.attributes.forecast[1]['datetime']) - dp.parse(we.attributes.forecast[0]['datetime'])).total_seconds()
weather_res = "" weather_res = ""
for i in range(1,5): for i in range(1,5):
wOF = self._config._config_screensaver.raw_config.get(f"weatherOverrideForecast{i}") wOF = self._config._config_screensaver.raw_config.get(f"weatherOverrideForecast{i}")
if wOF is None: if wOF is None:
up = we.attributes.forecast[i-1]['datetime'] up = we.attributes.forecast[i-1]['datetime']
#up = datetime.datetime.fromisoformat(up)
up = dp.parse(up) up = dp.parse(up)
if babel_spec is not None: if babel_spec is not None:
up = babel.dates.format_date(up, "E", locale=self._locale) if interval >= 86400.0:
up = babel.dates.format_date(up, "E", locale=self._locale)
else:
up = babel.dates.format_time(up, "H:mm", locale=self._locale)
else: else:
up = up.strftime("%a") if interval >= 86400.0:
up = up.strftime('%a')
else:
up = up.strftime('%H:%M')
icon = get_icon_id_ha("weather", state=we.attributes.forecast[i-1]['condition']) icon = get_icon_id_ha("weather", state=we.attributes.forecast[i-1]['condition'])
down = convert_temperature(we.attributes.forecast[i-1]['temperature'], unit) down = convert_temperature(we.attributes.forecast[i-1]['temperature'], unit)
else: else: