mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2026-02-21 13:44:45 +01:00
alternativeLayout fix
This commit is contained in:
@@ -47,26 +47,41 @@ default_weather_icon_color_mapping = {
|
|||||||
"windy-variant": "35957" #50% grey
|
"windy-variant": "35957" #50% grey
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_screensaver_color_output(theme, state=None):
|
def get_screensaver_color_output(theme, state=None,alternativeEnable=None):
|
||||||
color_output = "color"
|
color_output = "color"
|
||||||
for key in default_screensaver_color_mapping:
|
for key in default_screensaver_color_mapping:
|
||||||
color_output += f"~{map_color(key=key, theme=theme, state=state)}"
|
color_output += f"~{map_color(key=key, theme=theme, state=state, alternativeEnable=alternativeEnable)}"
|
||||||
return color_output
|
return color_output
|
||||||
|
|
||||||
def map_color(key, theme, state=None):
|
def map_color(key, theme, state=None, alternativeEnable=None):
|
||||||
config_color = default_screensaver_color_mapping[key]
|
config_color = default_screensaver_color_mapping[key]
|
||||||
# Use theme color if set
|
# Use theme color if set
|
||||||
if key in theme:
|
if key in theme:
|
||||||
config_color = rgb_dec565(theme[key])
|
config_color = rgb_dec565(theme[key])
|
||||||
# Use Autocolouring for weather
|
# Use Autocolouring for weather
|
||||||
elif state is not None:
|
elif state is not None:
|
||||||
if key in ["tMainIcon", "tF1Icon", "tF2Icon", "tF3Icon", "tF4Icon"]:
|
if key in ["tMainIcon", "tF1Icon", "tF2Icon", "tF3Icon", "tF4Icon", "tMainIconAlt"]:
|
||||||
config_color = map_weather_icon_color(key=key, state=state)
|
config_color = map_weather_icon_color(key=key, state=state, alternativeEnable=alternativeEnable)
|
||||||
return config_color
|
return config_color
|
||||||
|
|
||||||
def map_weather_icon_color(key, state):
|
def map_weather_icon_color(key, state, alternativeEnable=None):
|
||||||
if state[key] in default_weather_icon_color_mapping:
|
if alternativeEnable:
|
||||||
config_color = default_weather_icon_color_mapping[state[key]]
|
# Hack to make alternativelayout work. Do something better later.
|
||||||
|
if key in ["tMainIcon", "tF1Icon"]:
|
||||||
|
# Parse as if white for now. These may do something else in the future for alternativeLayout.
|
||||||
|
config_color = "65535"
|
||||||
|
# In alternativeLayout F2 is actually F1 and so on. tMainIconAlt replaces tMainIcon. Remap these
|
||||||
|
elif key == "tF2Icon":
|
||||||
|
config_color = default_weather_icon_color_mapping[state["tF1Icon"]]
|
||||||
|
elif key == "tF3Icon":
|
||||||
|
config_color = default_weather_icon_color_mapping[state["tF2Icon"]]
|
||||||
|
elif key == "tF4Icon":
|
||||||
|
config_color = default_weather_icon_color_mapping[state["tF3Icon"]]
|
||||||
|
elif key == "tMainIconAlt":
|
||||||
|
config_color = default_weather_icon_color_mapping[state["tMainIcon"]]
|
||||||
else:
|
else:
|
||||||
config_color = "65535"
|
if key in state and state[key] in default_weather_icon_color_mapping:
|
||||||
|
config_color = default_weather_icon_color_mapping[state[key]]
|
||||||
|
else:
|
||||||
|
config_color = "65535"
|
||||||
return config_color
|
return config_color
|
||||||
|
|||||||
Reference in New Issue
Block a user