Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eWeLight #8026

Open
Imaginous opened this issue Sep 25, 2024 · 11 comments
Open

eWeLight #8026

Imaginous opened this issue Sep 25, 2024 · 11 comments

Comments

@Imaginous
Copy link

I have an unsupported eWeLight device.

But zigbee2mqtt doesn't show a model name.

I tried adding an external converter:

const {light} = require('zigbee-herdsman-converters/lib/modernExtend');

const definition = {
    zigbeeModel: [''],
    model: '',
    vendor: 'eWeLight',
    description: 'Smart Light Strip Controller (C+W)',
    extend: [light({colorTemp: {range: [153, 500]}})],
    configure: async (device, coordinatorEndpoint) => {
        device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 0x10});
    },
};

module.exports = definition;

This doensn't work, probably because there is no model name.
Is there an other way to indentify a zigbee device with the herdsman converters?

@Koenkk
Copy link
Owner

Koenkk commented Sep 25, 2024

Could you provide the data/database.db entry of this device?

@Imaginous
Copy link
Author

{"id":43,"type":"Router","ieeeAddr":"0xa4c138a0282c95ff","nwkAddr":9419,"manufId":4107,"manufName":"eWeLight","powerSource":"Mains` (single phase)","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":268,"inClusterList":[0,3,4,5,6,8,768,4096],"outClusterList":[],"clusters":{"genBasic":{"attributes":{"manufacturerName":"eWeLight","powerSource":1,"zclVersion":3,"appVersion":1,"stackVersion":2,"hwVersion":0,"dateCode":"20210907","swBuildId":"2.0.1"}},"lightingColorCtrl":{"attributes":{"colorCapabilities":16,"colorTempPhysicalMin":250,"colorTempPhysicalMax":454}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":1,"stackVersion":2,"hwVersion":0,"dateCode":"20210907","swBuildId":"2.0.1","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1727288026940}

@Imaginous
Copy link
Author

The device is not a router, nor a mains device.

It's a LED strip controller for controlling warm/cold white LED strips running between 5-24V

@Imaginous
Copy link
Author

I think it's a clone of this controller:

YSR-MINI-01_wwcw

@Koenkk
Copy link
Owner

Koenkk commented Sep 28, 2024

You can use a fingerprint (example), the modelID can be omitted.

@Imaginous
Copy link
Author

Using the following converter code makes the device work fine.
Maybe it can be implemented in a upcomming release.

const tuya = require('zigbee-herdsman-converters/lib/tuya');

const definition = {
    fingerprint: [
        {
            type: 'Router',
            manufacturerName: 'eWeLight',
            endpoints: [
                {ID: 1, profileID: 260, deviceID: 268, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096], outputClusters: []},
            ],
        },
    ],
    model: 'YSR-MINI-01_wwcw',
    vendor: 'eWeLight',
    description: 'Smart Light Strip Controller (C+W)',
    extend: [tuya.modernExtend.tuyaLight({colorTemp: {range: [153, 500]}})],
    configure: async (device, coordinatorEndpoint) => {
        device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 0x10});
    },
};

module.exports = definition;

@Imaginous
Copy link
Author

I thought it worked fine, but increasing brightness works, but when going to a lower value the light turns off completely until you raise the brightness or turn the light off/on.

Any idea on this?

@Imaginous
Copy link
Author

It seems only to go wrong when you send a set command with state and brightness in one JSON.

I don't know if it's even "allowed" by zigbee2mqtt.

@Koenkk
Copy link
Owner

Koenkk commented Oct 1, 2024

It seems only to go wrong when you send a set command with state and brightness in one JSON.

could you provide the debug log of both without the state and with?

See this on how to enable debug logging.

@Imaginous
Copy link
Author

I will do that, probably Friday or Saturday.

@Imaginous
Copy link
Author

On october second I upgraded to the latest version.

I did some testing today with different packages and now seems to keep working.

Also the parsed messages are all the same, so correct.

Oct 07 13:49:31 domoticapi1 npm[22809]: [2024-10-07 13:49:31] debug:         zh:controller: Received payload: clusterID=8, address=9419, groupID=0, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=255, frame={"header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":33,"commandIdentifier":11},"payload":{"cmdId":4,"statusCode":0},"command":{"ID":11,"name":"defaultRsp","parameters":[{"name":"cmdId","type":32},{"name":"statusCode","type":32}]}}
Oct 07 13:49:31 domoticapi1 npm[22809]: [2024-10-07 13:49:31] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Zolder_3D_Printer_Licht', payload '{"brightness":128,"color_mode":"color_temp","color_temp":250,"color_temp_startup":250,"do_not_disturb":false,"last_seen":"2024-10-07T13:49:31+02:00","linkquality":255,"power_on_behavior":"off","state":"ON"}'
Oct 07 13:49:31 domoticapi1 npm[22809]: [2024-10-07 13:49:31] debug:         zh:deconz: response received (33)
Oct 07 13:49:31 domoticapi1 npm[22809]: [2024-10-07 13:49:31] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Zolder_3D_Printer_Licht', payload '{"brightness":201,"color_mode":"color_temp","color_temp":250,"color_temp_startup":250,"do_not_disturb":false,"last_seen":"2024-10-07T13:49:31+02:00","linkquality":255,"power_on_behavior":"off","state":"ON"}'

Oct 07 13:50:48 domoticapi1 npm[22809]: [2024-10-07 13:50:48] debug:         zh:controller: Received payload: clusterID=8, address=9419, groupID=0, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=255, frame={"header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":55,"commandIdentifier":11},"payload":{"cmdId":4,"statusCode":0},"command":{"ID":11,"name":"defaultRsp","parameters":[{"name":"cmdId","type":32},{"name":"statusCode","type":32}]}}
Oct 07 13:50:48 domoticapi1 npm[22809]: [2024-10-07 13:50:48] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Zolder_3D_Printer_Licht', payload '{"brightness":201,"color_mode":"color_temp","color_temp":250,"color_temp_startup":250,"do_not_disturb":false,"last_seen":"2024-10-07T13:50:48+02:00","linkquality":255,"power_on_behavior":"off","state":"ON"}'
Oct 07 13:50:48 domoticapi1 npm[22809]: [2024-10-07 13:50:48] debug:         zh:deconz: response received (55)
Oct 07 13:50:48 domoticapi1 npm[22809]: [2024-10-07 13:50:48] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Zolder_3D_Printer_Licht', payload '{"brightness":128,"color_mode":"color_temp","color_temp":250,"color_temp_startup":250,"do_not_disturb":false,"last_seen":"2024-10-07T13:50:48+02:00","linkquality":255,"power_on_behavior":"off","state":"ON"}'

Oct 07 13:52:22 domoticapi1 npm[22809]: [2024-10-07 13:52:22] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Zolder_3D_Printer_Licht', payload '{"brightness":128,"color_mode":"color_temp","color_temp":250,"color_temp_startup":250,"do_not_disturb":false,"last_seen":"2024-10-07T13:52:22+02:00","linkquality":255,"power_on_behavior":"off","state":"ON"}'
Oct 07 13:52:22 domoticapi1 npm[22809]: [2024-10-07 13:52:22] debug:         zh:deconz: response received (74)
Oct 07 13:52:22 domoticapi1 npm[22809]: [2024-10-07 13:52:22] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Zolder_3D_Printer_Licht', payload '{"brightness":201,"color_mode":"color_temp","color_temp":250,"color_temp_startup":250,"do_not_disturb":false,"last_seen":"2024-10-07T13:52:22+02:00","linkquality":255,"power_on_behavior":"off","state":"ON"}'

Oct 07 13:53:40 domoticapi1 npm[22809]: [2024-10-07 13:53:40] debug:         zh:controller: Received payload: clusterID=8, address=9419, groupID=0, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=255, frame={"header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":96,"commandIdentifier":11},"payload":{"cmdId":4,"statusCode":0},"command":{"ID":11,"name":"defaultRsp","parameters":[{"name":"cmdId","type":32},{"name":"statusCode","type":32}]}}
Oct 07 13:53:40 domoticapi1 npm[22809]: [2024-10-07 13:53:40] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Zolder_3D_Printer_Licht', payload '{"brightness":201,"color_mode":"color_temp","color_temp":250,"color_temp_startup":250,"do_not_disturb":false,"last_seen":"2024-10-07T13:53:40+02:00","linkquality":255,"power_on_behavior":"off","state":"ON"}'
Oct 07 13:53:40 domoticapi1 npm[22809]: [2024-10-07 13:53:40] debug:         zh:deconz: response received (96)
Oct 07 13:53:40 domoticapi1 npm[22809]: [2024-10-07 13:53:40] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Zolder_3D_Printer_Licht', payload '{"brightness":65,"color_mode":"color_temp","color_temp":250,"color_temp_startup":250,"do_not_disturb":false,"last_seen":"2024-10-07T13:53:40+02:00","linkquality":255,"power_on_behavior":"off","state":"ON"}'

This is the final (temporary) converter I use (YSR-MINI-01_wwcw.js):

const tuya = require('zigbee-herdsman-converters/lib/tuya');

const definition = {
    fingerprint: [
        {
            type: 'Router',
            manufacturerName: 'eWeLight',
            endpoints: [
                {ID: 1, profileID: 260, deviceID: 268, inputClusters: [0, 3, 4, 5, 6, 8, 768, 4096], outputClusters: []},
            ],
        },
    ],
    model: 'YSR-MINI-01_wwcw',
    vendor: 'eWeLight',
    description: 'Smart Light Strip Controller (C+W)',
    extend: [tuya.modernExtend.tuyaLight({colorTemp: {range: [250, 454]}, color: false})],
    configure: async (device, coordinatorEndpoint) => {
        device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 0x10});
    },
};

module.exports = definition;

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

No branches or pull requests

2 participants