code: def publish_data(self):
          
          self.publish_device_stats()
          publish = self.publish
  
          # node data
          for node in self.nodes:
              try:
                  if node.has_update():
                      for data in node.get_data():
                          publish(*data)
              except NotImplementedError:
                  raise
              except Exception as error:
                  self.node_error(node, error)
docs: publish node data if node has updates