Shelly Duo bulbs crashing via MQTT

Good morning,
I've just purchased a pack of Shelly Duo bulbs. I don't want to use the cloud service, so their advertising that it uses MQTT and has variable brightness it was a deciding factor for me.

When using MQTT you can turn the bulb on and off, but if I send a command to set any configuration parameters it crashes the bulb. It no longer works via the built web page or via MQTT. My guess is my payload is wrong (the docs are confusing). When the program decodes the json payload (without validation) a part of the object they access is missing it throws an unhandled exception or just crashes.

Any help would be appreciated. (I have a support request with Shelly but so far I've only gotten the standard copy and paste from the FAQ answer. I asked to escalate it, and if not possible requested an RMA to return them.

Has anyone worked out what the configuration JSON should be?
Can I flash Shelly devices with Tasmota?

Thanks in advance for any suggestions!

I believe the Duo is a Gen 1 device?

If so, you should be able to see its status using MQTT Explorer on topic shellies/ShellyBulbDuo-<deviceid>. BTW, if you've changed the name of the device, that topic might be shellies/<devicename>

Assuming that is working, you should be able to send a string to shellies/ShellyBulbDuo-<deviceid>/light/0/command that is either on or off. Does that work? (Or ``shellies//light/0/command` if you've changed the device name

Oh, and do check that you have the latest firmware. Some early firmware wasn't very good with MQTT.

As an example, on my Shelly RGB2 device I can do the above by sending to this topic: shellies/shelly_rgbw2_01/color/0/command

Shelly Duo: MQTT – API Reference

Some can, not sure about the Duo. You'd have to take the shell apart though I suspect (I don't have a Duo) in order to get to the pins. On the RGB2 and similar devices, there is usually a small cover over the pins which are accessible. You shouldn't really need that though. The Shelly devices are usually very reliable.

It says it's the latest firmware:
The current Firmware version of your Shelly device is 20191216-140245/??? No newer firmware available.

It's rather disappointing it appears to be approaching four years old.

I was able to control it via MQTT using topic
shellies/ShellyBulbDuo-D0D35C/light/0/command
sending a payload of "on" and "off"

Their docs said you could send control setting to
shellies/ShellyBulbDuo-D0D35C/light/0/set
But the documentation was confusing enough I tried experimentation to try to infer what was correct. Sending this payload crashes it:
{"brightness":100,"white":0,"temp":2700,"turn":"on","transition":500}

The DUO doesn't have an obvious access for connections to the electronics. It wasn't beneath the diffuser was it?

OK, try sending {"turn": "on"} (or "off") to shellies/ShellyBulbDuo-D0D35C/light/0/set.

I've just tried the equivalent on my RBG2 and it worked.

If that works, try the other settings individually and if that works, try combinations.

Sorry, as I said, I don't have one. I have some Ikea bulbs but those are controlled over Zigbee. You might find some info on the Tasmotta site.

According to Reddit I'm probably never going to get a resolution. I did see someone say they had tasmota on them, but I haven't run down details.

Thanks for trying

It turns out an OTA flash, with no soldering, can be done reasonably easily.
Youtube video of the process is here:

The links in the GitHub page are no longer valid, but a pinned post in the youtube video gives new ones. When I upgraded the Firmware as per the instruction in the video it gives a "minimal firmware" warning, but it still works. I'm not sure the firmware upgrade once in Tasmota is necessary.

1 Like

This is a small firmware file to allow OTA flashing of a larger full version. You should flash a "full" version via the GUI in Tasmota for proper operation.

I did and it appears to fail.
I get no message, the page resets, then it gives the same minimal firmware message.
Regardless it seems to work.

It is a two step process, first it flashes minimum, then restarts and flashes normal version. Do not interrupt this process!

If you power cycle the device, then log back in and click on information button, what firmware does it show ?

ShellyBulbDuo-D0D35C

Program Version 13.1.0(tasmota)
Build Date & Time 2023-08-15T07:58:36
Core/SDK Version 2_7_4_9/2.2.2-dev(38a443e)
Uptime 0T17:49:50
Flash Write Count 25 at 0xF4000
Boot Count 6
Restart Reason Power On
Friendly Name 1 ShellyBulbDuo-D0D35C

The firmware upgrade I'm talking about is the one triggered after Tasmota is installed. The web console for the device offers an "update firmware" button. The video mentions the Shelly device firmware's OTA update has two step update.

That looks fine you have the FULL firmware installed.

Thanks, the error message had me questioning it. It works so I wasn't terribly concerned

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.