Skip to content

Add SONOFF Dongle-LMG21 range extender fingerprint - #3284

Open
HiconKong wants to merge 7 commits into
SmartThingsCommunity:mainfrom
HiconKong:add-sonoff-dongle-lmg21-fingerprint
Open

HiconKong wants to merge 7 commits into
SmartThingsCommunity:mainfrom
HiconKong:add-sonoff-dongle-lmg21-fingerprint

Conversation

@HiconKong

Copy link
Copy Markdown

Check all that apply

Type of Change

  • WWST Certification Request
    • If this is your first time contributing code:
      • I have reviewed the README.md file
      • I have reviewed the CODE_OF_CONDUCT.md file
      • I have signed the CLA
    • I plan on entering a WWST Certification Request or have entered a request through the WWST Certification console at developer.smartthings.com
  • Bug fix
  • New feature
  • Refactor

Checklist

  • I have performed a self-review of my code
  • I have commented my code in hard-to-understand areas
  • I have verified my changes by testing with a device or have communicated a plan for testing
  • I am adding new behavior, such as adding a sub-driver, and have added and run new unit tests to cover the new behavior

Description of Change

Add a fingerprint for the SONOFF Dongle-LMG21 running Zigbee router firmware to the existing zigbee-range-extender driver.

  • Manufacturer: SONOFF
  • Model: Dongle-LMG21
  • Device label: SONOFF Zigbee Range Extender
  • Device profile: range-extender

This change reuses the existing driver implementation and device profile. No Lua code, capabilities, or device profiles are changed.

Summary of Completed Tests

Manually tested with a SONOFF Dongle-LMG21 running custom-built Zigbee router firmware and a SmartThings Hub V3.

Verified in the SmartThings app that:

  • The device was successfully added and displayed as SONOFF Zigbee Range Extender.
  • The reported manufacturer and model were SONOFF and Dongle-LMG21, matching the new fingerprint.
  • The device was using the Zigbee Range Extender driver distributed through SONOFF Router Test Channel.
  • The device status showed Connected.
  • The connection path showed a direct connection between the hub and the device.

The screenshots below show the assigned driver, device information, connection status, and connection path.

These checks cover device onboarding and driver association. Routing traffic for other Zigbee devices was not verified as part of these checks.
IMG_0310_EN
IMG_0311_EN
IMG_0312_EN
IMG_0313_EN
IMG_0314_EN

@github-actions

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

zigbee-range-extender_coverage.xml

File Coverage
All files 95% ✅
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/zigbee-range-extender/src/init.lua 93% ✅
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/zigbee-range-extender/src/lazy_load_subdriver.lua 57% ❌

Minimum allowed coverage is 90%

Generated by 🐒 cobertura-action against 572c238

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Test Results

   73 files    546 suites   0s ⏱️
3 329 tests 3 329 ✅ 0 💤 0 ❌
5 329 runs  5 329 ✅ 0 💤 0 ❌

Results for commit 572c238.

♻️ This comment has been updated with latest results.

- Add a reusable range-extender-signal profile with signalStrength and refresh
- Report RSSI and LQI from Basic cluster responses
- Reuse manual refresh and existing five-minute polling for signal sampling
- Select the sub-driver by capability rather than manufacturer or model
- Update the Dongle-LMG21 fingerprint to use the new profile
- Add integration tests for sampling, profile changes, and device matching

Validation: all 22 integration tests pass; luacheck reports no warnings or errors.
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

Duplicate profile check: Passed - no duplicate profiles detected.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

Profile category check: ✅ Passed - all profiles have a category defined.

@KKlimczukS
KKlimczukS requested a review from cbaumler November 2, 2026 12:27
- Set min_api_version to 17 for all new tests
- Match the sub-driver using manufacturer and model fingerprints
- Add an extensible fingerprint list for supported range extenders
- Verify that unmatched manufacturers and models are rejected

Validation: all 22 tests pass; luacheck reports no warnings or errors.
…int' into add-sonoff-dongle-lmg21-fingerprint
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

Successfully merging this pull request may close these issues.

3 participants