mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2026-02-13 00:27:12 +01:00
cleanup get all items
This commit is contained in:
@@ -99,7 +99,6 @@ class NsPanelLovelaceUI:
|
|||||||
update_mode = "auto-notify"
|
update_mode = "auto-notify"
|
||||||
self.updater = Updater(self, update_mode)
|
self.updater = Updater(self, update_mode)
|
||||||
|
|
||||||
|
|
||||||
# Request Tasmota Driver Version
|
# Request Tasmota Driver Version
|
||||||
self.mqtt.mqtt_publish(self.config["panelSendTopic"].replace("CustomSend", "GetDriverVersion"), "x")
|
self.mqtt.mqtt_publish(self.config["panelSendTopic"].replace("CustomSend", "GetDriverVersion"), "x")
|
||||||
|
|
||||||
@@ -368,13 +367,27 @@ class NsPanelLovelaceUI:
|
|||||||
pos = pos/100
|
pos = pos/100
|
||||||
self.api.get_entity(entity_id).call_service("volume_set", volume_level=pos)
|
self.api.get_entity(entity_id).call_service("volume_set", volume_level=pos)
|
||||||
|
|
||||||
def check_items(self):
|
def get_all_configured_items(self, pages):
|
||||||
items = []
|
items = []
|
||||||
for page in self.config["pages"]:
|
for page in pages:
|
||||||
if "item" in page:
|
if "item" in page:
|
||||||
items.append(page["item"])
|
items.append(page["item"])
|
||||||
if "items" in page:
|
if "items" in page:
|
||||||
items.extend(page["items"])
|
items.extend(page["items"])
|
||||||
|
|
||||||
|
# remove all dicts from list
|
||||||
|
cleaned_list = []
|
||||||
|
for item in items:
|
||||||
|
# in case item is a dict, grab the key and replace it
|
||||||
|
if type(item) is dict:
|
||||||
|
cleaned_list.append(next(iter(item)))
|
||||||
|
else:
|
||||||
|
cleaned_list.append(item)
|
||||||
|
|
||||||
|
return cleaned_list
|
||||||
|
|
||||||
|
def check_items(self):
|
||||||
|
items = self.get_all_configured_items(self.config["pages"])
|
||||||
|
|
||||||
for item in items:
|
for item in items:
|
||||||
# in case item is a dict, grab the key and use it as item name
|
# in case item is a dict, grab the key and use it as item name
|
||||||
@@ -387,12 +400,7 @@ class NsPanelLovelaceUI:
|
|||||||
self.api.error("The following item does not exist in Home Assistant, configuration error: %s", item)
|
self.api.error("The following item does not exist in Home Assistant, configuration error: %s", item)
|
||||||
|
|
||||||
def register_callbacks(self):
|
def register_callbacks(self):
|
||||||
items = []
|
items = self.get_all_configured_items(self.config["pages"])
|
||||||
for page in self.config["pages"]:
|
|
||||||
if "item" in page:
|
|
||||||
items.append(page["item"])
|
|
||||||
if "items" in page:
|
|
||||||
items.extend(page["items"])
|
|
||||||
|
|
||||||
for item in items:
|
for item in items:
|
||||||
if not self.api.entity_exists(item):
|
if not self.api.entity_exists(item):
|
||||||
|
|||||||
Reference in New Issue
Block a user