Reference:

Instructions on the original blog post includes a step that's no longer needed - MQTT Broker is already included as a component of HomeAssistant now.

  1. Set up the built-in MQTT bridge for HomeAssistant. It runs on port 1883 and 8080, so you will have to either change the HA Broker address or the bridge address. I changed the bridge address to 8081 (next step)
  2. Set up MQTT Bridge, either via Docker or npm: https://github.com/stjohnjohnson/smartthings-mqtt-bridge
    a. The most important part is the port: within the mqtt block. It's no in the example.
    b. My config.yml file:
    mqtt:
     host: localhost
     port: 1883 # <---- THIS IS NOT IN THE DEFAULT FILE but you need it so the bridge can talk to the broker if it's not running on the "default" port
     rejectUnauthorized: false
     # Specify your MQTT Broker's hostname or IP address here
     #host: mqtt
     # Preface for the topics $PREFACE/$DEVICE_NAME/$PROPERTY
     preface: smartthings
    
     # Suffix for the state topics $PREFACE/$DEVICE_NAME/$PROPERTY/$STATE_SUFFIX
     # state_suffix: state
     # Suffix for the command topics $PREFACE/$DEVICE_NAME/$PROPERTY/$COMMAND_SUFFIX
     # command_suffix: cmd
    
     # Other optional settings from https://www.npmjs.com/package/mqtt#mqttclientstreambuilder-options
    # username: homeassistant
    # password: somepassword
    
    # Port number to listen on
    port: 8081 # <--- Changed this from 8080 to 8081 because HomeAssistant is running the broker on this port
    
  3. Add devices, example: lights https://home-assistant.io/components/light.mqtt/