Skip to content

Instantly share code, notes, and snippets.

@tdack
Last active May 2, 2024 15:04
Show Gist options
  • Save tdack/45dd356d9271a87914ce to your computer and use it in GitHub Desktop.
Save tdack/45dd356d9271a87914ce to your computer and use it in GitHub Desktop.
Bridge Mosquitto MQTT broker to io.adafruit.com MQTT broker to use with io.adafruit.com
# Connection name
connection adafruit
# Secure SSL/TLS
address io.adafruit.com:8883
# adjust path as approriate to point to directory with PEM encoded .crt CA files
bridge_capath /etc/ssl/certs/
# Insecure
# address io.adafruit.com:1883
# Credentials
remote_username <your username>
remote_password <your aio key>
# Config options for bridge
start_type automatic
bridge_protocol_version mqttv311
# This is important, if set to True connection will fail,
# probably because users don't have permissions to $SYS/#
notifications false
# Also important. if set to True the connection will fail,
# it seems io.adafruit.com doesn't support this
try_private false
# Topics to bridge
# topic <local topic> <in|out|both> <QoS> <local topic prefix> <remote topic prefix>
# eg: bridge temperature/shed to temperature/shed
# topic temperature/shed out 0 "" ""
# eg: bridge to io.adafruit.com
# temperature/shed to <username>/feeds/temperature_shed
# topic shed out 0 temperature <username>/feeds/temperature_
# eg: bridge from io.adafruit.com
# <username>/feeds/throttle to adafruit.io/throttle
# topic throttle in 0 adafruit.io/ <username>/feeds/
#
# eg: bi-directional topic
# <username>/feeds/welcome-feed to/from adafruit.io/welcome-feed
# topic welcome-feed both 0 adafruit.io/ <username>/feeds/
# note: if using the Adafruit.io "Welcome Feed" you'll need to rename
# it to "welcome-feed" in the web interface for the above example to work
@stanrock
Copy link

Here is what worked for me. Adafruit needs username/feeds/yourstuff format. I couldn't figure it out, but I fixed it by setting the bridging back to my mqtt broker and viewing the output with this command mosquitto_sub -v -t '#' -u mqtt_username -P password

My feeds are coming in as /southpark/temperature , etc. and going out as /stanrock/feeds/temperature ..etc. This works with Adafruit io.

connection adafruit
address io.adafruit.com:1883
bridge_attempt_unsubscribe false
cleansession false
notifications false
try_private false
remote_username stanrock
remote_password password
start_type automatic
bridge_protocol_version mqttv311

topic temperature out 0 /southpark/ stanrock/feeds/
topic pressure out 0 /southpark/ stanrock/feeds/
topic rssi out 0 /southpark/ stanrock/feeds/
topic waterlevel out 0 /southpark/ stanrock/feeds/
topic watertemp out 0 /southpark/ stanrock/feeds/
topic charger out 0 /southpark/ stanrock/feeds/
topic battemp out 0 /southpark/ stanrock/feeds/
topic uvindex out 0 /southpark/ stanrock/feeds/
topic uvvisible out 0 /southpark/ stanrock/feeds/
topic measuredvbat out 0 /southpark/ stanrock/feeds/

@AhmedHamadax
Copy link

Here is what worked for me. Adafruit needs username/feeds/yourstuff format. I couldn't figure it out, but I fixed it by setting the bridging back to my mqtt broker and viewing the output with this command mosquitto_sub -v -t '#' -u mqtt_username -P password

My feeds are coming in as /southpark/temperature , etc. and going out as /stanrock/feeds/temperature ..etc. This works with Adafruit io.

connection adafruit address io.adafruit.com:1883 bridge_attempt_unsubscribe false cleansession false notifications false try_private false remote_username stanrock remote_password password start_type automatic bridge_protocol_version mqttv311

topic temperature out 0 /southpark/ stanrock/feeds/ topic pressure out 0 /southpark/ stanrock/feeds/ topic rssi out 0 /southpark/ stanrock/feeds/ topic waterlevel out 0 /southpark/ stanrock/feeds/ topic watertemp out 0 /southpark/ stanrock/feeds/ topic charger out 0 /southpark/ stanrock/feeds/ topic battemp out 0 /southpark/ stanrock/feeds/ topic uvindex out 0 /southpark/ stanrock/feeds/ topic uvvisible out 0 /southpark/ stanrock/feeds/ topic measuredvbat out 0 /southpark/ stanrock/feeds/

Can you implement what you have just written?
because I don't get with the topics remapping part

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment