wzwenzhi / Wenzhi-ZigBee2mqtt

How to add wenzhi ZigBee sensor to ZigBee2mqtt
11 stars 5 forks source link

WZ-M100-W not supported #7

Open bchevreau opened 4 months ago

bchevreau commented 4 months ago

Model : WZ-M100-W 5.9G Wall Mount version

It seems a new manufacturer was added to the list, but it is not working for me. I added all the converters from your github just in case, but it did not help... Still shows as unsupported.

Info 2024-05-21 00:19:54Interview for '0xa4c138ad8623cb59' started Info 2024-05-21 00:19:54Device '0xa4c138ad8623cb59' joined Info 2024-05-21 00:19:54Starting interview of '0xa4c138ad8623cb59' Info 2024-05-21 00:19:56Succesfully interviewed '0xa4c138ad8623cb59' Info 2024-05-21 00:19:56Successfully interviewed '0xa4c138ad8623cb59', device has successfully been paired Warning 2024-05-21 00:19:56Device '0xa4c138ad8623cb59' with Zigbee model 'TS0601' and manufacturer name '_TZE204_laokfqwu' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

wzwenzhi commented 4 months ago

Hello, we are updating the document and will upload the latest JS file here within two days.

------------------ 原始邮件 ------------------ 发件人: "wzwenzhi/Wenzhi-ZigBee2mqtt" @.>; 发送时间: 2024年5月21日(星期二) 凌晨0:25 @.>; @.***>; 主题: [wzwenzhi/Wenzhi-ZigBee2mqtt] WZ-M100-W not supported (Issue #7)

Model : WZ-M100-W 5.9G Wall Mount version

It seems a new manufacturer was added to the list, but it is not working for me. I added all the converters from your github just in case, but it did not help... Still shows as unsupported.

Info 2024-05-21 00:19:54Interview for '0xa4c138ad8623cb59' started Info 2024-05-21 00:19:54Device '0xa4c138ad8623cb59' joined Info 2024-05-21 00:19:54Starting interview of '0xa4c138ad8623cb59' Info 2024-05-21 00:19:56Succesfully interviewed '0xa4c138ad8623cb59' Info 2024-05-21 00:19:56Successfully interviewed '0xa4c138ad8623cb59', device has successfully been paired Warning 2024-05-21 00:19:56Device '0xa4c138ad8623cb59' with Zigbee model 'TS0601' and manufacturer name '_TZE204_laokfqwu' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

bchevreau commented 4 months ago

Thank you very much, that's great news !

wzwenzhi commented 4 months ago

https://github.com/wzwenzhi/Wenzhi-ZigBee2mqtt/blob/main/wenzhi_tuya_240521(1).js

bchevreau commented 4 months ago

I tried adding the file, but still getting the same error that it is not supported (see below). I also tried to change model from model: 'WZ-M100-Z' to model: 'WZ-M100-W' as it is what shows on the package of my device, but that didn't change anything either,

Info 2024-05-21 14:27:08Interview for '0xa4c138ad8623cb59' started
Info 2024-05-21 14:27:08Device '0xa4c138ad8623cb59' joined
Info 2024-05-21 14:27:08Starting interview of '0xa4c138ad8623cb59'
Info 2024-05-21 14:27:09Succesfully interviewed '0xa4c138ad8623cb59'
Info 2024-05-21 14:27:09Successfully interviewed '0xa4c138ad8623cb59', device has successfully been paired
Warning 2024-05-21 14:27:09Device '0xa4c138ad8623cb59' with Zigbee model 'TS0601' and manufacturer name '_TZE204_laokfqwu' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

External converter is there, I tried with everything from the list AND with just that one, but no changes, still unsupported: image

bchevreau commented 4 months ago

image

wzwenzhi commented 4 months ago

image

Hello, have you updated ZigBee2mqtt to the latest version and reloaded it?

bchevreau commented 4 months ago

Yes, Z2M is on latest version as far as I know, and I tried both multiple restarts of zigbee2mqtt as well as my whole Home Assistant instance :-(

image

wzwenzhi commented 4 months ago

I tried adding the file, but still getting the same error that it is not supported (see below). I also tried to change model from model: 'WZ-M100-Z' to model: 'WZ-M100-W' as it is what shows on the package of my device, but that didn't change anything either,

Info 2024-05-21 14:27:08Interview for '0xa4c138ad8623cb59' started
Info 2024-05-21 14:27:08Device '0xa4c138ad8623cb59' joined
Info 2024-05-21 14:27:08Starting interview of '0xa4c138ad8623cb59'
Info 2024-05-21 14:27:09Succesfully interviewed '0xa4c138ad8623cb59'
Info 2024-05-21 14:27:09Successfully interviewed '0xa4c138ad8623cb59', device has successfully been paired
Warning 2024-05-21 14:27:09Device '0xa4c138ad8623cb59' with Zigbee model 'TS0601' and manufacturer name '_TZE204_laokfqwu' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

External converter is there, I tried with everything from the list AND with just that one, but no changes, still unsupported: image

QQ截图20240521151032

Another possibility is that you uploaded the JS file to the wrong folder. You need to upload it to the directory of ZigBee2mqtt, please refer to my screenshot.

bchevreau commented 4 months ago

Yes, I checked that too, and also checked that my database.db does not have any reference of the device after force-removing it to re-pair it. :-( Also tried removing the (1) from the name thinking it could cause issues. But nothing works :-/ I guess we're down to returning the device and checking for another seller?

image

wzwenzhi commented 4 months ago

QQ截图20240521152504 Hello, have you already clicked submit here?

bchevreau commented 4 months ago

Yes several times, also doublechecked in zigbee2mqtt configuration.yaml and they both show

bchevreau commented 4 months ago

I found the solution, coming from the pending pull request here: https://github.com/wzwenzhi/Wenzhi-ZigBee2mqtt/pull/6

Removing the const extend fixed it and managed to use the converter.

wzwenzhi commented 4 months ago

Our version is the same. But I noticed that the installation of your ZigBee2mqtt file seems to be different. You are in the home assistant folder. But ours is in the config folder. I don't know if it's because of this problem. QQ截图20240521153529

bchevreau commented 4 months ago

It is still the config folder, i think that depends on how your config is set but data is pulled the same I think ?

I have one last question: I noticed something, the presence sensor itself doesn't seem to be recognized as a presence sensor so I cannot pick it as such in blueprints and regular triggers:

image

There is no domain class attached to it, could I maybe edit something in the external converter to give it a domain or device_class = presence so that it is recognized as a presence sensor by Home Assistant ? I'm not sure how to do that without breaking the converter.

KaelWD commented 4 months ago

I'm using this with _TZE204_laokfqwu and the maximum range won't go over 6, if I set it to something higher it gets reset back to the previous value.

djiesr commented 3 months ago

image

I try to install it, I copy the file in the folder, I had the lines in the configuration file, I reboot z2m. What alse I have to do? I have this error: Zigbee2MQTT Current version: 1.38.0-

dekiel123 commented 3 months ago

image

I try to install it, I copy the file in the folder, I had the lines in the configuration file, I reboot z2m. What alse I have to do? I have this error: Zigbee2MQTT Current version: 1.38.0-

I have the same problem.

wzwenzhi commented 3 months ago

djiesr

We have identified this issue and it seems that external converters cannot be imported only in version 1.3.8 of ZigBee2mqtt. We are also studying why this is happening. We will update here once we find the method.

wzwenzhi commented 3 months ago

I'm using this with _TZE204_laokfqwu and the maximum range won't go over 6, if I set it to something higher it gets reset back to the previous value.

Hello, you can connect it to the tuya app first. Then update the firmware.

githubsharezone commented 3 months ago

i have the same problem of @djiesr

githubsharezone commented 3 months ago

I'm using this with _TZE204_laokfqwu and the maximum range won't go over 6, if I set it to something higher it gets reset back to the previous value.

Hello, you can connect it to the tuya app first. Then update the firmware.

i dont have tuya hub zigbee

githubsharezone commented 3 months ago

I'm using this with _TZE204_laokfqwu and the maximum range won't go over 6, if I set it to something higher it gets reset back to the previous value.

Hello, you can connect it to the tuya app first. Then update the firmware.

i dont have tuya hub zigbee

i solved .. the file js correct is

const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); const tz = require('zigbee-herdsman-converters/converters/toZigbee'); const exposes = require('zigbee-herdsman-converters/lib/exposes'); const reporting = require('zigbee-herdsman-converters/lib/reporting'); const legacy = require('zigbee-herdsman-converters/lib/legacy'); const ota = require('zigbee-herdsman-converters/lib/ota'); const tuya = require('zigbee-herdsman-converters/lib/tuya'); const utils = require('zigbee-herdsman-converters/lib/utils'); const globalStore = require('zigbee-herdsman-converters/lib/store'); const e = exposes.presets; const ea = exposes.access;

const tzDatapoints = { ...tuya.tz.datapoints, key: [...tuya.tz.datapoints.key, 'far_detection', 'near_detection', 'interval_time',] }

const definition = [ { fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE204_e5m9c5hl'}], model: 'WZ-M100-Z', vendor: 'Wenzhi', description: 'Human presence sensor', fromZigbee: [tuya.fz.datapoints], toZigbee: [tzDatapoints], onEvent: tuya.onEventSetTime, // Add this if you are getting no converter for 'commandMcuSyncTime' configure: tuya.configureMagicPacket, exposes: [ e.enum('presence_state', ea.STATE, ['none', 'presence']).withDescription('presence_state'), //e.illuminance_lux(),
e.numeric('illuminance_lux', ea.STATE).withValueMin(0).withValueMax(2000).withDescription('illuminance_lux').withValueStep(1).withUnit('lux'), e.numeric('sensitivity', ea.STATE_SET).withValueMin(1).withValueMax(10).withValueStep(1).withDescription('sensitivity of the radar'), e.numeric('distance', ea.STATE).withValueMin(0).withValueMax(10).withDescription('target distance').withValueStep(0.01).withUnit('m'), e.numeric('fading_time', ea.STATE_SET).withValueMax(1500).withValueMin(5).withValueStep(5).withUnit('s').withDescription('presence timeout'), e.numeric('far_detection', ea.SET).withValueMin(0).withValueMax(9.5).withDescription('maximum detection range').withValueStep(0.1).withUnit('m'), e.numeric('near_detection', ea.SET).withValueMin(0).withValueMax(9.5).withDescription('minimum detection range').withValueStep(0.1).withUnit('m'), e.numeric('detection_delay', ea.STATE_SET).withValueMin(0).withValueMax(10).withValueStep(0.1).withUnit('s').withDescription('detection delay'),

    ],
    meta: {
        tuyaDatapoints: [
            [105, 'presence_state', tuya.valueConverterBasic.lookup({'none': tuya.enum(0), 'presence': tuya.enum(1)})],
            [104, 'illuminance_lux', tuya.valueConverter.raw],
            [106, 'sensitivity', tuya.valueConverter.raw],
            [109, 'distance', tuya.valueConverter.divideBy100],
                            [110, 'fading_time', tuya.valueConverter.divideBy10],
                            [107, 'far_detection', tuya.valueConverter.divideBy100],
                            [108, 'near_detection', tuya.valueConverter.divideBy100],
                            [111, 'detection_delay', tuya.valueConverter.divideBy10],
        ],
    },

},

{
    fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE204_laokfqwu'}],
    model: 'WZ-M100-Z',
    vendor: 'Wenzhi',
    description: 'Human presence sensor',
    fromZigbee: [tuya.fz.datapoints],
    toZigbee: [tzDatapoints],
        onEvent: tuya.onEventSetTime, // Add this if you are getting no converter for 'commandMcuSyncTime'
        configure: tuya.configureMagicPacket,
    exposes: [
        e.enum('presence_state', ea.STATE, ['none', 'presence']).withDescription('presence_state'),
        e.numeric('sensitivity', ea.STATE_SET).withValueMin(1).withValueMax(9).withValueStep(1).withDescription('sensitivity of the radar'),
            e.numeric('near_detection', ea.STATE_SET).withValueMin(0).withValueMax(10.0).withDescription('minimum detection range').withValueStep(0.1).withUnit('m'),
            e.numeric('far_detection', ea.STATE_SET).withValueMin(0).withValueMax(10.0).withDescription('maximum detection range').withValueStep(0.1).withUnit('m'),
        e.numeric('distance', ea.STATE).withValueMin(0).withValueMax(10.0).withDescription('target distance').withValueStep(0.01).withUnit('m'),
        e.numeric('illuminance_value', ea.STATE).withValueMin(0).withValueMax(2000).withDescription('illuminance_lux').withValueStep(1).withUnit('lux'),
        e.numeric('interval_time', ea.STATE_SET).withValueMin(1).withValueMax(3600).withDescription('interval_time').withValueStep(1).withUnit('s'),
        e.numeric('detection_delay', ea.STATE_SET).withValueMin(0).withValueMax(10.0).withValueStep(0.1).withUnit('s').withDescription('detection delay'),
        e.numeric('fading_time', ea.STATE_SET).withValueMax(1500).withValueMin(5).withValueStep(5).withUnit('s').withDescription('presence timeout'),

    ],
    meta: {
        tuyaDatapoints: [
            [1, 'presence_state', tuya.valueConverterBasic.lookup({'none': tuya.enum(0), 'presence': tuya.enum(1)})],
            [2, 'sensitivity', tuya.valueConverter.raw],
            [3, 'near_detection', tuya.valueConverter.divideBy100],
            [4, 'far_detection', tuya.valueConverter.divideBy100],
                            [9, 'distance', tuya.valueConverter.divideBy100],
                            [103, 'illuminance_value', tuya.valueConverter.raw],
                            [104, 'interval_time', tuya.valueConverter.raw],
                            [105, 'detection_delay', tuya.valueConverter.divideBy10],
                            [106, 'fading_time', tuya.valueConverter.divideBy10],
        ],
    },

},

];

module.exports = definition;

wzwenzhi commented 3 months ago

Version 1.3.9 ZigBee2mqtt seems to have fixed the issue. We have updated a version of JS file (wenzhi_tuya_M100_240704.js)

kkossev commented 2 months ago

@wzwenzhi what is the meaning of the 'interval time' for _TZE204_laokfqwu ?