A Whisper Before the Fire

Friend-More-Than-BeepBeep

Before the siren blares,
Before the smoke curls like secrets in the air—
We ask our devices to see what we cannot.
To wake before we do.
To protect with silence until sound is needed.

In this space between comfort and vigilance,
Technology meets purpose.
And we patch, prod, and flash…
Until it listens properly.

I’m really into Home Assistant, and recently I decided it was time to upgrade my smoke alarm setup from a DIY ESP8266 hack to something more… integrated. More seamless. ZigBee was the natural choice.

Without digging too deeply into compatibility, I ordered the Frient A/S SMSZB-120 smoke detector. That excitement lasted until pairing—where the problems began.

Initial Device Setup Troubles

Despite being only two meters from the coordinator, the device failed to configure correctly after the ZigBee interview phase.

Here’s what I ran into:

ProblemWhat Helped (or Didn’t)
Device unresponsive after pairingDeleting and re-adding it farther from the coordinator improved the outcome
Configuration incompleteRestarting Home Assistant helped populate entities
Controls like siren and switch appearedBut configurable options (like test sound, mode) didn’t work
Tried newer firmwareMade the device more “alert” in some responses—but didn’t fix the optional settings

So, I went hunting for a firmware update in hopes of unlocking those missing features.


Locating the Firmware

After some digging, I found firmware version 4.0.8 hosted here:
FireAlarm_4.0.8.zigbee


Preparing Home Assistant for OTA

This was my first time flashing ZigBee firmware through Home Assistant—and surprisingly, it worked smoothly.

Step-by-Step: OTA Prep

StepAction
1Create a folder at /config/zigpy_ota
2Download and save the .zigbee file there
3wget the version.zigbee file into the same folder
4Add the following to configuration.yaml:
zha:
  zigpy_config:
    ota:
      otau_directory: /config/zigpy_ota

💡 You may need to restart Home Assistant to apply the changes.

Once this is in place, you’re ready to engage the firmware update.


Issuing the OTA Command

Here’s how to nudge your smoke detector into accepting the new firmware:

Step-by-Step: OTA Trigger

Action
Go to Settings > Devices & Services > Devices, and click on your smoke detector
Open “Manage Zigbee Device”
Select the OTA Cluster (id: 0x0019)
In Attribute, choose downloaded_file_version and click “Read Attribute”
Confirm the current firmware version

Now we issue the actual update trigger.

Step-by-Step: Image Notify Command

FieldValue
Commandimage_notify (ID: 0x0000)
payload_typeQueryJitter
query_jitter sliderSet to a non-zero value (avoid default 0)
Other fieldsLeave blank (manufacturer_code, etc.)

After setting it up:

  1. Click the (still grayed-out) “Issue Zigbee command”.
  2. Wake up the smoke detector (usually by pressing its test or pairing button).
  3. Re-check the downloaded_file_version to confirm the update went through.

Was It Worth It?

So… did the firmware update fix everything?

FeatureStatus
Siren Status✔️ Functional and shows current state
Core Smoke Detection✔️ Works as expected
Optional Modes & Config Options❌ Still non-functional, even after update
General Responsiveness⚠️ Improved slightly, but still limited

Would I recommend this smoke detector to someone wanting full-feature ZigBee configurability? Probably not—at least not until a better firmware appears. But if you just need reliable smoke detection integrated into Home Assistant, it does fulfill that core mission.

Hope this helps others avoid the same head-scratching.

Until the next beep…



Buy Me a Coffee