Chirpstack not publishing to Mosquitto after successful connection

I’ve installed chirpstack onto an RPi4.

The devices are registering successfully onto the network/application, and i can see the events and frames appearing on the chirpstack web interface.

I have a standalone gateway (Laird) which is forwarding the Semtech UDP packets ok, via the chirpstack-gateway-bridge.

The chirpstack-gateway-bridge is publishing status messages successfully onto the Mosquitto broker that is also hosted on the RPi.

The application however is not posting any messages onto the “application/#” topic.

Its almost like the integration is not up or something, however i’ve checked the startup logs and it says it successfully connects to the MQTT server…

Here’s the configuration snippet from chirpstack.toml

#Enabled integrations (global).
enabled = [
]
#MQTT integration configuration.
[integration.mqtt]

# Event topic template.
event_topic="application/{{application_id}}/device/{{dev_eui}}/event/{{event}}"

# Command topic.
#
# This is the topic on which the MQTT subscribes for receiving (enqueue) commands.
command_topic="application/{{application_id}}/device/{{dev_eui}}/command/{{command}}"

# Use JSON encoding instead of Protobuf (binary).
json=true

# MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws)
server="tcp://localhost:1883/"

# Connect with the given username (optional)
username=""

# Connect with the given password (optional)
password=""

# Quality of service level
#
# 0: at most once
# 1: at least once
# 2: exactly once
#
# Note: an increase of this value will decrease the performance.
# For more information: https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels
qos=0

# Clean session
#
# Set the "clean session" flag in the connect message when this client
# connects to an MQTT broker. By setting this flag you are indicating
# that no messages saved by the broker for this client should be delivered.
clean_session=false

# Client ID
#
# Set the client id to be used by this client when connecting to the MQTT
# broker. A client id must be no longer than 23 characters. If left blank,
# a random id will be generated by ChirpStack.
client_id=""

# Keep alive interval.
#
# This defines the maximum time that that should pass without communication
# between the client and server.
keep_alive_interval="30s"

# CA certificate file (optional)
#
# Use this when setting up a secure connection (when server uses ssl://...)
# but the certificate used by the server is not trusted by any CA certificate
# on the server (e.g. when self generated).
ca_cert=""

# TLS certificate file (optional)
tls_cert=""

# TLS key file (optional)
tls_key=""

Happy to post the entire config if anyone can help.

It looks like you didn’t enable the MQTT integration. Chirpstack does use MQTT for communicating with the Gateway Bridge component, and that might have been the connection successful message that you saw.

#Enabled integrations (global).
enabled = [
"mqtt"
]
1 Like

Thanks, sp193.

I think that was it.

Pretty sure I didn’t read that anywhere in the doco.

I am new to the LoRaWan game, so something else that was catching me out, was that my devices were on like half hour uplink times. So even after watching the logs for ten minutes i was just not seeing them on appear on the application/# topic.

I ended up using MQTT explorer which displayed all the different topics on the broker.