def send_data(self, data):
final_data = {}
for name, datum in data.items():
names = name.split('.')
if 'avg_value' in datum:
if names[0] in final_data:
final_data[names[0]][names[1]] = datum['avg_value']
else:
final_data[names[0]] = {names[1]: datum['avg_value']}
for name, datum in final_data.items():
topic = "{0}/{1}".format(self._publish_topic, name)
if self._username is not None:
auth = {
'username': self._username,
'password': self._password
}
else:
auth = None
publish.single(topic,
payload=self._to_string(datum),
hostname=self._host,
client_id=self._manager._name,
auth=auth,
# tls=tls,
port=self._port,
protocol=mqtt.MQTTv311)
self._log.debug(
"Published message {0} to {1}/{2}.".format(datum, self._host, topic))
评论列表
文章目录