Files
JIMRI/jython/MQTT/ReceiveMqttMessage.py
2026-06-17 14:00:51 +02:00

25 lines
815 B
Python

# Example of how to define how to receive MQTT messages
#
# To see the result run the ReceiveMqttMessage.py script
# or use e.g. (your broker and channel may vary)
# mosquitto_sub -v -h 'test.mosquitto.org' -t '/trains/#'
#
# Author: Bob Jacobsen, copyright 2020
import jmri
import java
# Find the MqttAdapter
mqttAdapter = jmri.InstanceManager.getDefault( jmri.jmrix.mqtt.MqttSystemConnectionMemo ).getMqttAdapter()
# listener class
class myMqttListener(jmri.jmrix.mqtt.MqttEventListener) :
def notifyMqttMessage(self, topic, message) :
# all this listener does is print
print("Received \""+topic+"\" \""+message+"\"")
# register a topic
topic = "jmri/test/topic" # note this will be prefixed by configured channel, i.e. "/trains/"
mqttAdapter.subscribe(topic, myMqttListener())