mqtt-sensord/mqtt_sensord/mqttlib/paho_mqtt.py

25 lines
649 B
Python

import json
import paho.mqtt.client as mqtt
from .base import MQTTClientBase
class MQTTClient(MQTTClientBase):
def _connect(self):
self._mqtt = mqtt.Client(self.client_id)
self._mqtt.username_pw_set(self.user, self.password)
self._mqtt.connect(self.host)
def send_data(self, topic, data):
self._mqtt.publish(topic, json.dumps(data))
def set_callback(self, callback):
self._mqtt.on_message = lambda client, userdata, msg: callback(msg.topic, msg.payload.decode())
def process_mqtt(self):
self._mqtt.loop(0.01)
def subscribe(self, topic):
self._mqtt.subscribe(topic)