Tasmota: Add support for Shelly button1

Created on 25 Jun 2020  路  16Comments  路  Source: arendst/Tasmota

Have you looked for this feature in other issues and in the docs?
Yes

Is your feature request related to a problem? Please describe.
_A clear and concise description of what the problem is._
There is no Tasmota available for this device

Describe the solution you'd like
_A clear and concise description of what you want to happen._
Add support for this device.
https://shop.shelly.cloud/shelly-button1-wifi-smart-home-automation#369

Describe alternatives you've considered
_A clear and concise description of any alternative solutions or features you've considered._
None

Additional context
_Add any other context or screenshots about the feature request here._

(Please, remember to close the issue when the problem has been addressed)

feature request (devs?) stale

Most helpful comment

Here is a better res photo.
What do you think about the pinout?
1b
2

Original image:
chipinside

All 16 comments

Hi,

Please, post photos of the internal board.

If this device contains an ESP8266 chip, may be it is already supported without any modification in Tasmota.

What it is needed is just to open it and to follow the traces of the GPIOs and then flash Tasmota and test those GPIOs using the selection of Generic Module. Then that information is the template.

Remember to backup the factory firmware first.

Thanks.

Oh ok.
I have ordered it, will post the photos once I get the devices.
Its a bit different from other devices, as it is just a push button, it has no relays or anything of that nature.
So supposing it has an ESP8266, I would want it to recognize a button press and do some action in response.
Something like access domoticz api on a given URL.

Here is a better res photo.
What do you think about the pinout?
1b
2

Original image:
chipinside

I Suspect the following (starting with port closest to the USB-Port): Either GND, TX, RX, VCC (3,3V) or GND, RX, TX, VCC (3,3V)

Hmm
What about GPIO0?
I guess, its the next one in line?

So after some trial and error.
GND,GPIO0, NC, VCC,RX,TX
Tasmota flashed.
I will try to play with the Generic template and write back.

So now I am a bit worried how to get it to work.
Right now its in initial mode so I can see the AP of Tasmota.
If I login (but don't set it up), it turns off after a minute or so.
I suppose, if I do set it up, it will likely remain permanently on, until it completely depletes the battery, unless I figure out, how to to turn it off?
Also, how would I go about setting it in Tasmota, so it just wakes up/turns on, joins wifi, does an http call and then turns off?
Is it even possible currently in Tasmota?

After some deliberation I decided to take a chance and set it up to join the network.
The device works the following way (don't even need to program it).
It boots tasmota normally, joins wifi and after something like a minute or maybe less (I need to check with a stopwatch) turns off automatically.
Apparently this is not done in software, as it requires no gpio setup.
What needs to be done:

  1. Try to figure out how to read battery charge level (original firmware supports that)
  2. Optionally figure out, how to turn the device off using software (for battery conservation).
  3. Detect the button press, and make a rule to trigger some action.

OK, I played some more and now I am totally confused.
The time it takes for the device to turn off appears to be rather random.
Sometimes it seems, the device won't turn off (unless you press the buttton and then it does after a few seconds).
Sometimes it seems to turn off, after having made a change in config and rebooted (again after a few seconds).
And sometimes it seems to turn off just "after a while" which is a few minutes.

Looks like it will be hard (or impossible) to support.
There is an extra mcu actually controlling the button/lights/power with the 8266 likely providing WIFI only.
Now the question is, how would I go about flashing back the original firmware?
I got the files from their site, but unsure which bin to flash.
Tried one which is about 600K, but there is no SSID appearing.

There is an extra mcu actually controlling the button

Hi, yes, and the second MCU is controlling the deep sleep to enable battery supply.

how would I go about flashing back the original firmware?

You will need a 2MB original backup or you can try to generate one here:
https://github.com/ioprev/shelly-firmware

but didn't work for me (I need a Shelly I3 backup, if anyone can help 馃槂 ).

Thanks, I wasn't aware of that tool.
Did you try providing it the original file?
Because I was able to get the file from Shelly's ftp.

Did you try providing it the original file?

Yes, the script takes the original Shelly .zip files
and tries to 'glue' working esp8266 2MB firmware.bin images from it.

I could create it for you with http://api.shelly.cloud/firmware/SHBTN-1_build.zip
but I'm pretty sure it won't work.

I have started an issue: https://github.com/ioprev/shelly-firmware/issues/4

Hmm.
Lets wait what the response on your issue will be.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

This issue will be auto-closed because there hasn't been any activity for a few months. Feel free to open a new one if you still experience this problem.

Was this page helpful?
0 / 5 - 0 ratings