ESPHome for Merkury Innovations MI-BW210-999W

So I bought a set of these lights while at walmart to play with and I thought i’d share my finds with everyone…


I decided to take one of these bulbs apart to flash firmware over like a SonOff Basic…boy was I disappointed when there wasn’t anything to solder to for the FTDI. So I did some research and used the Tuya-Convert method as described by Digiblur on youtube. I didnt like the MQTT firmware to use these lights as I spent hours trying to get them to show up in my integrations. So I said FK-it and flashed a base firmware file from ESPHome to the bulb. After playing around with the pinouts as the Tasmota Templates were way off that I found I gave it a go and this is what you will need in your firmware file to upload if you are just getting into it. And there will only be two things you need to change and they are in light:


sm16716:
  data_pin: GPIO12
  clock_pin: GPIO14
  num_channels: 3
  num_chips: 1

output:
  - platform: sm16716
    id: output_red
    channel: 2
    power_supply: rgb_power
  - platform: sm16716
    id: output_green
    channel: 1
    power_supply: rgb_power
  - platform: sm16716
    id: output_blue
    channel: 0
    power_supply: rgb_power
  - platform: esp8266_pwm
    id: output_cold_white
    pin: GPIO5
  - platform: esp8266_pwm
    id: output_warm_white
    pin: GPIO4

light:
  - platform: rgbww
    name: End Table 1      #Change to match
    id: endtable_light_1     #Change to match
    red: output_red
    green: output_green
    blue: output_blue
    cold_white: output_cold_white
    warm_white: output_warm_white
    cold_white_color_temperature: 6500 K
    warm_white_color_temperature: 2700 K

power_supply:
  - id: rgb_power
    pin: GPIO13
1 Like

Here is how to flash tasmota-convert

this is really awesome as i was about to throw these bulbs out. the color on them is terrible but now i am thinking i will put them all in a group on a multiple bulb fixture.

using the tutorial video i was able to convert 7 bulbs to tasmota fairly easily but now i cannot get esphome bin to work. poking around the internet it seems like i need to downgrade from 8.2 to a 7.x version of the tasmota firmware, but not sure how. did you have to do this?

I didnt have to downgrade. Did you do the set option portion in the tasmota console for each bulb? I know it wouldnt allow any other firmware period til i set that option to unlock.

no i am not sure what that is i have only ever converted sonoff POWs to ESPhome and never had to use that but i will look into it thanks

There is a console when you log into the device in question then enter
SetOption78 1

once that is done then you should be able to flash the new firmware.

wow that was it. thanks again! a really great walkthrough

1 Like

I just wanted to say one quick bit, the color on these bulbs is okay, but there is some trick to getting the best color out of them. I saw there was on the template page for tasmota blackadder, that those bulbs, and alot of the other merkury ones need to have white enabled as overlay with the color. It has separate white and color LED if I recall correctly, so enabling it to use both of the sets of LED at once greatly improves the color. Hope this is enough bread crumbs.

I’m currently running 9 merkury bulbs tasmota/mqttt around the house, all tuya-converted. The color is pretty good imo, but like I said, I had to dig to find out why, when it was a color, it was so dim, like VERY dim, enabled whatever this fix was and bingo, they are fantastic for $25

@VarenDerpsAround I know you posted almost 2 months ago, but any chance you could post a config dump of one of your bulbs? I’ve gone through about 6 or 7 templates and a few variations of SetOption37and / or WhiteBlendMode, but haven’t gotten my config quite right yet.

Within tasmota, I have 4 sliders, which I’m assuming are “white balance”(warm -> cool white), “color”, “color saturation” (maybe not correct name, but “boldness of color” and a final black->white slider, which I assume is white channel brightness.

If I set white balance all the way to the warm side, color to whatever, and what I’m assuming is white channel brightness all the way to “white”, toggle will turn on/off the RBG portion of the bulb. If I adjust the “saturation” slider, the color becomes more/less “bold”, as I’d expect.

The problem is, if I touch the white balance at all, the warm white turns on, and my toggle no longer does anything. What’s more, even if I set the white balance back to the warm side, I have to move the saturation slider before I get any color / toggle at all.

I also noticed when I turn saturation all the way down, I still have cool white light (but not bright). I suspect then I just have one channel off or something, but I’m about out of ideas for how to get it set correctly.

Hi @VarenDerpsAround

How can this be accomplished? “enabling it to use both of the sets of LED at once greatly improves the color”

Thanks!

I pulled this from the page here. I believe this is the tip I used to enable the blending of w in with rgb.

Template for bulb

Thanks for the response @VarenDerpsAround!

I’ve been playing with ESP yaml’s for hours. With no luck. The white temperatures override the colours.

How did you enable white blending? Did you make any changes to the yaml?

YESSSS!!! I played around with the template and managed to get it working with home assistant, I can finally control the colours. However I’m still not sure about this colour blending thing. The colours aren’t extremely vibrant. The white light settings always override the rgb.

I’m Canadian so I think I got a weird some Canadian bulbs. My model number is MIC-BW210-999W. When buying the bulbs make sure you get the ones with the FCC ID ending in W36, so you can successfully tuya-convert them.


esphome:
  name: lamp666_1
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "xxxx"
  password: "xxxxxxxxxx"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Lamp666 Fallback Hotspot"
    password: "xxxxx"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:




sm16716:
  data_pin: GPIO04
  clock_pin: GPIO05
  num_channels: 3
  num_chips: 1

output:
  - platform: sm16716
    id: output_red
    channel: 2
    power_supply: rgb_power
  - platform: sm16716
    id: output_green
    channel: 1
    power_supply: rgb_power
  - platform: sm16716
    id: output_blue
    channel: 0
    power_supply: rgb_power
  - platform: esp8266_pwm
    id: output_cold_white
    pin: GPIO00
  - platform: esp8266_pwm
    id: output_warm_white
    pin: GPIO12

light:
  - platform: rgbww
    name: End Table 1      #Change to match
    id: endtable_light_1     #Change to match
    red: output_red
    green: output_green
    blue: output_blue
    cold_white: output_cold_white
    warm_white: output_warm_white
    cold_white_color_temperature: 6500 K
    warm_white_color_temperature: 2700 K

power_supply:
  - id: rgb_power
    pin: GPIO13

Thank you for this!! Worked perfectly!! Great work!

Curious, why does this add an extra entity called light.bulb?

No worries! Hmm not sure, it should just add one that you use to control the Bulb. Are you able to control the bulb with it?

Here’s my newest config. It turns the brightness on at boot. Has E1.31 so the lights dance to music. Also suggest setting a manual IP. Apparently “color_interlock: true” should be set to reduce overheating.


esphome:
  name: lamp_hallway
  platform: ESP8266
  board: esp01_1m
  on_boot:
    priority: -10
    then:
      - light.turn_on: #turns light on white at boot.  For different color set white to 0% and color to desired level, brightness controls colors only.
          id: lamp_hallway
          brightness: 50%
          red: 0%
          green: 0%
          blue: 0%
          white: 100%
          color_temperature: 2700 K

wifi:
  ssid: "****"
  password: "********"
  manual_ip:
    static_ip: *******
    gateway: *******
    subnet: *******

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:


sm16716:
  data_pin: GPIO04
  clock_pin: GPIO05
  num_channels: 3
  num_chips: 1

output:
  - platform: sm16716
    id: output_red
    channel: 2
    power_supply: rgb_power
  - platform: sm16716
    id: output_green
    channel: 1
    power_supply: rgb_power
  - platform: sm16716
    id: output_blue
    channel: 0
    power_supply: rgb_power
  - platform: esp8266_pwm
    id: output_cold_white
    pin: GPIO00
  - platform: esp8266_pwm
    id: output_warm_white
    pin: GPIO12

light:
  - platform: rgbww
    name: lamp_hallway     #Change to match
    id: lamp_hallway     #Change to match
    red: output_red
    green: output_green
    blue: output_blue
    cold_white: output_cold_white
    warm_white: output_warm_white
    cold_white_color_temperature: 6500 K
    warm_white_color_temperature: 2700 K
    color_interlock: true 
    effects:
      - random:
          name: random_slow
          transition_length: 5s
          update_interval: 7s
  - platform: fastled_spi
    chipset: SM16716
    data_pin: GPIO04
    clock_pin: GPIO05
    num_leds: 1
    name: "fastled_hallway"
    effects:
      - e131:
          universe: 1
          channels: RGB

e131:
  method: unicast


power_supply:
  - id: rgb_power
    pin: GPIO13

Jackw.27 - thank you so much for the code. I started with Tasmota which i run on all my other devices and coudlnt get anything work.

I tried yours and BAM works like a charm. Just converted 8 of these bulbs over. will use your new code now.

1 Like

Appears the random effect doesnt work.

Good stuff @minirx7 I just converted 7 over myself. Bricked three in the process too :expressionless:

The issue with the effects is caused by “color_interlock: true”. I added this in because of this post

“If you put color_interlock: true in the rgbw platform attributes it will force the white off for colors and turn the colors off when going back to white preventing both being on and overheating. Also when you click white or tell google to set the light to bright white it goes back to white. Saying just white they still turn to a dim white cause it doesn’t turn the white value back up unless you say bright white. Pretty much fixes this is sure you are taking about here”

I’m wondering if this is even needed. From my experience when I change the color, white value goes to zero. When I change the white value the color turns off. So might leave this line out myself.

I was lucky that all 8 bulbs didnt brick. The process i followed was this.

Tuya-Convert via Ubuntu wtih Tasmota 8.1
Key is to click enter to start Tuya then power the bulb on AFTER and then it will hook up. IF you turn on the light before you click enter, it wont work!

On the color_interlock, not sure what is the right play but i just toook out the randomizer as i dont really use that. Outside of that the colors are pretty good (but dim)…

Thank you for the template, as these bulbs are now working!