Shelly BLU device unresponsive after a failed update: rescue via bootloader mode

Shelly Device: Battery-powered BLU devices, e.g. BLU TRV, BLU Button, BLU H&T, BLU Door/Window, BLU Motion · Updated · Auch auf Deutsch

Firmware as of: BLU devices have their own firmware, separate from the Gen2+ versions; specific BLU version numbers were not checked for this page. BLU Gateway Gen3: 2.0.2 fixes slow/stalled updates; since 1.7.0 device rescue via the gateway works again (per the official changelog).

Generations: BLU

What you see: After a firmware update (via app, gateway or Debug app) a battery-powered BLU device no longer responds: button does nothing, no more readings, the BLU TRV doesn't regulate, "unreachable" in the app.

What it means: According to the official Shelly documentation, a BLU device stays in bootloader mode after an incomplete OTA update. It goes to sleep after 40 seconds; pressing the button wakes it for another 40 seconds. From there the update can be repeated.

Cost: €0 / CHF 0, possibly a new battery.

Step 1: Prepare 5 min

  1. Use an Android phone if possible (Shelly support's recommendation).
  2. Install the Shelly Debug app (from your phone's app store).
  3. "Forget" the BLU device in your phone's Bluetooth settings if it's paired there.
  4. For the BLU TRV and other battery devices, have a new or fully charged battery ready; support advises replacing a weak battery.
  5. Stay close to the device with your phone.

Step 2: Wake the device and find it in the Debug app 2 min

  1. Insert the battery (or take it out and reinsert it).
  2. The device should now appear in the Debug app. According to support, it can be selected for about 40 seconds.
  3. If it doesn't appear: support says to briefly press and hold the button before reinserting the battery. A later button press wakes the device for another 40 seconds, per the documentation.

Step 3: Start a slow OTA update 5–15 min

  1. Select the device in the Debug app.
  2. Start a slow OTA update. Both support articles name this explicitly.
  3. Keep the phone close until the update has finished; don't close the app.

A blog post from October 2026 describes the options "Stock", "Stock (slow)" and "Custom" in the Debug app; only "Stock (slow)" worked there. The labels may differ by app version.

Step 4: Add the device again 5 min

After a successful update, add the device again in the Shelly app or at the BLU Gateway. When adding via a gateway, Shelly support advises keeping the gateway close (within about 10 m).

Case: update via the BLU Gateway Gen3 hangs

  • The gateway itself is a Wi-Fi device and can't be rescued with the BLE Debug app (point from a community discussion).
  • According to the official changelog, gateway firmware 2.0.2 fixes slow or stalled updates, and since 1.7.0 device rescue via the gateway works (e.g. after a BLU TRV bootloader update). Check the gateway firmware first.

When to contact support

  • The device doesn't appear in the Debug app even with a new battery and the button held.
  • The slow OTA update keeps aborting.
  • The device starts after the update but doesn't work properly (e.g. TRV valve doesn't move).

Shelly support (official). Give device type, what you tried and the app version.

Sources

FAQ

Is my BLU device broken after an aborted update?

Usually not. According to the official Shelly documentation, a BLU device stays in bootloader mode after an incomplete OTA update, and the update can be repeated from there.

Why do I only see the device briefly in the Debug app?

In bootloader mode the device goes to sleep after 40 seconds, per the documentation. Pressing the button wakes it for another 40 seconds.

Does it work with an iPhone?

Shelly recommends an Android phone. According to the German support article on the BLU TRV, an OTA update on iOS is always a slow OTA update.

Can I rescue the BLU Gateway Gen3 with the Debug app too?

No, the gateway is a Wi-Fi device and is updated over Wi-Fi or its web interface, not with the BLE Debug app. Since gateway firmware 2.0.2, slow or stalled gateway updates are fixed according to the changelog.