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

[New device support]: TS0601 _TZE204_clrdrnya mmwave sensor #18677

Closed
thibp opened this issue Aug 20, 2023 · 21 comments
Closed

[New device support]: TS0601 _TZE204_clrdrnya mmwave sensor #18677

thibp opened this issue Aug 20, 2023 · 21 comments
Labels
new device support New device support request

Comments

@thibp
Copy link

thibp commented Aug 20, 2023

Link

https://fr.aliexpress.com/item/1005005865536713.html

Database entry

{"id":45,"type":"Router","ieeeAddr":"0xaaaaaaaaaaaaaaaa","nwkAddr":29231,"manufId":4098,"manufName":"_TZE204_clrdrnya","powerSource":"Mains (single phase)","modelId":"TS0601","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":81,"inClusterList":[0,4,5,61184],"outClusterList":[25,10],"clusters":{"genBasic":{"attributes":{"65503":"\u0000\u0000\u0000\u0000e\u0000\u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000e\u0000\u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0000\u0005","65506":31,"65508":0,"modelId":"TS0601","manufacturerName":"_TZE204_clrdrnya","powerSource":1,"zclVersion":3,"appVersion":70,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":70,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1692568976161,"defaultSendRequestWhen":"immediate"}

Comments

Found this post that seems to be a good base : zigpy/zha-device-handlers#2059.
Javicalle posted a good candidate but not for zigbee2mqtt :/

It is like the https://www.zigbee2mqtt.io/devices/TS0601_human_presence_sensor.html but with a relay in addition

External converter

No response

Supported color modes

No response

Color temperature range

No response

@thibp thibp added the new device support New device support request label Aug 20, 2023
@thibp
Copy link
Author

thibp commented Aug 21, 2023

20230821_175516_0001
20230821_175516_0002

@evgenln
Copy link

evgenln commented Aug 22, 2023

Title seems incorrect, based on data you posted device is _TZE204_clrdrnya

@evgenln
Copy link

evgenln commented Aug 22, 2023

I also looking for data points of this device

@thibp thibp changed the title [New device support]: _TZE200_v6ossqfy mmwave sensor [New device support]: _TZE204_clrdrnya mmwave sensor Aug 22, 2023
@thibp thibp changed the title [New device support]: _TZE204_clrdrnya mmwave sensor [New device support]: TS0601 _TZE204_clrdrnya mmwave sensor Aug 22, 2023
@thibp
Copy link
Author

thibp commented Aug 22, 2023

I also looking for data points of this device

How can I help you to find out?

@evgenln
Copy link

evgenln commented Aug 23, 2023

If you have a Tuya hab you can collect data about datapoints, https://www.zigbee2mqtt.io/advanced/support-new-devices/03_find_tuya_data_points.html#_8-find-your-data-point

@evgenln
Copy link

evgenln commented Aug 23, 2023

From my research it same as _TZE204_sbyx0lm6

See Koenkk/zigbee-herdsman-converters#5930 for converter

@thibp
Copy link
Author

thibp commented Aug 23, 2023

Sorry I don't have any TuYa Hub however I got it working with docker image latest-dev and custom converter based on the source on the issue you sent :

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 extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;
const tuya = require('zigbee-herdsman-converters/lib/tuya');

const definition = {
        fingerprint: tuya.fingerprint('TS0601', ['_TZE204_clrdrnya']),
        model: 'MTG235-ZB-RL',
        vendor: 'TuYa',
        description: '24G human presence sensor with relay',
        configure: tuya.configureMagicPacket,
        fromZigbee: [tuya.fz.datapoints],
        toZigbee: [tuya.tz.datapoints],
        exposes: [
            e.presence(), e.illuminance_lux(),
            e.numeric('target_distance', ea.STATE).withDescription('Distance to target').withUnit('m'),
            e.numeric('radar_sensitivity', ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription('Sensitivity of the radar'),
            e.numeric('entry_sensitivity', ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription('Entry sensitivity'),
            e.numeric('illuminance_threshold', ea.STATE_SET).withValueMin(0).withValueMax(420).withValueStep(0.1).withUnit('lx')
                .withDescription('Illumination threshold for switching on'),
            e.numeric('detection_range', ea.STATE_SET).withValueMin(0).withValueMax(8).withValueStep(0.1)
                .withUnit('m').withDescription('Detection range'),
            e.numeric('shield_range', ea.STATE_SET).withValueMin(0).withValueMax(8).withValueStep(0.1).withUnit('m')
                .withDescription('Shield range of the radar'),
            e.numeric('entry_distance_indentation', ea.STATE_SET).withValueMin(0).withValueMax(8).withValueStep(0.1).withUnit('m')
                .withDescription('Entry distance indentation'),
            e.numeric('entry_filter_time', ea.STATE_SET).withValueMin(0).withValueMax(10).withValueStep(0.1).withUnit('s')
                .withDescription('Entry filter time'),
            e.numeric('departure_delay', ea.STATE_SET).withValueMin(0).withValueMax(600).withValueStep(1).withUnit('s').
                withDescription('Turn off delay'),
            e.numeric('block_time', ea.STATE_SET).withValueMin(0).withValueMax(10).withValueStep(0.1).withUnit('s').withDescription('Block time'),
            e.binary('breaker_status', ea.STATE_SET, 'ON', 'OFF').withDescription('Breaker status changes with breaker_mode->standard'),
            e.enum('breaker_mode', ea.STATE_SET, ['standard', 'local']).withDescription('Status breaker mode: standard is external, local is auto'),
            e.enum('status_indication', ea.STATE_SET, ['OFF', 'ON']).withDescription('Led backlight when triggered'),
        ],
        meta: {
            tuyaDatapoints: [
                [1, 'presence', tuya.valueConverter.trueFalse1],
                [2, 'radar_sensitivity', tuya.valueConverter.raw],
                [3, 'shield_range', tuya.valueConverter.divideBy100],
                [4, 'detection_range', tuya.valueConverter.divideBy100],
                [6, 'equipment_status', tuya.valueConverter.raw],
                [9, 'target_distance', tuya.valueConverter.divideBy100],
                [101, 'entry_filter_time', tuya.valueConverter.divideBy10],
                [102, 'departure_delay', tuya.valueConverter.raw],
                [103, 'cline', tuya.valueConverter.raw],
                [104, 'illuminance_lux', tuya.valueConverter.divideBy10],
                [105, 'entry_sensitivity', tuya.valueConverter.raw],
                [106, 'entry_distance_indentation', tuya.valueConverter.divideBy100],
                [107, 'breaker_mode', tuya.valueConverterBasic.lookup({'standard': tuya.enum(0), 'local': tuya.enum(1)})],
                [108, 'breaker_status', tuya.valueConverterBasic.lookup({'OFF': tuya.enum(0), 'ON': tuya.enum(1)})],
                [109, 'status_indication', tuya.valueConverterBasic.lookup({'OFF': tuya.enum(0), 'ON': tuya.enum(1)})],
                [110, 'illuminance_threshold', tuya.valueConverter.divideBy10],
                [111, 'breaker_polarity', tuya.valueConverterBasic.lookup({'NC': tuya.enum(0), 'NO': tuya.enum(1)})],
                [112, 'block_time', tuya.valueConverter.divideBy10],
                [113, 'parameter_setting_result', tuya.valueConverter.raw],
                [114, 'factory_parameters', tuya.valueConverter.raw],
                [115, 'sensor', tuya.valueConverter.onOff],
            ],
        },
    };

module.exports = definition;

@thibp
Copy link
Author

thibp commented Aug 23, 2023

I only have issue on modifying illuminance threshold "No converter available for 'illuminance_threshold' ({value here})"
I also noticed that distance is not refreshed often and radar sensitivity or other sensivity parameters does not seems to have an impact.
Otherwise it seems to be working well.

@evgenln
Copy link

evgenln commented Aug 24, 2023

Sorry, I'm not z2m user so cannot help with it. I was looking for the data points info in order to create ZHA handler. Also, from my tests, this device data points accepts a bit different values compared to the source converter. You can update on your side if want

departure_delay > min 2 - max 1500 s
block_time >1.5-60 s
entry_distance_indentation > 0-1220 cm
detection_range > 240-1250 cm
shield_range > 30-1240 cm

dp 110, the illuminance threshold accepts any value but resets to 4124, 1446, 446, 3445 and so on, on overloaded values like 999999 so I believe the currently used range is OK

@evgenln
Copy link

evgenln commented Aug 25, 2023

@thibp Get a chance to take a look at the code you posted, the issue with "No converter available for 'illuminance_threshold' ({value here})" because if used
toZigbee: [tuya.tz.datapoints],
threshold attribute should be

 e.numeric('illumin_threshold', ea.STATE_SET).withValueMin(0).withValueMax(420).withValueStep(0.1).withUnit('lx')
                .withDescription('Illumination threshold for switching on')

[110, 'illumin_threshold', tuya.valueConverter.divideBy10],

If you want a more sexy name for it add const like this
const tzDatapoints = { ...tuya.tz.datapoints, key: [...tuya.tz.datapoints.key, 'illuminance_threshold'] }
and refer to it in toZigbee
toZigbee: [tzDatapoints],

@OakfieldDrive
Copy link

I’m also stuck with this device that isn’t yet supported by Zm2mqtt. Is there a way to add support to it without customisation?

@evgenln
Copy link

evgenln commented Aug 27, 2023

no, use this converter yet

@OakfieldDrive
Copy link

no, use this converter yet

Thank you for your feedback. Any tutorial around on how to that? Apologies but I’m not an advanced user.

@OakfieldDrive
Copy link

OakfieldDrive commented Sep 2, 2023

@evgenln @thibp thanks for this post. with a bit of research found my way to set-up the external converter (.js file next to zigbee2mqtt with the code above). I also got the same issue with regards "No converter available for 'illuminance_threshold'; the parts of the code from @evgenln seemed identical to the original but I replaced it anyway and guess what? It fixed the illuminance "no converter" issue. It seems to be working fine for me too. Tested the speed of detection, works fine too. The relay works fine too. The only part that doesn't seem to be working fine is the Target distance, which doesn't seem to be able to measure accurately the distance of the target. It goes from 0 to 2.83m without intermetiate values.

It there a process to add native support and avoid these manual work around steps?

@thibp
Copy link
Author

thibp commented Sep 4, 2023

@OakfieldDrive Here a working converter. I tried to adapt the code based of @evgenln messages.
It seems to have this issues :

  • Approximative target distance issue, like you mentionned
  • Backlight parameter not lighting the light on the cover. Is this working? (mine is installed and I cannot flip it)

To have the device working :

  1. Create a file _TZE204_clrdrnya.js, in the same folder that contains config, and paste this content :
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 extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;
const tuya = require('zigbee-herdsman-converters/lib/tuya');

const definition = {
        fingerprint: tuya.fingerprint('TS0601', ['_TZE204_clrdrnya']),
        model: 'MTG235-ZB-RL',
        vendor: 'TuYa',
        description: '24G human presence sensor with relay',
        configure: tuya.configureMagicPacket,
        fromZigbee: [tuya.fz.datapoints],
        toZigbee: [tuya.tz.datapoints],
        exposes: [
            e.presence(), e.illuminance_lux(),
            e.numeric('target_distance', ea.STATE).withDescription('Distance to target').withUnit('cm'),
            e.numeric('radar_sensitivity', ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription('Sensitivity of the radar'),
            e.numeric('entry_sensitivity', ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription('Entry sensitivity'),
            e.numeric('illumin_threshold', ea.STATE_SET).withValueMin(0).withValueMax(420).withValueStep(0.1).withUnit('lx')
                .withDescription('Illumination threshold for switching on'),
            e.numeric('detection_range', ea.STATE_SET).withValueMin(240).withValueMax(1250).withValueStep(10)
                .withUnit('cm').withDescription('Detection range'),
            e.numeric('shield_range', ea.STATE_SET).withValueMin(30).withValueMax(1240).withValueStep(10).withUnit('cm')
                .withDescription('Shield range of the radar'),
            e.numeric('entry_distance_indentation', ea.STATE_SET).withValueMin(0).withValueMax(1220).withValueStep(10).withUnit('cm')
                .withDescription('Entry distance indentation'),
            e.numeric('entry_filter_time', ea.STATE_SET).withValueMin(0).withValueMax(10).withValueStep(0.1).withUnit('s')
                .withDescription('Entry filter time'),
            e.numeric('departure_delay', ea.STATE_SET).withValueMin(2).withValueMax(1500).withValueStep(1).withUnit('s').
                withDescription('Turn off delay'),
            e.numeric('block_time', ea.STATE_SET).withValueMin(1.5).withValueMax(60).withValueStep(0.1).withUnit('s').withDescription('Block time'),
            e.binary('breaker_status', ea.STATE_SET, 'ON', 'OFF').withDescription('Breaker status changes with breaker_mode->standard'),
            e.enum('breaker_mode', ea.STATE_SET, ['standard', 'local']).withDescription('Status breaker mode: standard is external, local is auto'),
            e.enum('status_indication', ea.STATE_SET, ['OFF', 'ON']).withDescription('Led backlight when triggered'),
        ],
        meta: {
            tuyaDatapoints: [
                [1, 'presence', tuya.valueConverter.trueFalse1],
                [2, 'radar_sensitivity', tuya.valueConverter.raw],
                [3, 'shield_range', tuya.valueConverter./*divideBy100*/raw], 
                [4, 'detection_range', tuya.valueConverter./*divideBy100*/raw],
                [6, 'equipment_status', tuya.valueConverter.raw],
                [9, 'target_distance', tuya.valueConverter./*divideBy100*/raw],
                [101, 'entry_filter_time', tuya.valueConverter.divideBy10],
                [102, 'departure_delay', tuya.valueConverter.raw],
                [103, 'cline', tuya.valueConverter.raw],
                [104, 'illuminance_lux', tuya.valueConverter.divideBy10],
                [105, 'entry_sensitivity', tuya.valueConverter.raw],
                [106, 'entry_distance_indentation', tuya.valueConverter./*divideBy100*/raw],
                [107, 'breaker_mode', tuya.valueConverterBasic.lookup({'standard': tuya.enum(0), 'local': tuya.enum(1)})],
                [108, 'breaker_status', tuya.valueConverterBasic.lookup({'OFF': tuya.enum(0), 'ON': tuya.enum(1)})],
                [109, 'status_indication', tuya.valueConverterBasic.lookup({'OFF': tuya.enum(0), 'ON': tuya.enum(1)})],
                [110, 'illumin_threshold', tuya.valueConverter.divideBy10],
                [111, 'breaker_polarity', tuya.valueConverterBasic.lookup({'NC': tuya.enum(0), 'NO': tuya.enum(1)})],
                [112, 'block_time', tuya.valueConverter.divideBy10],
                [113, 'parameter_setting_result', tuya.valueConverter.raw],
                [114, 'factory_parameters', tuya.valueConverter.raw],
                [115, 'sensor', tuya.valueConverter.onOff],
            ],
        },
    };

module.exports = definition;
  1. Add the file name _TZE204_clrdrnya.js to External converters section in Parameters on the web interface.
    Hope this will help.
  2. Reboot the server

However, if somebody can add this converter, or enhance it to have it natively, this would be great!

@evgenln
Copy link

evgenln commented Sep 10, 2023

Inaccurate target distance seems issue of the device itself I see the same behavior in zha, at least it is less spammy compared to _TZE204_sxm7l9xa.
When I bought the device Backlight seemed to be off but exploring data points I turned it on and now cannot set it off as well.
One more thing that can be improved is the Sensor option, it is not only onOff but allows 4 states: 'turn_on', 'turn_off', 'occupied', and 'unoccupied'. I'm not sure someone will use it but it's a way to e.g. turn on/off the light fast regardless of the situation. To get it working you can add/change the next lines

e.enum('sensor', ea.STATE_SET, ['turn_on', 'turn_off', 'occupied', 'unoccupied']).withDescription('The radar sensor can be set in four states: turn on, turn off, occupied, and unoccupied. For example, if occupied is set up, it will continue to maintain a presence regardless of whether someone present or not. If unoccupied is set, the unoccupied state will be maintained continuously.'),

[115, 'sensor', tuya.valueConverterBasic.lookup({'turn_on': tuya.enum(0), 'turn_off': tuya.enum(1), 'occupied': tuya.enum(2), 'unoccupied': tuya.enum(3)})],

@LuisAlbertoFP
Copy link

This code worked for me:

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 extend = require('zigbee-herdsman-converters/lib/extend');
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 legacy = require('zigbee-herdsman-converters/lib/legacy');
const e = exposes.presets;
const ea = exposes.access;


const tzDatapoints = {
    ...tuya.tz.datapoints,
    key: [...tuya.tz.datapoints.key, 'radar_sensitivity', 'entry_sensitivity', 'illumin_threshold', 'detection_range','shield_range','entry_distance_indentation','entry_filter_time','departure_delay','block_time', 'breaker_polarity', 'status_indication','breaker_mode','se sensor']
}

const definition = {
        fingerprint: tuya.fingerprint('TS0601', ['_TZE204_clrdrnya']),
        model: 'MTG235-ZB-RL',
        vendor: 'TuYa',
        description: '24G human presence sensor with relay',
        configure: tuya.configureMagicPacket,
        fromZigbee: [tuya.fz.datapoints],
        toZigbee: [tzDatapoints],
        exposes: [
            e.presence(), e.illuminance_lux(),
            e.numeric('target_distance', ea.STATE).withDescription('Distance to target').withUnit('cm'),
            e.numeric('radar_sensitivity', ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription('Sensitivity of the radar'),
            e.numeric('entry_sensitivity', ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription('Entry sensitivity'),
            e.numeric('illumin_threshold', ea.STATE_SET).withValueMin(0).withValueMax(420).withValueStep(0.1).withUnit('lx')
                .withDescription('Illumination threshold for switching on'),
            e.numeric('detection_range', ea.STATE_SET).withValueMin(240).withValueMax(1250).withValueStep(10)
                .withUnit('cm').withDescription('Detection range'),
            e.numeric('shield_range', ea.STATE_SET).withValueMin(30).withValueMax(1240).withValueStep(10).withUnit('cm')
                .withDescription('Shield range of the radar'),
            e.numeric('entry_distance_indentation', ea.STATE_SET).withValueMin(0).withValueMax(1220).withValueStep(10).withUnit('cm')
                .withDescription('Entry distance indentation'),
            e.numeric('entry_filter_time', ea.STATE_SET).withValueMin(0).withValueMax(10).withValueStep(0.1).withUnit('s')
                .withDescription('Entry filter time'),
            e.numeric('departure_delay', ea.STATE_SET).withValueMin(2).withValueMax(1500).withValueStep(1).withUnit('s').
                withDescription('Turn off delay'),
            e.numeric('block_time', ea.STATE_SET).withValueMin(1.5).withValueMax(60).withValueStep(0.1).withUnit('s').withDescription('Block time'),
            e.binary('breaker_status', ea.STATE_SET, 'ON', 'OFF').withDescription('Breaker status changes with breaker_mode->standard'),
            e.enum('breaker_mode', ea.STATE_SET, ['standard', 'local']).withDescription('Status Breaker mode'),
            e.enum('status_indication', ea.STATE_SET, ['ON', 'OFF']).withDescription('Led backlight when triggered'),
			e.enum('sensor', ea.STATE_SET, ['turn_on', 'turn_off', 'occupied', 'unoccupied']).withDescription('The radar sensor can be set in four states: turn on, turn off, occupied, and unoccupied. For example, if occupied is set up, it will continue to maintain a presence regardless of whether someone present or not. If unoccupied is set, the unoccupied state will be maintained continuously.'),
		
			
        ],
        meta: {
            tuyaDatapoints: [
                [1, 'presence', tuya.valueConverter.trueFalse1],
                [2, 'radar_sensitivity', tuya.valueConverter.raw],
                [3, 'shield_range', tuya.valueConverter./*divideBy100*/raw], 
                [4, 'detection_range', tuya.valueConverter./*divideBy100*/raw],
                [6, 'equipment_status', tuya.valueConverter.raw],
                [9, 'target_distance', tuya.valueConverter./*divideBy100*/raw],
                [101, 'entry_filter_time', tuya.valueConverter.divideBy10],
                [102, 'departure_delay', tuya.valueConverter.raw],
                [103, 'cline', tuya.valueConverter.raw],
                [104, 'illuminance_lux', tuya.valueConverter.divideBy10],
                [105, 'entry_sensitivity', tuya.valueConverter.raw],
                [106, 'entry_distance_indentation', tuya.valueConverter./*divideBy100*/raw],
			    [107, 'breaker_mode', tuya.valueConverterBasic.lookup({'standard': tuya.enum(0), 'local': tuya.enum(1)})],
                [108, 'breaker_status', tuya.valueConverterBasic.lookup({'ON': tuya.enum(1), 'OFF': tuya.enum(0)})],
                [109, 'status_indication', tuya.valueConverterBasic.lookup({'ON': tuya.enum(1), 'OFF': tuya.enum(0)})],
                [110, 'illumin_threshold', tuya.valueConverter.divideBy10],
                [112, 'block_time', tuya.valueConverter.divideBy10],
                [113, 'parameter_setting_result', tuya.valueConverter.raw],
                [114, 'factory_parameters', tuya.valueConverter.raw],
                [115, 'sensor', tuya.valueConverterBasic.lookup({'turn_on': tuya.enum(0), 'turn_off': tuya.enum(1), 'occupied': tuya.enum(2), 'unoccupied': tuya.enum(3)})], 
            ],
        },
    icon: 'data:image/png;base64,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',
    };
	
module.exports = definition;

Koenkk added a commit to Koenkk/zigbee-herdsman-converters that referenced this issue Oct 3, 2023
@Koenkk
Copy link
Owner

Koenkk commented Oct 3, 2023

Added!

Changes will be available in the dev branch in a few hours from now. (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html)

@CH-Tefi
Copy link

CH-Tefi commented Jan 4, 2024

Has anyone a working zha py file for TS0601 _TZE204_clrdrnya mmwave sensor?

@bsaurusrex
Copy link

bsaurusrex commented Jan 29, 2024

I find the sensitivity to not work well in the main branch. This sensor detects my 11kg dog even when on sensitivity = 0.

@patrykgiera
Copy link

Rowniez czekam na plik do ZHA PY

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new device support New device support request
Projects
None yet
Development

No branches or pull requests

8 participants