import paho.mqtt.client as mqtt class MQTTPublisher: def __init__(self, config, logger): self.broker = config["broker"] self.port = config["port"] self.username = config["username"] self.password = config["password"] self.logger = logger def publish(self, message, topic): """Publiceert een bericht naar het MQTT-topic.""" try: self.logger.debug(f"Verbinden met MQTT broker {self.broker}...") client = mqtt.Client() # Authenticatie toevoegen client.username_pw_set(self.username, self.password) client.connect(self.broker, self.port, 60) self.logger.debug( f"Verbonden met MQTT broker op poort {self.port}.") # Zet het bericht om naar een string als het geen string is # Zorg ervoor dat het bericht een string is message_str = str(message) self.logger.debug(f"Publiceren naar MQTT-topic: {topic}") # Publiceer de string versie van het bericht client.publish(topic, message_str) self.logger.debug( f"Bericht gepubliceerd naar {topic}: {message_str}") client.disconnect() self.logger.debug("Verbinding met MQTT broker gesloten.") except Exception as e: self.logger.error(f"MQTT fout: {e}")