Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shelly Plus Plug S (EU) bricked using the method in the Readme #75

Open
zeus86 opened this issue Aug 31, 2024 · 11 comments
Open

Shelly Plus Plug S (EU) bricked using the method in the Readme #75

zeus86 opened this issue Aug 31, 2024 · 11 comments

Comments

@zeus86
Copy link

zeus86 commented Aug 31, 2024

Following the README unfortunately bricked 2 of my shellys.

Steps to reproduce:

  • Connect to shelly, provide wifi-credentials, continue with ip in the lan with internet access
  • upgraded vanilla fw via web-ui, upgrades to (IIRC) 1.3.x
  • after device is back up, another upgrade is available, upgrade to 1.4.x
  • after device is back up, locally flashed provided mgos32-to-tasmota32-PlusPlugS.zip (sha256:dc5c10d50026a8b795bde72ca0ffaa6693243a950ae84ca3b8ebb5ee97ac49d7)
  • device comes back up with tasmota 12.5 in AP-Mode.
  • provide wifi-credentials, continuing with LAN IP with internet access
  • configure->auto-configure->choose shelly plus plug s
  • device reboots into AP mode with shelly-ssid (not tasmota-ssid), constantly blinking blue (~1Hz)
  • acessing the web-ui just gives a Not Found
    • Full Output as seen with curl:
❯ curl -v http://192.168.33.1/ 
*   Trying 192.168.33.1:80...
* Connected to 192.168.33.1 (192.168.33.1) port 80
> GET / HTTP/1.1
> Host: 192.168.33.1
> User-Agent: curl/8.6.0
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Content-Length: 9
< Server: ShellyHTTP/1.0.0
< Connection: close
< 
* Closing connection
Not Found
~ 
  • device is essentially bricked. Pushing the button on the device audibly triggers the relais, holding the button does nothing.

can anyone tell me, what i've been missing? i can only assume, that the fact, that i flashed the OG-firmware twice with different versions, that it has different firmwares in both slots before atempting to flash tasmota, which may the problem here.

I flashed a second shelly, because on the first one i had forgotten to do the "autoconfigure" step. "My bad" I thought, and was willing to do it again, but the outcome was exactly the same on the second device. the readme explicitly states first upgrade to 1.4.x, so pleace clarify someone here.

However, it would be really nice, if the Readme would be more specific in this regard, because if serial flashing is the only way to recover from this (and i would like to know if this is the case), this is basically useless because you cannot open these devices without destroying them, which makes them unusable from then on for most people (me included). 😞

edit:
#75 (comment) describes a method to at least unbrick your device. however, for devices that cannot be flashed via serial reasonably (like the PlusPlugS), you are currently still not able to install tasmota in the end.

@PsychoRS
Copy link

Exact same issue and same result here, in my case with a Plus 2PM.

@bigbutler
Copy link

Same on Shelly 4pm

@PsychoRS
Copy link

PsychoRS commented Sep 20, 2024

Maybe an issue with latest Shelly FW (1.4.2)?

@lukesav1
Copy link

lukesav1 commented Sep 21, 2024

Same on Shelly Plus 1PM (Started with Shelly FW 1.4.2).

@zeus86
Copy link
Author

zeus86 commented Sep 26, 2024

it would be really nice, if someone from the team could have a look onto this. i don't even know how this behaviour is possible in the first place, now that we have safeboot instead of two mirrored partitions.

With models like 1pm or 4pm or dimmer or something, you at least have the possible route of manually flashing the ESP via it's debug header, but on the plug-s-plus: no way without destroying it physically...

At least a warning in the README would be suitable.

@lukesav1
Copy link

it would be really nice, if someone from the team could have a look onto this. i don't even know how this behaviour is possible in the first place, now that we have safeboot instead of two mirrored partitions.

With models like 1pm or 4pm or dimmer or something, you at least have the possible route of manually flashing the ESP via it's debug header, but on the plug-s-plus: no way without destroying it physically...

At least a warning in the README would be suitable.

I also tried flashing via the serial header after the error but with no luck, it failed with no comms, in my opinion it was properly bricked. I binned it in the end.

From now on im flashing via serial from the start

@fawick
Copy link

fawick commented Sep 27, 2024

Last night I ran into the same problem:

  • Updated Shelly Plug Plus S v2 to 1.4.2 (first from 1.1.x to 1.3.3 and only then the update to 1.4.2 was offered in Shelly WebUI)
  • Installed Tasmota
  • Ran auto-configuration

After reboot, the Shelly AP appeared again, and now most HTTP requests result in Not found.

However, I made a couple of additional observations that are not yet listed here:

  1. In the wifi network provided by Shelly AP, the endpoint http://192.168.33.1/ota is still special. Without any parameters it will complain that it is missing an URL. With one provided (e.g. http://192.168.33.1/ota?url=https://github.com/tasmota/mgos32-to-tasmota32/releases/download/v14.0.0/mgos32-to-tasmota32-PlusPlugS.zip), the plug reponds with something like Installing firmware from https://github.com/tasmota/mgos32-to-tasmota32/releases/download/v14.0.0/mgos32-to-tasmota32-PlusPlugS.zip. However, nothing really happens.
  2. The plug is still be found via bluetooth by the Shelly Smart Control App and I can get to the point in which I am asked to provide SSID and wifi passwort. But the actual integration of the device into my wifi is not successful.
  3. The endpoint http://192.168.33.1/shelly is also still working

I wonder whether there are other endpoints to try.

@fawick
Copy link

fawick commented Sep 27, 2024

Good news: I was unable to unbrick my Plus Plug S (v2).

Here's how:

  • Download a shelly stock firmware for your device. I used http://rojer.me/files/shelly/stock/1.3.3/PlusPlugS.zip

  • Connect to the Shelly AP, let's assume you get the IP 192.168.33.42

  • In a second console, listen with netcat to an arbitrary UDP port, e.g. nc -u -l 56789

  • Run curl -X POST -d '{"id":1,"method":"Sys.SetConfig","params":{"config":{"debug":{"udp":{"addr":"192.168.33.42:56789"}}}}}' http://192.168.33.1/rpc to let the Shelly firmware send debug messages via UDP

  • In the folder, where you downloaded the ZIP, run python -m http.server to serve this folder via HTTP

  • Run curl "http://192.168.33.1/ota?url=http://192.168.33.42:8000/PlusPlugS.zip" to trigger the firmware installation

  • Wait a bit, there should be progress messages coming in via UDP, check the nc console

  • Afterwards, you can access the Shelly Web UI again.

Hope that helps all of you a bit.

@Glotzon
Copy link

Glotzon commented Oct 3, 2024

Same issue with one out of four Shelly PlusPlugS.
Successfully recovered using this method: #75 (comment)

Now I need to decide if I'll give it another try, but thank you @fawick for the awesome work to figure out how recovery works.

UPDATE: I gave it another try, but with same result. Device bricks, recovered with the method above. Feels like this might be dependent on the actual device.

@zeus86
Copy link
Author

zeus86 commented Oct 15, 2024

Good news: I was unable to unbrick my Plus Plug S (v2).

Here's how:
[...]
Hope that helps all of you a bit.

I have no Idea how you came up with this, but this totally works. I was able to unbrick both plugs by hitting the http-api as described. the debug-messages did not work for me, but the flashing itself did. Awesome that the seemingly defunct webserver takes OTA-requests anyways. You see the plug hitting the webserver for the firmware-file and blinking red afterwards, indicating an OTA-Flash.

To be honest, i much prefer this method of flashing anyways instead of this "drag this file to this textbox", which produces drastically different results depending on the OS, the browser and things like wayland, flatpaked browser, network setup and so on.

However, thank you alot for this solution.

Whatsoever: this of course does not solve the original problem, that the readme-method is broken für plugplus-s, which you cannot easily flash via serial, so this issue itself remains valid.

@coaxx77
Copy link

coaxx77 commented Oct 17, 2024

fawick's method to get bricked device back to shelly firmware worked for me, too. I assume

There is no way back to Shelly firmware if you have initiated the convert process!

must be wrong then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants