HomeAssistant + SmartThings + MQTT Bridge


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:
    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  
  1. Add devices, example: lights https://home-assistant.io/components/light.mqtt/