INNER CODE UNIT · Python
invalidate_publish_cache
bkbilly/lnxlink · lnxlink/__main__.py:223
def invalidate_publish_cache(self):
"""Force current monitor values to publish again after transport failover."""
self.prev_publish = {}
self.prev_publish_transport = {}
media_addon = getattr(self, "addons", {}).get("media")
if media_addon is not None and hasattr(media_addon, "invalidate_cache"):
media_addon.invalidate_cache()
def _publish_monitor_message(self, topic, pub_data, retain):
"""Publish a monitor value and cache only transport-accepted data."""
if retain:
self.monitor_topics[topic] = pub_data
delivery_token = self.mqtt.delivery_token
msg_info = self.mqtt.publish(topic, pub_data, retain)
if self.mqtt.publish_accepted(msg_info):
self.prev_publish[topic] = pub_data
self.prev_publish_transport[topic] = delivery_token
else: