INNER CODE UNIT · Python
publish_monitor_data
bkbilly/lnxlink · lnxlink/__main__.py:186
def publish_monitor_data(self, name, pub_data, retain=True, force_publish=False):
"""Publish info data to mqtt in the correct format"""
subtopic = helpers.text_to_topic(name)
topic = f"{self.config['pref_topic']}/monitor_controls/{subtopic}"
if pub_data is None:
return
saved_data = copy.deepcopy(pub_data)
if isinstance(pub_data, bool):
if pub_data is True:
pub_data = "ON"
if pub_data is False:
pub_data = "OFF"
if isinstance(pub_data, dict):
if all(v is None for v in pub_data.values()):
return
if isinstance(pub_data, list):
if all(v is None for v in pub_data):
return