diff --git a/HMI/fonts/(CJK) HMI NotoSans-Regular 24 (UTF_8).zi b/HMI/fonts/(CJK) HMI NotoSans-Regular 24 (UTF_8).zi new file mode 100644 index 00000000..0127a05f Binary files /dev/null and b/HMI/fonts/(CJK) HMI NotoSans-Regular 24 (UTF_8).zi differ diff --git a/HMI/fonts/(CJK) HMI NotoSans-Regular 32 (UTF_8).zi b/HMI/fonts/(CJK) HMI NotoSans-Regular 32 (UTF_8).zi new file mode 100644 index 00000000..18f7066a Binary files /dev/null and b/HMI/fonts/(CJK) HMI NotoSans-Regular 32 (UTF_8).zi differ diff --git a/HMI/nspanel.HMI b/HMI/nspanel.HMI index 40a91f78..1bc17fe6 100644 Binary files a/HMI/nspanel.HMI and b/HMI/nspanel.HMI differ diff --git a/HMI/nspanel.tft b/HMI/nspanel.tft index 7e1b540f..4f866c0d 100644 Binary files a/HMI/nspanel.tft and b/HMI/nspanel.tft differ diff --git a/apps/nspanel-lovelace-ui/luibackend/config.py b/apps/nspanel-lovelace-ui/luibackend/config.py index 7ed583f5..9a6f5482 100644 --- a/apps/nspanel-lovelace-ui/luibackend/config.py +++ b/apps/nspanel-lovelace-ui/luibackend/config.py @@ -36,7 +36,7 @@ class Card(object): for e in self.entities: entityIds.append(e.entityId) # additional keys to check - add_ent_keys = ['weatherOverrideForecast1', 'weatherOverrideForecast2', 'weatherOverrideForecast3', 'weatherOverrideForecast4'] + add_ent_keys = ['weatherOverrideForecast1', 'weatherOverrideForecast2', 'weatherOverrideForecast3', 'weatherOverrideForecast4', 'statusIcon1', 'statusIcon2'] for ent_key in add_ent_keys: val = self.raw_config.get(ent_key) if val is not None: diff --git a/apps/nspanel-lovelace-ui/luibackend/pages.py b/apps/nspanel-lovelace-ui/luibackend/pages.py index bde90758..8f49487f 100644 --- a/apps/nspanel-lovelace-ui/luibackend/pages.py +++ b/apps/nspanel-lovelace-ui/luibackend/pages.py @@ -122,11 +122,23 @@ class LuiPagesGen(object): down = f"{entity.state} {unit_of_measurement}" weather_res+=f"~{up}~{icon}~{down}" - altLayout = "" + altLayout = "~~" if self._config._config_screensaver.raw_config.get("alternativeLayout", False): altLayout = f"~{get_icon_id('water-percent')}~{we.attributes.humidity} %" - self._send_mqtt_msg(f"weatherUpdate~{icon_cur}~{text_cur}{weather_res}{altLayout}") + # status icons + status_res = "" + for i in range(1,2): + statusIcon = self._config._config_screensaver.raw_config.get(f"statusIcon{i}") + if statusIcon is not None: + icon = statusIcon.get("icon") + entity = self._ha_api.get_entity(statusIcon.get("entity")) + entityType = entityId.split(".")[0] + icon = get_icon_id_ha(entityType, state=entity.state, device_class=entity.attributes.get("device_class", ""), overwrite=icon) + color = self.get_entity_color(entity) + status_res += f"~{icon}~{color}" + + self._send_mqtt_msg(f"weatherUpdate~{icon_cur}~{text_cur}{weather_res}{altLayout}{status_res}") # send color if configured in screensaver if theme is not None: