RGB strip lights and Smartthings bridge

Hi,

I recently started moving over from Smartthings to HA and I am using the smartthings-mqtt-bridge while I transition. I have set up my RGB strip lights with the following config:

  - platform: mqtt
    name: "Monitor Light"
    state_topic: "smartthings/Monitor Light/switch"
    command_topic: "smartthings/Monitor Light/switch"
    brightness_state_topic: "smartthings/Monitor Light/level"
    brightness_command_topic: "smartthings/Monitor Light/level"
    brightness_scale: 100
    rgb_state_topic: 'smartthings/Monitor Light/color'
    rgb_command_topic: 'smartthings/Monitor Light/color'
    rgb: true
    payload_on: "on"
    payload_off: "off"
    optimistic: false
    retain: true

Now there seems to be an issue with how Smartthings sees the RGB values coming in. It actually seems like it is converting by HSL values, not RGB.

For example, if I send full red to MQTT, Smartthings converts it to #707070 which is incorrect.

0|smartthi | info: Incoming message from MQTT: smartthings/Monitor Light/color = 255,0,0
0|smartthi | info: Incoming message from SmartThings: smartthings/Monitor Light/color = #707070

However, if I first convert the RGB to HSL I get ‘0,100,50’. When I send this to MQTT, Smartthings correctly interprets that as red, but #700000 instead of #FF0000. So it’s closer but not quite right.

0|smartthi | info: Incoming message from MQTT: smartthings/Monitor Light/color = 0,100,50
0|smartthi | info: Incoming message from SmartThings: smartthings/Monitor Light/color = #700000

Has anyone seen this before or know how to fix it?

Reference RGB docs