zigbee2mqtt icon indicating copy to clipboard operation
zigbee2mqtt copied to clipboard

[Wrong device]: Lonsonho ZB-RGBCW

Open rufabf opened this issue 4 months ago • 7 comments

Link

https://es.aliexpress.com/item/1005005073267687.html?srcSns=sns_Copy&spreadType=socialShare&bizType=ProductDetail&social_params=60497396209&aff_fcid=72ff9d597bcb47f7b15cfe11fe277bfe-1707685085563-02883-_EHPYaWN&tt=MG&aff_fsk=_EHPYaWN&aff_platform=default&sk=_EHPYaWN&aff_trace_key=72ff9d597bcb47f7b15cfe11fe277bfe-1707685085563-02883-_EHPYaWN&shareId=60497396209&businessType=ProductDetail&platform=AE&terminal_id=f249ef705ca142579d5606c9a0a2bbcf&afSmartRedirect=y

Model

YSRSAI YSR-MINI-01_rgbcct

Description

Led strip controler

Vendor

Tuya

Picture (link)

https://ae03.alicdn.com/kf/Scbd96754074a434b8f09a58e9869410f8.jpg

Database entry

{"id":20,"type":"Router","ieeeAddr":"0xa4c1385626311785","nwkAddr":59433,"manufId":4107,"manufName":"eWeLight","powerSource":"Mains (single phase)","modelId":"ZB-CL01","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":269,"inClusterList":[0,3,4,5,6,8,768,4096,2821],"outClusterList":[],"clusters":{"genBasic":{"attributes":{"hwVersion":0}},"lightingColorCtrl":{"attributes":{"colorCapabilities":25,"colorTempPhysicalMin":153,"colorTempPhysicalMax":500,"colorMode":2,"currentX":24939,"currentY":24701,"currentSaturation":0,"colorTemperature":500}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":6,"stackVersion":2,"hwVersion":0,"dateCode":"20230629","swBuildId":"2.0.1","zclVersion":3,"interviewCompleted":true,"meta":{"configured":1324213189},"lastSeen":1707683033636}

Notes

No response

rufabf avatar Feb 11 '24 21:02 rufabf

Hi,

Same issue for me, this device YSRSAI YSR-MINI-01_rgbcct is recognized as Lonsonho ZB-RGBCW and the ON/OFF action of the button is not reported.

Thx for your help.

0berkampf avatar Mar 06 '24 21:03 0berkampf

Looks like my issue is the same: https://github.com/Koenkk/zigbee2mqtt/issues/21912

ingoratsdorf avatar Mar 28 '24 00:03 ingoratsdorf

And probably the same here: https://github.com/Koenkk/zigbee2mqtt/issues/21758

ingoratsdorf avatar Mar 28 '24 00:03 ingoratsdorf

Same Lonsonho that creates issues here: https://github.com/Koenkk/zigbee2mqtt/issues/19465

ingoratsdorf avatar Mar 28 '24 00:03 ingoratsdorf

From what I can read on the forum and by reading through custom converters, it looks like we / Z2M needs a better profile matching algorithm. Coming from a few months of Homeassistant ZHA integration, they do matches via clusters, not just model and manufacturer. Something to think about. There, a custom converter is overwriting the built-in one which is not the case in Z2M. I could not find a method to "overwrite" a builtin converter. There's too many false positives.

ingoratsdorf avatar Mar 28 '24 01:03 ingoratsdorf

Had the same issue; fixed it by writing a short converter that copies the Lonsonho fingerprint and uses the YSRSAI light extension definition.

Put the code below as fix-ysrsai-confusion.js in your zigbee2mqtt /data directory and enable it by adding fix-ysrsai-confusion.js as custom converter:

external_converters:
  - fix-ledstrip-vendor-detection.js

Then remove and join the LED strip controller to your network. Then it should be detected and working as expected.

/*
 * Fixes the "YSRSAI YSR-MINI-01_wwcw" LED Strip wrongfully detected as a "Lonsonho ZB-RGBCW" bulb.
 *
 * Attributes zigbeeModel & fingerprint taken from the Lonsonho converter definition:
 *   https://github.com/Koenkk/zigbee-herdsman-converters/blob/c385d3fa7766ac5ab33bcc7124a1691663b6b8b6/src/devices/lonsonho.ts#L151
 *
 * Attributes model, vendor, description & light definition taken from the YSRSAI converter definition:
 *   https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/devices/ysrsai.ts#L4
 */
const tuya = require('zigbee-herdsman-converters/lib/tuya');

const definition = {
    zigbeeModel: ['ZB-RGBCW'],
    fingerprint: [{modelID: 'ZB-CL01', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLink'},
        {modelID: 'ZB-CL02', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLi\u0001\u0000\u0010'},
        {modelID: 'Z102LG03-1', manufacturerName: 'eWeLink'}],
    model: 'YSR-MINI-01_wwcw',
    vendor: 'YSRSAI',
    description: 'Zigbee LED controller (RGB+CCT)',
    extend: [tuya.modernExtend.tuyaLight({colorTemp: {range: [160, 370]}, color: true})]
};

module.exports = definition;

dotWee avatar May 11 '24 00:05 dotWee

Had the same issue; fixed it by writing a short converter that copies the Lonsonho fingerprint and uses the YSRSAI light extension definition.

Put the code below as fix-ysrsai-confusion.js in your zigbee2mqtt /data directory and enable it by adding fix-ysrsai-confusion.js as custom converter:

external_converters:
  - fix-ledstrip-vendor-detection.js

Then remove and join the LED strip controller to your network. Then it should be detected and working as expected.

/*
 * Fixes the "YSRSAI YSR-MINI-01_wwcw" LED Strip wrongfully detected as a "Lonsonho ZB-RGBCW" bulb.
 *
 * Attributes zigbeeModel & fingerprint taken from the Lonsonho converter definition:
 *   https://github.com/Koenkk/zigbee-herdsman-converters/blob/c385d3fa7766ac5ab33bcc7124a1691663b6b8b6/src/devices/lonsonho.ts#L151
 *
 * Attributes model, vendor, description & light definition taken from the YSRSAI converter definition:
 *   https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/devices/ysrsai.ts#L4
 */
const tuya = require('zigbee-herdsman-converters/lib/tuya');

const definition = {
    zigbeeModel: ['ZB-RGBCW'],
    fingerprint: [{modelID: 'ZB-CL01', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLink'},
        {modelID: 'ZB-CL02', manufacturerName: 'eWeLight'}, {modelID: 'ZB-CL01', manufacturerName: 'eWeLi\u0001\u0000\u0010'},
        {modelID: 'Z102LG03-1', manufacturerName: 'eWeLink'}],
    model: 'YSR-MINI-01_wwcw',
    vendor: 'YSRSAI',
    description: 'Zigbee LED controller (RGB+CCT)',
    extend: [tuya.modernExtend.tuyaLight({colorTemp: {range: [160, 370]}, color: true})]
};

module.exports = definition;

Its working. Thanks!!

rufabf avatar May 11 '24 19:05 rufabf