|

Smart Lock Firmware Update Stuck Home Assistant Problems? What to Check First

If your smart lock firmware update is stuck mid-process in Home Assistant, the most likely cause is a battery voltage drop during the flash write cycle. Smart locks draw more current while writing new firmware than during normal operation. If the battery level was marginal before you started, the voltage sags below the lock’s safe operating threshold, the write fails, and the lock ends up in a partial-update state that it cannot recover from on its own.

The good news: you can spot this failure before it happens and, in many cases, recover the lock without replacing hardware.

Quick Triage: Five Checks to Run Right Now

Before diving into resets or support tickets, run through these pass/fail checks. Each one rules out a common reason the update stalled.

Check Pass Condition Fail Condition
Battery level reading Battery reports 40% or higher in Home Assistant Below 40%, especially under 20%
Signal stability (RSSI/LQI) RSSI better than -80 dBm or LQI above 100 (varies by radio) Weak or intermittent signal, high packet loss
Coordinator / hub status No “unavailable” entities on the same radio network Coordinator shows offline or frequent reconnects
Lock is responsive Lock responds to lock/unlock commands in HA Lock is unresponsive or shows “unavailable”
No other firmware jobs running No other Zigbee/Z-Wave/Matter OTA updates active Another device is also updating

If you fail two or more checks, do not attempt to restart the update yet. Fix those problems first.

Why Smart Lock Firmware Updates Get Stuck in Home Assistant

The core issue is almost always interrupt-driven. A firmware update is a large binary transfer over a low-power radio link. The lock’s microcontroller must receive, verify, and write that data in sequence. Any interruption — power dip, radio dropout, coordinator buffer overflow — can leave the lock in a state where it has partially erased the old firmware but hasn’t fully written the new one.

Home Assistant itself adds two wrinkles:

  • ZHA and Zigbee2MQTT handle OTA (over-the-air) updates through the coordinator. If the coordinator’s serial connection to the host system stutters (USB power saving, USB cable length, VM/container resource limits), the lock sees a timeout.
  • Matter firmware updates go through the Matter controller. Controller instability or a flaky Thread border router can drop the session mid-stream.

The specific failure mode that catches most owners: the lock’s battery voltage looks fine at idle (3.0 V or so), but under the write load it dips below 2.7 V. The lock’s voltage supervisor triggers a brownout reset, but the flash write was incomplete. The lock boots, finds corrupted firmware, and either does nothing or reboots in a loop.

3 Quick Fixes to Try in Order

These steps go from least invasive to most invasive. Do them in this sequence.

1. Power-Cycle the Lock, Then Resume

Remove the battery pack (or the batteries if it uses standard cells) for 30 seconds. Reinsert them. The lock should reboot. In most models, a cold boot clears the stuck OTA flag.

Check the lock’s status in Home Assistant after the reboot. You’ll see one of two outcomes:

  • If the lock shows the new firmware version — the update actually completed but never sent the acknowledgment. You are done.
  • If the lock still shows the old firmware version — the update was not applied. Restart the firmware update from the Home Assistant device page. Do not change batteries between the power cycle and the retry.

This immediate fork saves you from unnecessary additional steps when the update already took.

2. Replace Batteries Before Retrying

If the battery level was below 40% before the failure, the voltage sag during writing is almost certainly the culprit. Install fresh alkaline or lithium batteries. Do not mix old and new. Do not rely on the lock’s built-in rechargeable battery if it has been in service more than a year — internal Li-ion cells lose capacity over time and can sag under load even when the voltage reading looks acceptable.

After replacement, run the firmware update again from scratch. Do not try to resume a partial transfer.

3. Move the Coordinator Closer

If the lock and the Zigbee/Z-Wave coordinator are more than two rooms apart or have multiple walls in between, try a temporary closer position.

  • For a USB coordinator, use a USB extension cable to move it into the same room as the lock for the duration of the update.
  • For a standalone hub, temporarily relocate the hub closer to the door.
  • Verify the RSSI improves by at least 10 dB before starting the update.

Once the update completes, move the coordinator back to its normal location.

Deeper Causes to Rule Out

If the three quick fixes did not resolve the problem, the stuck update is likely caused by one of these deeper issues.

Coordinator Buffer Overload

Flashing firmware is a high-bandwidth operation for a Zigbee coordinator. If you have a large network (50+ devices) or the coordinator is also handling frequent sensor reports, the OTA transfer may be competing for airtime.

  • Pause automations that poll devices every few seconds (motion sensors, contact sensors, power monitoring plugs).
  • Disable any ZHA or Zigbee2MQTT debug logging temporarily to reduce serial traffic.
  • Retry the update during a quiet period — late evening when activity is lowest.

Router Dependency

Some smart locks connect to the coordinator through a Zigbee router (a powered smart plug or a bulb acting as a repeater). If that router is marginal, the OTA packets may not arrive consistently.

  • Check the lock’s neighbor table in Zigbee2MQTT or ZHA to see which device it routes through.
  • If the router device shows high jitter or frequent “leave” events, power-cycle that router device.
  • For critical updates, temporarily plug a known-good Zigbee router within 10 feet of the lock.

Matter / Thread Border Router Instability

If your lock uses Matter (for example, the Aqara U100 with Matter firmware), the OTA update runs over Thread through a border router. A border router with network congestion or a weak Thread radio can stall the update.

  • Check the border router’s uptime and signal quality in the Matter controller app.
  • Reboot the border router (typically an Echo, HomePod, Apple TV, or Google Nest Hub).
  • Make sure no other high-throughput Thread operations (like a camera streaming over Thread) are active during the update.

When to Stop Troubleshooting and Contact Support

Stop trying DIY fixes if any of these are true:

  • The lock is completely unresponsive after a power cycle — no keypad lights, no motor movement, no Bluetooth advertisement.
  • The lock shows a firmware version that does not match any official release (partial version string like “0.0.0” or a blank field).
  • The lock makes a clicking or buzzing sound but does not lock or unlock.

In those cases, the flash memory may be corrupted beyond what a power cycle or battery swap can fix. Contact the lock manufacturer’s support. Many smart lock models have a factory-recovery procedure that requires a serial connection or a special bootloader sequence. Support can walk you through it or offer a replacement under warranty.

If you have a ULTRALOQ U-Bolt Pro WiFi Smart Lock with Door Sensor or a ULTRALOQ Bolt Fingerprint Smart Lock with Door Sensor, ULTRALOQ’s support can guide you through a forced firmware recovery using the physical programming button on the interior assembly. For the Aqara Smart Lock U100, a long press on the reset button while reinserting batteries triggers recovery mode in its Bluetooth module.

In all cases, if the lock is still under warranty, do not disassemble the lock housing or attempt a serial flash recovery yourself unless support explicitly asks you to — that can void the warranty.

Explore This Topic

Related guides in this cluster:

Similar Posts