Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
11.77k stars 1.64k forks source link

[New device support]: Tuya Motion Sensor Pro with Scene Switch Linkoze LKMSZ001 #14190

Closed Blacksli closed 1 year ago

Blacksli commented 1 year ago

Link

https://expo.tuya.com/product/1078025

Database entry

{"id":2,"type":"EndDevice","ieeeAddr":"0xa4c138aef8dc64b0","nwkAddr":6222,"manufId":4417,"manufName":"_TZ3210_cwamkvua","powerSource":"Battery","modelId":"TS0202","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"inClusterList":[1,1280,0],"outClusterList":[25,10],"clusters":{"genBasic":{"attributes":{"stackVersion":0,"dateCode":""}},"ssIasZone":{"attributes":{"iasCieAddr":"0x84b4dbfffeefd0c8","zoneState":1}},"genPowerCfg":{"attributes":{"batteryVoltage":26,"batteryPercentageRemaining":20}}},"binds":[{"cluster":0,"type":"endpoint","deviceIeeeAddress":"0x84b4dbfffeefd0c8","endpointID":1},{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x84b4dbfffeefd0c8","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":33,"minRepIntval":3600,"maxRepIntval":62000,"repChange":0},{"cluster":1,"attrId":32,"minRepIntval":3600,"maxRepIntval":62000,"repChange":0}],"meta":{}}},"appVersion":66,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{"configured":1443710779},"lastSeen":1664127447413,"defaultSendRequestWhen":"immediate"}

Comments

image

The device has a light sensor that shows either bright or dark (no numbers). I don't know what to call this sensor. Any ideas?

dark: Received Zigbee message from '0xa4c138aef8dc64b0', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[0],"type":"Buffer"},"datatype":1,"dp":102}],"seq":11776}' from endpoint 1 with groupID 0

bright: Received Zigbee message from '0xa4c138aef8dc64b0', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[1],"type":"Buffer"},"datatype":1,"dp":102}],"seq":12032}' from endpoint 1 with groupID 0

and can you optimize the converter?

image

External converter

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 fzLocal = {
    MOTIONPRO: {
        cluster: 'ssIasZone',
        type: 'commandStatusChangeNotification',
        convert: (model, msg, publish, options, meta) => {
            const zoneStatus = msg.data.zonestatus;
            return {
                occupancy: (zoneStatus & 1) > 0,
            };
        },
    },

    MOTIONPRO1: {
        cluster: 'manuSpecificTuya',
        type: 'commandActiveStatusReport',
        convert: (model, msg, publish, options, meta) => {
            const dpValue = tuya.firstDpValue(msg, meta, 'MOTIONPRO1');
            const dp = dpValue.dp;
            const value = tuya.getDataValue(dpValue);
            meta.logger.debug(`from MOTIONPRO1, dp=[${dp}], datatype=[${dpValue.datatype}], value=[${value}]`);
            switch (dp) {
            case 102:
                return {light_state: {false: 'dark', true: 'bright'}[value]};
             case 101: 
                 return {action: {2: 'hold', 1: 'double', 0: 'single'}[value]};
            default: 
                meta.logger.warn('fz.MOTIONPRO1: Unhandled DP #${dp}: ${JSON.stringify(dpValue)}');
            };
        },
    },
};

const definition = {

    fingerprint: [
        {
            modelID: 'TS0202',
            manufacturerName: '_TZ3210_cwamkvua'
        },
    ],
    model: 'LKMSZ001',
    vendor: 'Linkoze',
    description: 'Motion sensor pro with scene switch',
    icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnfmzLEXRhrmfO+AOiAIuYWjo//+X+IsbCMqmCAruO3zxDD7H9+at6urumZ45M7cn4sTM6aW6lnwz38zKqn7w0UcfffTE/tl7YO+BZg882AGyS8beA/0e2AGyS8feAxM9sANkgXjIRh88eHB3F8f8n9/+/d///d/hd3445ifPZXlT1cl78rl5/3/+859DfTzWq+uCZj/Wl+4AWTD8H3744Z3wKawC4t///vfhHALKdf/6178OvznO//z+xCc+cfc0jtVPCnae49pPfvKTh/u5BqDxzf/8ffrTn7673DKOBeOCbrnpS3eADIZXACCkf/7zn5/4xz/+cRB2PpxTaFNT81sN7/1V+BMgKcyt6lCGoOA+79VKVUvF/17HNdTxM5/5zBOf/exnD2BqWZeblvIjGvdYA0QhRpj++c9/HrQ932h/hZBr1N6tgN+IHvWswtoxqzSrljMKStLGBC0A4u9zn/vcATyf+tSnHqKMlP8407THDiAIByD4y1/+8sRf//rXO8qiJUAg1OgCqGrcai3WCvua+9Lf6Vkbj1ffiONSQdqIJRQg/JYe0m6AgtUBNHyPFMGatlzDPTcHkHResQIKwvvvv3+wClV7quHzOx3ppD8tIblvgjOyINV3sv76V1JHvu0vfgMeQANgsDYqFO+zr2/N2twMQBR8KQEDCiiwFlAkj6c1qOCo11R6cSwYjr2/p3HngmKKjrXK0NeyH/RraIfgefLJJw++DX28VfsuaWluBiBqPGjTH/7whzvqJDh6AJk63gPISCB7A9oToDWC1fNFqgZPa9iiXq3zrWNpYdISGxDgGyoGYNKPuaRwn+LZVwmQloACCqJMDI4Rn/QhKoVqWY9Wh56SVvVCr6cYyCkgJG0agTvPZ6TNyFy9P6/hnL4MQOEvFVTWY41SOGU/zS3ragHiQAGKP/7xjw9pLQWxR6dGViM775QAOYdQLAFAXtuyPPV80lj7qAJEpUQkkN+MxdNPP33n6KePOFdIL3nd1QGEKAxaCVAADgaW/52IS1BoSdR+Wo1LAWQEvFMIQo96KcgJhCWTlSMLUoMjWTZjxufzn//8wV+5ps/VACSjL7/97W8PfcwxZ6cFw1xfI69z8B24tbPQSyxE69qcDOQ3QmZYlnZCH5modGYepZB9QP0N26YySGozB6Q5B9SyFFmGz8sJTC2NoPGcSuwLX/hCc4L1PgLnagBC5yEc77zzzkELKRgK0hzr4DUt36RHN+YIlNccCxDrQDm0C5riBKbgIcxqiDW1tkLJOQWy1aYRBVvSXq7VYResqWSoSx7XoaddjCFAWdJnlwDQVQCEQfjTn/50+INO8Zdx9/xth6cfUn2RBIhatyc4OYCjwRydHwkfwuTkJQ6uaSIIVFoXn6PAmaDonM+U39SLcmXdEqge7/WPfZ9Wyno4EZllOxmpFfza1752Cbmf/cx7DRCjIlgNOlTLUemR/5ubVCNULQpVKchIeH1Gfk/1cg8s6QtwDf8zq88HZ7aVX9USTsFR61DnLur5JRakBZra/lQ+I6nLHDYtD+AnPPylL33poUzoUVnnOn+vAQK9+M1vfnPg3jnZ5yCn36ElSPC0gJR0qCfEebzlj8yxFFNlU38Eg0ADjmsr/6nlQFP3FLKWsI/qthYgPbBkf7aENuuT2cxmOtsX9AEgGdX/XMC4a9d9XVEION59990DMNIRrZSn53v0KFYd0Ck60rMWSwbRujvRRrugUfgSTz311F1SpBRFYKQlOIVQLxGsJc8b+TkjuqcVxb/kA0hS8SWFW9KGU1177yyItOqNN944mN6aRFj9hwRIavspH6RFp+ZYkyXA8BmZFAgw/v73vz/x5S9/+aGMWekG9+Qs9akGeWk5SwDSKnt0f7XQCRJ+a0koJ8d0aTtOcf29AwjUgzCujnia5epjVDp1HwHiIONn0DbAIch1rjOLVktyisFdW8ZIwEfl9u5vWZvqL6JAGHMiXD0LPnr+Kc/fC4BoRvn+9a9/fbdqj86rfkZ26BKAVMtT751jQUZ8uw6Mdf3d7353l6dEe1yT4e+Wv9ESpt7AHyvQ5yp3VE+A4TX00Re/+MWL+yT3AiBSC6JVKcgVDCnUGT3x95QFuQRAqM977713AAcRKgc//QwEoUUjHkeAaG1VHIw3ILnk514ABIHBIYeC5BLWVij2WiwIg4zlgCoSqRLcuXZdijXi8SPfZ6SZ1wrYqctdUh79hjzwTTDjUp+LA8RJQOcCpFRpFezYrX0QwbdEe6fw0hZnsonKkCuGw2kkzokzE/kuMejUgfqYH2UdWlasAlMr3AtBr2nPFGi0JPThpT4XAwgdY8Tm7bffPswFtCiUoODcfQcIAqUQMX8DPWD1nZE5zhPmveSHfnZ1ZdZjZKVcfktblliCUVunHHozCeizS4HkogBhUACHH520Grq9FguCdmZ+gygcbfjqV796ECbnQIjQtKzUSIhOeR7rhbVOh7gVXOBYtaRElnJ+5hT16gFEZaNSBNiXyAS+GEDoXOYF8D3ciqbleGtVqrZb6qSndcrfOoa9wU7NOtKylAEImCHHeqB101JWWnMKAVtaBtSPP5cNeH9LUFNRAfJMB5n73LXWJu8DHH/729+e+MpXvjL3sSe77mIAoQPeeuutA7VSw94CQLCIOJVGX+Trl6ZW6WsQLQS8o0+d0KNdSwV+6fUtwOozoUjPbUUuBhAGyRBnAqNajHquZwn0UabOp0asv0cWZMp6SAdwynXMyca1fdAao1cjodz6PJQFC4elS2e7ZSk9ZiRuDT08FiA8k3qiSOnbZ5999m6l4tZ9dZClS+RiISxMCOZWmja2CuIaJ50yplJN6pxIPqMH0Erxsr5OdGoRn3nmmYOvIaXailqtET6tdS+FIxUHbTw29WVNHavgS4NRNOawnQMcFwMIk2doMEO6OVjXBhCFiMHDn2LOA3qlM2tId47/snTQ1wifysEcsaRe9flJfdeGdtfUsQUQjmHJCDCogJb215rrz25BajpJUqKMXGhaq0brUai0GiO6lRakReGmrEVv8JgUxM8gcgW/l17hEG8BjqWDfQpBbT1zbblr7hMg+EKEz/k4lkv7Y+71ZwcI/JctejJLN+lKzi67e3nthJYvcSmAuM5aekWkxclCkxDnDsaW160RyDn1WVvumvuksvTrueZFzg6Q119//ZFd+Jx8Egj+T4egNXJH8vtoQRiwN99880CtyNYV5NLIOYK29TVrBHJOndaWu/Y+qCEhXyz1OSzz2QBChyA4TKLx24mqCgrNph0oDyaKUWfbK1hqsqKWpoaPe3MbrShNaxDqMazi73//+8Og4YO4UQF1n8q3miOA57pmrcBav7X3L70PZUl/k/xJyHdrkJwNIHQki6BokMtntRT6HnaWx7kHIRMkuQdsFfr0O/x9DoDwDOgV35h96kh9cc6v6bNUUHu+2NI2L30usoMFob9zbc3S5869/iwAUeABSN23da4FcR4BDd3yQS4JkFdfffWwzSYDZmKi9KqGkOcOzLmvWyqolwCI4+47XIxmbWlFzgYQUE+SnM50HZC0GumTGF5Ma0NOEP+3Mn8duDoPUq1Jy5dpCeWIYgFc/Crq5HpqyrkvM+drgHYsWPKZa8sa3Ud0kEgWiunqAUKHMfcB7bAxawHCfdAYQqn3ASDE5cnc1f+QLl4bxTqFULfAOBL0HoBb98k26GPfAYkV2fJzFgtCA8hRcn15Wot08qoPwv/VgnAMrU3KQcsKCMBzWRCAz4Z2hHddGEWdt5o931IYphzu1NJzhZ57TjnBqNxA003fod+v3oIQySG1hIZl57ac9KRXOul5TC2CFTGK0QLFVKpJBZb/KyC9KFfSOutBu/A30GSufMt3HF5KoGubjq1HDyAt4WwpQJ4/F1g9/4ZnuaRAP2TrcO9ZLAg0xMnBUwGEctw+59wAERxoR+d10GRwYo4xeFtqtSpAa7T7HMD0ys1w+ogKnWJ/L59hNJNACH1M2chAL69sThtH15wFIG4dWrVayzFX03iuRbE8p3nVAZ/atCGtRkbB0iq0LEh2YPpPZgK8/PLLh4lMKB/fW9Ar+8C5IyNlhpPT30mB9L5sb24mnfQnBT13zLf9uf1SC/z0vf3vtyF63+POcZMf1yiQTLQEIPyvoz4S9LXnzwIQt/Jpmc7qdywBCJw/F1stAYiAWQOQHNxXXnnlMEhQLNe2bOF/SC9c1567vKfwZh+3Vv9l3XsAaVmOHj1qBV0MVGRdSFXPsVrjmyRApLGUyaThVp+zAIQ0jOp/JBB6v3tOuhaESJbzIpQxFyDVkhkNm2tB8hUDAIQQL9bMze62AAht9nXMambbMaI8LSvY4/lzBK1lbZIN5K7uRpzwFwn1H+OLJEDoYxXAlisNNwOIPJ0OIQxaNZdaZqkF0UQ7IN/4xjfuIkZLAZK+S9WaSUtawOH5DNBrr712l4OFEsD0r3VGp4STsgXmHCHe8pol7avXMn+R6+GXlsW4MM5SLCzJlq9Q2AwgagqEiFDoFgChbACiuT4GIFWgpgAi+IleYR2xIERTGPgtAEK7WhZ4SxBMlb1UqFPBGMBIxTi3Hfb7zQAEwUVj+FpmO0JTucZJTwuC9njhhRfuzPYxAMlBFxzVkUy+zW94NQEIs3i3AoibP6RVnitUW1y3FiCMT1KjpXTrpgBiY9i5hIm0lsYYAYQOrJTKe/imszWvml4FImfZpXNpFfK3+VItYFSQZG4VWaWsIqwAWTrwPSG23kaBthD2U5U5BzTKRC8NZ1RGAsTXJfD9/PPPn6oZj5SzGcWysWhZQLIFQLAgzz333EMv8jwnQD744IPD9qJbAEQrW9fCbCYJRxY8Em6VnVakFcUalZEAMYoFzf36179+ZO37t28KEBqE9TB6UTXrKSwI3L+1TmRrC0LdSb7kjyRF/qRYp7AgChCz86ferG0LaRoJt32CVezNFY3KSIBI1ZAt/NCtPpsChEojQGlSsxPWACQpFyAgzFv3eEq61aJVdnRGsajrKHJVfRDoFTSLMKOz+rZ1NNhzB1T/Y+71l7puSXu5dpRt0CovAWLGAuwEP7RS4VP1w+YAYaVdzvTuAJk/dFgkZ83n33WZK3eArOh3Ok2AaFqzmJEF4XymmlSHHQsCBfHtt8dGsXoWxOPUx2fwm/kd8sygeYR6T0mx6KdrAkgd1ylxoe9c+jAHWHlNjgX+BxTrKi2InPMUABFI9RthZcGMO6ifCyCCnRQa94zdAfI/SIyE/liASIfp+x0gH3549/7sHSArzPgFbtkBsqDT2cXEkGVNjhtRLEODPQtCeVgQk9WOsSC1Sb3JwnwGs+iYeSgWoV5neEcCMrf75lKsnoM6qscSx3ZUVq9NPWd7CcWybJ30akFefPHFuV26+LrNnHRrsgNk8Zjc3bAD5OG+2wHy0UeHHknLMjWTvluQjwVotyBXaEE0rcwVKOQKf5pMr2vRrRrFalEtIli5y4llS4V66SU11WQpxaJN7IdFPJ85EHc0OVWyIvUjxNvLB1tvl9bdWSNJOYZzS8wy1uxZ7P32iU76Sy+9NLcKi6/bjGLtAFk8Fg/dsAPk0f7bAVIo1m5BdguSMLlZgJhLZHbq0nT3XhSL41IsOvKYKJYO4FTmL9fUKBaUilQTaJ5RrEol19oSnfS195/jviq0c9rOPXVdyJy6Okaubb8ZirUDZM7wP3rNDpB2FOumAOKOihltmbIgaS24ZyqKtdaC6ORVBz6Ho5fkuFuQZWBfOw/Su89EVOSCOSiSFa/aSd8Bskyg8uprsCCj1m0FEFgJkbAdIBOpJrsFGYnn5c/vAOmMgR3DijtfZJkzoZVKteZBRhSL86y4Y00I1GcLJz3nIeqcBPsNo8WcB+G88yBL0jhaXUh/7Bbk4Z7JPpVi0f/uS7CFOth8HmQHyLph2wHycVZF9Qv9fwfIf+dEppz03YKsA9857zolxbpJC8J6EGnHUoo1mihkoFmPTiat0Q0Hf26qSUa0RlGsKlhQLNeDQLP4rMlS7QksdYNCtoRsrZCnkPXSR3qUb+0z631uB5UbyE2VbT1zHgQnnSgWsnXVa9J3gKwXqx0gH/fdDpCSwZsOfC65rTPquwVZDr7dgizrs82d9GpBnAVVM6R2qL+lWFMRr2MpFvWoG8dl2gnnW2vSAa4vz6nZvMuGoH+16fytPaTmPKMFhmOja6nR59Qhr7Ff3fRt6f1OMJvSQzm5u+bS8uZcvwPkngIEQWbvJ9bbr/3cN4DYpnxX5ZK2PRYAMRlwiQXx2hbdwoKwFmOtk14tiAPWS0PR+T+HBfF1Y733f2RdlwjaKa9dEkCgTwlqrN2lPp10rAcOOn9XPQ+ypZNOh0mxjp0orEIjQColyb15iWIRSdmCYiXNc+fInmCfgjatBc0IINkOJ4y1BEvpWgIEYEix9ihWOPHVUb9VgGhpaW/dObIF5rUCfux9I4BkO1qvxh7d3/Jhqg9ylQCxYbz6gM3V8nPMepBKzegsdhWRKvmcpfMg3NfK4K0ClOkszoNsYUHyuTyz9X6QJZZDQayTbZkdW/uA/52ozUAFZbn3cR2PSqEtI5ddV6GfC9JqQXzT7VVuXr0DZO6wz7uutcPJEoD0nlLnGFLj+yo1aWXdBpV73UTat87yHOrKPa6p1+q36nuMBdkB8t+tR6fCvI+LBUEDK3RrnHOFMwWS8gABf0aYctd0KBFCznmEHqrn2335zSw/5wQC9+IX+DJTAdZ6tm147AHC6w94R4hCvmYeJM14BcuxAKnULGlGS+NJLYxiEZXZmmK1aJ5aWrrDNWhU6oeg8sfO834EARE/BZcQstSJ65NG2Q9zBDmdbseqZbEof+2cjuVKCQEiARLaf7XvKKRRO0DmUai5V6WfJL/3mFTICdaMxGX0LSNLXoO10Dok7doBssTGzR3FuG4HyIpOm7glrZr+QlKY/J0BhaqBc9h7vkxeMyUmuwU5YowBCH+a1/yWLiWFqnRqlIu1hmKlZk2Kktw+6UbV2tLEmmrCdb33783twjWO95x7ahsqhZpTv3S26++8f47ObUXVRvdlFAt65eZzzz777Jzqr7pms1QTa7MDZNm4zBH2WmLvnmpt6nVLnzUFkLnWplK2OZYs79EHuRmA4KDjLN5HC2LHVypSLUzVvlIbXqCjk567uy+DxMNXLxXaniVoWYxWO5fUtQeQOscxsgSyhPyeY9G0IPhK9PtNWBAmCX1PuqHKSpvOTbEcDIWxZvPW8ylEGYVj53rat0UUq2r/KUGesgyeW0OxpqxCpcc9itUDyxwQ1TYrPwIEK0KI2YniJWCfe+3mFGsHyNyh6FuSOncxRbGmrF8FyUhIE3gVLBnpSrBUq7ADZDD+FSAZZRk56RQ9WpOORn/mmWcO8fCkEKdKNcmQaOXPx1iQnvD5jDl+RSvAUDN/W/SwNWQtQa7+AWPBXz7DY04oSqVbdGz03F6bE4yMa1IsnsvWr1t9zm5BdoB8PJRbASQB4aSmPlMVoiUOctJgymPexHT8pJ15ncqlWpgeHesJ+Q6QzpLb3YI8KjIVWNXx5n//FNCkPZUqGRVqWZAeiJ2Vp1xm4Lk3Z/YrmOYCZETHtJg3YUHsFBypDz744JGR9nzVMnl8BBCdaygWn6RVI8e7atpKpaacWgcSisXWly0nfcTve9pyFMXqOeQJjB6VqYKa4BpZtCxTGpXBFkBD+TVBcYm1qOBt+Vo+g35HtsgHc0eZLWjWZhRrB8ijG5/NGcAlAEkQq8F7z0hfjvvqljtLAZKKTMEGJOZ0kczorv7VdxtRqal+2gHy0Uez31H4uFsQ6RFae/RpOdjVKswV5AST5XJMQPBNRgHvblkCvJFPJChp781bkOSp1bFLKlCjWC1+26NYXJta1t9JpxzA3mRhFbypeRC0sqkmSyjWEquR9anp7/ZNtrNS2drOFrBa9ZlqjyDJZ2FJOI4lSRo9BeRRP+SmDc6kUz4vL9rqczGKtQPkf0M6Eox6XiFPvt8SkJzhFjSjZ6lUankjwGM16gSw2/tgSUb3zxFwgUb7d4B09uY9lQVJh54yl1gQNWWdBzmHBZFWORdRQ7j+Tx2lPPw2lX0LgEivfB59iQXhQ6oR/z/99NPDtSBzQGT7bwIgdBBahJ1NjHxUTmqnJK1KU30MxapUqke3RhEvtVuCiHq98847D0WxRgCZI5w+q/ZTWoCRz6Gg2net10lXSzGiVSP/gPKSaqnImC9hsphoEwu0HJOWxRgBJFNNdoD811nfAfLx3rQCBGHXD2oJNf2VlgNBPAVARs62CrDSLP5HmPnDV9ACtMDwWAIEp5V3hKyxIGqlGlL0f+lEz0nPQa0cPB3Zudm8PFdrQ92kWGTyEos/hQVpCb3HKD/TPBQozxtmzf6xba1Z9eyTlnCOQDHlp2hNuAYrAuUiaZUdSJCJ1mZ4O0A+/PCRsN8UxXrcANKjYOl3TAmtGy4IkJqPxnFpijlNqSiqwC8BSBVu68DzrBe/XR6wW5D/Otm7BVkfrUqBZaeQaulSyBC+fNWd1i6FPCcTPb4VQKx7ghZZwB/hlXn4JEsjZTflg8hFMftQkaQmdkzLMa/h36lsXs8999xzD+3Nq8bVEa3CkMcVpHosHfrqpCuYtIsojakmSbHmhC2nrnH/2p71sJ+sN5o5qaj0U1AZxapUq9XOniXLcavBhBzL2i78D8oEwIwZC+jYDdFIV6vcVt8kQJgodDLyKudBdoAcBxEVijlWpoa0aI8z1zzRnKgUfJ309DlaSqMKfa8FrYjWFEAEhgqN3DzCvsyP5GeJD7IDZMY7Cm/ZgmgZ3FFRi9ECCNbDDFudYy2HG19XcLTAshVAqJuvPDBNHpCwK7uKNC1iD5g3ZUGSg7J229i9jqIU4BgnfS1AMmxKPVvO7BT1sO6VYlHOMe8obFGblu9RtS68Xg2uBTENpQJBimW7p9rZshRTdjFn7ut1rh83DP3+++8fFjr1dq7PQIP1MLyNLNFmKNaTTz55sEZbfTZLNdkBsjybtwLEsG7PJ0BwfE9G+h/6G+lXCYT0QfJ3CpjPOxVA9D9UjvgeUCTq3tsVcQfIgwcPZe32HPYtnPRTWBDq9e677z7kpJ/SglBHIj0tDZ9OLdsqZR9pcXIr0RY4ONZLPzk1QEw90Xo4X0P/ffOb32wq/5sHiEJIZ0ix1Eh1tlX+2aJbcwGiM2tvV9qU2jR/t8KhVfPWEUSAqBcToERkThXFSkvBb2fNp5xinp/9KWXhWMvvyBwu+8xI2TE0pY5tq6x8HTgAxg+BZqEIrG/rPsuW2kqxsEDQq6eeeuqYqk/euxnF2gGyfMwSIIKjBU6PuSZC6pKh3BSq9DeSVjkvci6AINDWC8VJcIEQ8PPPPz+Z7XuTAHEQ0QxYEAfGwawhveTQSbeqtUmL0nLSFbJ0RlsWQe06siApoDVZUYrFjuk11WQ5PP63kYPWQ43Z8kE4hqPrXALtqOHcXDue4eLsG1/MkxY3KZy/W9GzVhtbjroha3edVwYADOkn3/72t+8SHacsiEwDi8P801VbkEsBRDBsDRAGeSoX6xQAaQlnCi8ULxVN9SlaVqROGOqzVL9MYVwDkKyjwDL8bJSNbwQcK4IF4ZMh3+y/bKO+2Q6QmAdxsNL65O/eTHrl9OnwHmtBLg0QtLFJoApTTiamD9NKWGz5JzUg0PJ9KnCqIkDIzQLQr6CczDDmuC/b4Tg+xNSLSm8aIHTgW2+9dTD/VUMklWr9roCoTrydLodNCjTXSZeft7h+FZgEnE46msxsXsOZUqOlVsTya3p6pVg8G/+DPwU2BZ5+0r9IamU5XlvDvFnGCAgtGtY6Rl0AgzRL0OB7aEV4rnsbT/WZMgLFInqHBeK+Y94lPxqjzZz0fPAOkNEwfHx+LkAQFPwP3xqb9EhwGK1q5WCtAUjLD0oQVZ8ywTIFEN91LgvYARI9sFuQh8VhDkBMtyDwUbm+gq+1RmunX2K0ag1A0jq3aNUUHZsCiK+Ke+mll4Za5KYtSMbnk5tW2pT+hhSrHrOjdPiYjXXw7eW5FGsUxaqaU8pCG957771DFKa1YGo42nFBfUbl4y3t/eabb94tOpK6tgBRwZCAqbPqVimp2KgdXJsJkmkJHTd3X8yyOIYFhCbxR3Zv7qPVarPyQJIj8z/QNCKIN0GxdoD0RW0JQHR4ebtVrsqrDnp1wgXDKQCS9W0BpLZ0B8hAzeCD7AA5HUDQuISYBQig8dXLveiUlq+Xi5UUamRB6rXVglS6tQNkABDpgM5kcudLUyzqYoRF4Uqnt2pLr0cooFhEU05FsaqD3epWrnGnmBRE/I706QRCppO0fJBWCDjbX+tgHyUdqwDJe7g+gwk53qbpQ5WmKFbeA52EYtHv3McEbV1XMqKFS86fJYq1A2R6SAThXID43scMmzsjzpP08dJqpOVQyHMJbmtitQp6yy+gjNw0rraUcitABLKrIHeAvPnmQ2sudN5yMFsRLY/1vp2ddSZ2zTxItRD8P7IgXMOzCbWScHdOC+JznQNRIHu7naQFqSDJfK8a5Gj1Swsw9kXPwea825CmIqAdAINvgMLiqSyjPitZB/MgOukkO7L96Fafs1gQfJDKa1PoFcoW3Rpl83KerWSMRtlRc6NYawDiMwAHm+KdEyAIEc9EqPKT/kgKYs+K1IhXtSBJoSp4OFetyVQESkVmmf7PHIiTha016lmHpMJYS6KHAIz3E7Y2gDgVYHaAPHhw15dzfZBLAgRtDECwIKl0VAgqigoMhbo3ez4CyJRFSetfwVOtP+DQZ8nkRfY2G1kQfcWbBEhq9F7KyVILIvfFgqhhllqQep8D3AJL1UrVgsi3tYhztVhqfH63dkJU0Og7AMKS01a0qRWl6s2PZFuTnton1SGvfZtUOVlAZQRJj6RbzmkICqxwBh1aFMtyAYgU62YsyA6QPlyWAEQfwyG1AAAWhklEQVSKtQQglF9n1BV+v3N8EiCV5vRakRYmrUZe7xyOFgSw48DjQ7C2fFT2DpD/ZvCmyZ7yQR5HCyLFWgqQVhSr0q1cy96yKOlDVOAIEO4TANUitABCyJrZ8Hx2BUpaSsq4OQvyq1/96m59dXZaK3Kl2fa6SwOkZep7PsgSilWdXOmOod4qoJx3LTf0glBv8v0MUlTroJNdLUlSrFxsVaN4KaD8ruvdax/VDeHyPI65ZTC2btxgvlbLirQA4jyIaUZz6ezS687ipO8AeXRY1gIEkJBizySlWtfv1kYNSaEyGpWgSb9HGlNBlmDqAcQ2LQEI7cFB7y2WSiWQFGsHyIyN485Bse6bBaHNRLDefvvtO6tMHd34wGW2LR+jhr6TYlULMhUmnwIIz3VisKWtqwXhGuYyaiRs5KTfFEDeeOONh1aMqS3slBr1mPJBkoIZEdkyirUEIAjZMe8oTO1dX5JjnyB8POOXv/zl3QtpDOlm3yRVS7DkriYez80bKp1Ky5Hj5L1Jx+yrXri27j6PHORCqVYUy+dYNtegDJwHgWK16OhSKtUNEHzUi62d6glPPPHEDpDpzqwcW8qTdwkQhEyA5L5ZKSSpeHImvdKqFkASEBUcFSDWr9LFKYDoUzpZyEIp/Y8pmsWznAe5WYDkPEdqu5EF8dpqee6bBUETZ97RXB1TBawHECfZeAZ+Xc5vtACigEul6nyI57VWOVnY8kE4r4D3LIjzG622pwXhPP3FqxAc31F/+XzCwjdlQV5//fWDWczIVNVGvYhWBUXG2NFU/JGLlQ6o2qanDetxNVOa82ravScHsZVq4t68I21YQVGFI99gy7VqXNuMD0IEiJBn5mFVq1OtRivcWze4blkO62siZK9/BFBSIn8LEP7nN5m4S+iRdQAg5MGRagLF6rV/BLg5588SxdoB8uhQjADC+ZwbSIAgXAgI+3KR6t17qWfrtQcJEIU9r+uBowWQ2iqVXlUOGapP+gVAljB8QUl9CXUzF0QO1xKQzQFFXnNWgKQmPKUFOYWTXp3NKQuisGBB2HrHZMUlTvocgOg/pNVUCxPJ0lHHAljfjGKlsE9t3tCjU3k8+yeFWuGsx4x0SbnSsnCMrX56LxedEmLpJwChD1588cWlMr/o+h0gjQVTlYLZowr1OQAiTUwBdCZaR/2VV145pGhkGklSoBTq9EMqIJKG+dxsa/2dYGgBXUWYwPae9Bun1pG0pNhnaUF2gMRue7WzFRY6+RYtCO3LCJTtBwAIGfybZbekvUOzFPoERfUXqj/SAkpSuyyrWpMWvUq/w5STSreIwLlNqyxirkp33T1lY0Fo+01YEMO8dIgctHLPY5z0HkBSu+UAt5z0h3jngwfN1w5YntEUIilJsRhA11+PuPUcimWddELNcfK1ynBw/LvcmdC6GXio7ept2tACS+2nvCYjWjWAIbh7E4YAZBTEqPXm/4yCAg5A8p3vfGcuvlZddxaKRUiSyMMOkP+N0bEAQcAQkp/97Gd3b42Vn+vQ12doQRToUYbvlFKp2r8+yzqkVDox6Pr5uRKbFM9y3VmS94uM+nLuc5q07hwTha+99tqBBqhhUxukWU4NkSFhr680y5Dn42pBoFlEsgj3ooCkZFW728c1faQV8q1Wwv9b1kQKVy0I/7fysZAB3khruslcwU3L7Zj7Es+biGJlsmLOa2QHbUGxehQhj6d2sj5Vc+bx/A3FImkwl9xOUayRpuudz+Nq0KRZP/7xjw8JfzjsnEdDI0gChWMVHNnGVvpJzz+xLo5Xq/+MXKnYtBjkXFmvEQXtUSza4r6+tIl2b/k5G8UyLWIHSH84RwAS2AiZ67mhWYR73dWEXQbNrer1dRX+kSWp1CwZQPXzOFdn2znGyj99kwTQHOGuCgLrgYJgFh6lcPXzILsF+VgM5gKgCk2dYzA8mlt3/uhHPzpMmrlTSe6mn9Y5Nb5A6VmXPJ4g6pWXVJjfWiYsrP6OtGyNBaG+3E+6Pwri2WefPZR79TPpaDg58imjWNKZY3Y1YSCrBsr/WxpSYW9RrPoa6NGcQU+DVjClUHKPXNz3/rGZNYKDpeYvZ9czYtRrW9LOnMFvUa1eedWyUAcsmmHo7Iu1AKE+rMmHZvFmqq0/Z6FYO0DmW5CWv5OaOekLvwEk4V7A8dOf/vQJsmMRSoAg1eoJYyvKJZ2qwHAOopZVZ9K5T4ARfk7FmOBcAxDaC5VkX2IUw3e/+91ZVvkYEJ0FIMyDmFZwSh/kUhYEIWCAicPnPAgCMHcepOWETh3LCF72YaaeUJ9f/OIXB5AYNVSwpWWUo9Pcs441N4sy6qSjda3WV4AQrcoE1R7FnAterSY+BwqXb9o5l7quBclZAJJbj1rRU0wU3heAIAxEaM4JEPpPuorwEup1KS50C9qJgCY/1/rUfXyrkCnk+h15PsO+edxr0fAIr/NeI0WwBCA+A5/2W9/6Vvc972vB0LrvLABhZ0VDjhkmzAqtCfPeB4AwD5HJiueyIALEsC9gASTQLQDCt9typoOcFiQza1s+D8cAmbPygqM6xdI5gAc4MnmyZ6V6irJHMbUgAA+AQK+UmauPYr3zzjt3WDilk45wuB6kOts1MpNOaP429Njj4y0N6LwC4UbyoXiZPREVypDyzIlYTQlDTwsaIk2A4IdQJ58N1cJqAxIsCUKl0859vioht+cRBCl0CnqlU1yjr0K5AAZKZ3CgztC32jLyQVr950QzlpL+PsfnLBYEIcqB1ek81oLcB4AAfgEixTLlfO4ALgFT9qPWw35wboRvQMIfqSg//OEPDwDBeaduCLMAa1luneGMhAmKDA0LCAFoyLXOq5wKINSddTD4Hlvux/uQUjxHqgk0xEE8pQ9yHwACnREgarhzAIR+THpl2NdNHQAJmpZw6E9+8pMDOMhbAhxOriUd1D8BCPoPNUQtOAAO5XCPYWXa3lqg1QP/GgtC+a+++uoT3//+9+fqnqOvO4sFcf2wgzDXgjgxlBEc7+WYi/1JN5AqSZ8qxUoNWOnW0nkQy0L48K8QOJb96mf1Ni3oOawKyxxLogVJgAgUKRbgACjMskMD2SKHYz//+c8PVUDAmNlW89vPav5af8478Sh98l5oGH/c25uRnyulFZCOtf3KM1lqDG3ccnLw7BYEQcI0ZgfMiWJdA0Dg+gLEcOi5ACJY0pLoiwAWnHaAAkAACmNgmgaWD6Hn7bI481hBBFC/QwpGOfyln4H1EBhJq2rUq0a8RkBpASTv0Wpt6ZTXOp7FgjBI0Cw17xoLosa8bxYEgEBfsCCGT1uZrI90fLx2YakFSb8h/RCfm3RLyoU/wgew4Lz7dlmEDQWmhaBsBJE/onP+hkrRToDBtQJEZ11w1IjXHKvYot31PsqFMrKWRAYwAtwpzp8FIAwipnFqJrXlLGpBEhRJt6RVbH7MJ8ufG8WyE3taKWeUvdbJN4SPVH4nrdDA1GlOOvcSwakDnakeAkRrIjg8Th05xjdASB8FkDiB6OQngq8lART+9ttcL2fpR2tKTiGklGG4+VTlzS3nLABh8NC0apulFuQcAMkOS7C0AOJ5NLbrwk3xuARAtK76eIKEb9eA+9tzUieBlT6E0Su+/XN7IQCR8xwtv0MNf4wScDwEbmvica6QH3PdWQDCYBAOtbGtCq+xIFoNZrLTgiT37f1OCyMAW2Cogy2FQFCwFKR2QEMAiO+4QDO3LNIpBKb6cQq4/SdI8jv9kuqvZL9nH1J/6ZQRKkGUVsN7aj+ngB8joNwrSI8tZ839ZwEIWktHsRfeWwsQOo+kuLROS8GSg9lyLPNYcmyAD8WiDkxc4ehybY9inRogWo6knRkpNAyuw52pKUnNckwqCPzfEG6NVqUCsX3ZzlO0eWpzvDVCv+SeswBELUfkpPdZCxBMby43tfwpHySDBTmocy2Igsk3AKE8AMICHudCWorgFMJSy9UfafVfOvA5z1H9uLzX8Kk+hgDQani+Z5m9/lQWhHGsyZNLBPzYa88CECuJMJnhqSauJl66oxBPCYDbV6ZgK4RTAKHMnlWogKkUKweecthVhG+iKwQLeC4WZBSKHIElzycoMnCRQG0JffZlCyApPPZ3tj/9i7TKhrNtozPvpwKFfU6dnPUf9dexQOjdf1aAuMFAHfyqFR3sFIaehjSCVU39lKC3hCHvb52vtMG6MVFIdIi5BPd7ctHU1KCNBnwuQOy7EUBa/TcCSKVMWSesttEx9/atft0xQkt9jQrm/MoxZa6596wAcReOGu5dCxAaTKxeK9OyJD0q0BJ4r60WJstQkwoQgg/MMQAOZqfdMKHna83VsiOAeH4uQLQm3Nez2iOl4gs3AQbZESgnVvcxB1St3BphzHukeKcE3Zo6nRUgdKL7OGWHjn6ndkxaYR7Q1MCOAELZc/yVljYFSAgKyZj4HwCESBZlzpksrAM2siq9Ac7+q7P4PcuSgElLDcDd2pRUFT5E6KCS9hVrMV5++eVDmzlXFcgaQUxaxW/TV9b2ydo6PDIm50hWzIfiqDtz6/ElAHEwuYfoFQJh3L4FhimAqE0rQJJiTdExAIK/gW9FBAuAIDSUO/Uasi7fjdn1JQOc/ZeTiIKgWhnLTj8Q+ksaCmNDrhb/0xazZ2knNJLVoS+88MJhJh56+b3vfe/urbbHCrPjAbWaa2mX9NOaa89uQegEJtdy4mcJQBQAQ3+mSCS9kgaplaYsTOvapFgVIBnmNYxKhin1QZsyJwM9uBRApuhqpVaMww9+8IND6gk71bMripvQoXhoKxkQtIk0E/qaJcZQKiwnyo6FS6f6UL+6CvJUZa8t56wAsZLwdgbFnP4lANHMt1atjazFiG5VQOX/ajfLUNiMZCFQWBD+qJuThSNf5Bhr0irbelFPhZ1vt15CyKFIAJi13YACQLMBHvQQAGBB2ACCtgEGPkSTUGpkRJA2D7jYF5f7pFnVes0RyuxX/Y5TUbY5zx9dc3aA+N4IBgcNZXx9im5VH2TqjUg9qzECT7UUSUOSOrScZ+gIVARHHWExwkOZWqPRQDzCfWfQrRZAqJ/RJTQ8YIA20dfUi35nR3QS/7AKAII5HI5DE6FVHIdSsXsI1/IcAEa/owCgtoAOBcd1XL/2o0VOmjwKka991pr7zg4QKwmXdU8nrQEdUxPxEjhJo5bSprl0y+sqB67+iuepL8KGMCFgvBIMAeIzJ9w7Z9BaoOzdRx8CEKw031gIU03oZ6JO1BEnG3rEN34EICcqhaAyLtwDALAYgEQ6aeg1FY7p8KO2ZDukcGZAc85Z+lE55zx/MYD4Isr0IarmSOey+hgpwPXcyFpUE976vwKkRb84huDYFqwhwoclUdCOdVwrYOdQNq4h6kRdiESh4akHAIY64XdAkVh4BJC4Dp8CS6KF9zlaid4CpSXt00rTJmfIBcol5zqmAHcxgFApBgftm8BodXjSn6pNl1iV1rUtwe9RqhY3NqRrdA4tbGavS1qP1XhLLIh0FOrESkv9DIAM1aIslRL1w6rogLuJQ0b1jBL2gLkEIAJDsDmu51oduGYcLgYQOxxNZurCHC1VJxmr0DtgGW2qdKwFuAqKFhhaVoWyTMYE8Di60Bq0NYIIV5eeLRGm3rUjC4LQEwDBqQYkWBDCslArwMvxuZ9eHXpKLOlwtQiOm+PCtdX/nFuvc153UYDQ0cxCM9Em/+w5ni3h7PkVCnd1vFvHEzwt2tYajJZGh7fD19HUAARhRDO7YKlSpdEgrwUIzwcMONMAF4pk0uLomfX8EoDUe9M6qAC1qO7Vu7Q+l7j+YgDJuQY0L5NUDGjLikwNVE/oU2tvaUEYNFflEckC8AADXk8aDMAHJMm/5wz0WoA4g580SaVDny+JEC0ByJQFhkZjSV3CW1N55vTHpa65GECywXQYYcQaxbLT06pMDfASf2TKWkz5INxXrZy8H47vJnn4Icw8+16UU0W0RoIyomB5/5JrK1hSMVFmnbClbBQGE5DMpbiobVT/+3b+3gAEkLj4aKqTesLbols9CpblJ6haNG6O3yBAAEFuaI2TTEQLR1grsrUALBH6Jdf2AOJcluF5LAURMfohrejW7d6q/HsBEKMn0CwcSz8OYE9IqzXJ66ac9AqQqXJa/katjwBxXyq0JtYERx1LwuQbz1iTwLh04JcI/ZJrs825gIkyaCtjh+/D/4SL6xullvpgS9u91fX3AiDZOBx2lueaNp4d23PgtQIj2tRz3uvgjaxGBY0AcTINILgPGDTLTaRza50lwrlk8Efl9s6rJDivr5LW1YiTC68ISriFkGlDAIPgxH0O2y7py4NcnDubd04FmVOg83N5Z4v7J4VKa1MBw3U17NiiDC2K1apvy6qkI4xFRGgIsSJQrhVxy0+FTGCNADmnz6rV7d0zAoh9lVFF62u2L/SJ31BHfAusRUamTtmeJW3f4tp7BxCjPdAU/jKNYRQCbvkcVegzotUDRM/PaVE+jynsamBTUEzbQLMiSE7KeZ0zyVODm+1uCd/IamTZtSyViXt9ea3bBAEEwM63SorAQ1LHa6VPcwB17wCSlSZTlBDhnCzR1mz8KBpVKdnIWrTOp8CpaRUkLQkg4QM4BAka1zo7T5H3V3/KZ8/pi7Qmmd9EmSogf6flc6tS+hxAWB+3/cGXIvDgG3W5d0nYeI5A3rdr7jVAdABJBFzyGVmJCpwpSjCiCwmQtCL5G6plmgcCxXyAWbOunKvtWwKEqcheAiI3lPM9625BauJoWkmAAS0U1NSRetVUkSVjc23X3muA2JkMIsl3NdaeQlT9gpHP0aNXlS4spTQtqqXzjhC6TsQtPol0udYCwfNP7aymz3pxLP0YI3bc45Jbf7uJNd8A1VdHW0buOcU1WDmykQHFud7BcZ9BcxUAceYVkCAAlR70qNGUZp0LkBGtqucFiDQrAaPw+qIb2wXwSSNHIN0UWhojuJytpzyud/ukur2oqS3SNn24zHsy9YN6EG0DoKS+4ye51uY+C+0563YVANG0oymJoBBvNy07+XZ2XCv0O9fHaEWp8t4ppzgjUzriav8EtwIsaAQA19JOr6UuGYK1rPQn6lag1dpoTfArsGDQO2geVgILZjqM8xvpe5xTGO/js64GIHaeWpcIF9ov07GTeihoo04f+RgVdIJ1ZFkyutUCcVqWHshHxwUC1kRLYruxDvo90CYAgYVwx/ZKJUf99LievzqASF38JtIFUHLOpBWO7Q3wEoCMBLY67FnX+tv/qzUa+Tx5vblrUqZsN2DAOgCOpFc67Y+rwC9t91UCJIUNgUJ7Sr3mzCu0rMKcjhvNNywByBw/qgXIjNDRVnwXQKBzrZM/BfwdJHNG++NrrhYgPYqDb0IcHz8FhxVKob8it18bu28BpAeaFsWqwJTr6y+lzyIFEkhaARxqFz75Mpv5w71fubQHbgogtfFaFrJL5einBEeLNlWtv8Tq6JATSdJXYB7CvaJyNd7uQywV9XXX3xRAWtQhj+G0mkfkm5emui3nIOaCQWvgHE36BQIAQUf7Q4t8W6y+QgKsFU2rx9b4UOtE5fG866YAMmcI66o696El/OlvrY0hWMs1EFCtkKkYuZ8sx5zTyHSPWsfdH5gzape75rEBSE8Qq69Q50/WDk2LWu3afm1vXu6+xwYgl+vi/cnX3AM7QK559Pa6b94DO0A27+L9AdfcAztArnn09rpv3gP/D7vYJx0uNP+kAAAAAElFTkSuQmCC',
    fromZigbee: [
       // fz.ignore_basic_report, // Add this if you are getting no converter for 'genBasic'
       // fz.tuya_data_point_dump, // This is a debug converter, it will be described in the next part
        fz.battery,
        fzLocal.MOTIONPRO,
        fzLocal.MOTIONPRO1,
    ],
    toZigbee: [
       //tz.tuya_data_point_test, // Another debug converter
    ],
    //onEvent: tuya.onEventSetTime, // Add this if you are getting no converter for 'commandMcuSyncTime'
    configure: async (device, coordinatorEndpoint, logger) => {
        const endpoint = device.getEndpoint(1);
        await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
        //await reporting.bind(endpoint, coordinatorEndpoint, ['ssIasZone']);
        await endpoint.read('genPowerCfg', ['batteryVoltage', 'batteryPercentageRemaining']);
        await reporting.batteryPercentageRemaining(endpoint);
        await reporting.batteryVoltage(endpoint);
    },
    exposes: [
        e.battery(), 
        e.battery_voltage(),
        e.occupancy(),
        e.action(['single', 'double', 'hold']),
        exposes.enum('light_state', ea.STATE,['dark', 'bright']),
    ],
};

module.exports = definition;

Supported color modes

No response

Color temperature range

No response

Koenkk commented 1 year ago

The converter looks good, what is still missing? Otherwise I can integrate it

Blacksli commented 1 year ago

I don't know if fz.ignore_basic_report is needed or not

Koenkk commented 1 year ago

Can you update to the latest z2m dev (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html), force remove the device through z2m frontend, restart z2m, use this external converter, start z2m & repair device and see if everything still works?

brunopiras commented 1 year ago

Thank you man, works very well!!

Koenkk commented 1 year ago

Given this is a motion sensor, shouldn't it also be able to detect occupancy?

brunopiras commented 1 year ago

Yes, it does!

Occupancy (motion it works well) Light (works) Action (it works on all three mode)

image

Koenkk commented 1 year ago

I see, added it!

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)

nielsnieland2 commented 1 year ago

It doesnt work for me, only the PIR motion detection works in home assistant, button doesnt work, any idea Koen? @Koenkk I have this one https://zigbee.blakadder.com/Tuya_LKMSZ001.html

Koenkk commented 1 year ago

@nielsnieland2 Could you check if the issue is fixed with the following external converter:

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 e = exposes.presets;
const ea = exposes.access;

const definition = {
    fingerprint: tuya.fingerprint('TS0202', ['_TZ3210_cwamkvua']),
    model: 'TS0202_2',
    vendor: 'TuYa',
    description: 'Motion sensor with scene switch',
    fromZigbee: [tuya.fzDataPoints, fz.ias_occupancy_alarm_1, fz.battery],
    toZigbee: [tuya.tzDataPoints],
    configure: async (device, coordinatorEndpoint, logger) => {
        const endpoint = device.getEndpoint(1);
        await tuya.configureMagicPacket(device, coordinatorEndpoint, logger);
        await reporting.batteryPercentageRemaining(endpoint);
        await reporting.batteryVoltage(endpoint);
    },
    whiteLabel: [{vendor: 'Linkoze', model: 'LKMSZ001'}],
    exposes: [e.battery(), e.battery_voltage(), e.occupancy(), e.action(['single', 'double', 'hold']),
        exposes.enum('light', ea.STATE, ['dark', 'bright'])],
    meta: {
        tuyaDatapoints: [
            [102, 'light', tuya.valueConverterBasic.lookup({'dark': false, 'bright': true})],
            [101, 'action', tuya.valueConverterBasic.lookup({'single': 0, 'hold': 1, 'double': 2})],
        ],
    },
};

module.exports = definition;
AliakseiT commented 1 year ago

@Koenkk, I have the same problem as @nielsnieland2 and tried your recommendation. It didn't help, but it based on logs I suspect its mapping issue. The logs with action (go dark, go bright, single tap, double tap) are below. I've also noticed that my device does not expose hold. Instead 1 in {"dpValues":[{"data":{"data":[1],"type":"Buffer"},"datatype":1,"dp":102}] corresponds to double tap. Also dark maps to 0, and bright to 1. But here I'm guessing, I don't understand how exactly the valueConverterBasic and tuyaDatapoints perform the mapping.

Debug 2022-11-27 02:58:58Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[0],"type":"Buffer"},"datatype":1,"dp":102}],"seq":40192}' from endpoint 1 with groupID 0
Debug 2022-11-27 02:58:58No converter available for 'TS0202_2' with cluster 'manuSpecificTuya' and type 'commandActiveStatusReport' and data '{"dpValues":[{"data":{"data":[0],"type":"Buffer"},"datatype":1,"dp":102}],"seq":40192}'
Debug 2022-11-27 02:58:59Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandStatusChangeNotification', cluster 'ssIasZone', data '{"extendedstatus":0,"zonestatus":5}' from endpoint 1 with groupID 0
Info 2022-11-27 02:58:59MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":null,"battery":10,"battery_low":false,"light":null,"linkquality":68,"occupancy":true,"tamper":true,"voltage":2600}'
Debug 2022-11-27 02:59:00Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandStatusChangeNotification', cluster 'ssIasZone', data '{"extendedstatus":0,"zonestatus":5}' from endpoint 1 with groupID 0
Info 2022-11-27 02:59:00MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":null,"battery":10,"battery_low":false,"light":null,"linkquality":100,"occupancy":true,"tamper":true,"voltage":2600}'
Debug 2022-11-27 02:59:00Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[1],"type":"Buffer"},"datatype":1,"dp":102}],"seq":40448}' from endpoint 1 with groupID 0
Debug 2022-11-27 02:59:00No converter available for 'TS0202_2' with cluster 'manuSpecificTuya' and type 'commandActiveStatusReport' and data '{"dpValues":[{"data":{"data":[1],"type":"Buffer"},"datatype":1,"dp":102}],"seq":40448}'
Debug 2022-11-27 02:59:00Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandStatusChangeNotification', cluster 'ssIasZone', data '{"extendedstatus":0,"zonestatus":5}' from endpoint 1 with groupID 0
Info 2022-11-27 02:59:00MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":null,"battery":10,"battery_low":false,"light":null,"linkquality":184,"occupancy":true,"tamper":true,"voltage":2600}'
Debug 2022-11-27 02:59:03Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[0],"type":"Buffer"},"datatype":4,"dp":101}],"seq":40704}' from endpoint 1 with groupID 0
Debug 2022-11-27 02:59:03No converter available for 'TS0202_2' with cluster 'manuSpecificTuya' and type 'commandActiveStatusReport' and data '{"dpValues":[{"data":{"data":[0],"type":"Buffer"},"datatype":4,"dp":101}],"seq":40704}'
Debug 2022-11-27 02:59:07Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[1],"type":"Buffer"},"datatype":4,"dp":101}],"seq":40960}' from endpoint 1 with groupID 0
Debug 2022-11-27 02:59:07No converter available for 'TS0202_2' with cluster 'manuSpecificTuya' and type 'commandActiveStatusReport' and data '{"dpValues":[{"data":{"data":[1],"type":"Buffer"},"datatype":4,"dp":101}],"seq":40960}
Koenkk commented 1 year ago

@AliakseiT I've pushed a fix, can you try with the latest-dev? With this the No converter available for should not appear anymore.

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)

AliakseiT commented 1 year ago

Thanks a lot, @Koenkk! It works much better now, only two minor issues to correct: 1) flipped dark and bright states 2) single/double taps to be corrected for UI exposure

Screenshot 2022-11-27 at 16 28 50

Logs of for interactions (go dark, go bright, single tap, double tap)

2022-11-27 16:30:37Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[0],"type":"Buffer"},"datatype":1,"dp":102}],"seq":21761}' from endpoint 1 with groupID 0
Info 2022-11-27 16:30:37MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":null,"battery":6,"battery_low":false,"light":"bright","linkquality":92,"occupancy":true,"tamper":true,"voltage":2500}'
Debug 2022-11-27 16:30:37Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandStatusChangeNotification', cluster 'ssIasZone', data '{"extendedstatus":0,"zonestatus":5}' from endpoint 1 with groupID 0
Info 2022-11-27 16:30:37MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":null,"battery":6,"battery_low":false,"light":"bright","linkquality":88,"occupancy":true,"tamper":true,"voltage":2500}'
Debug 2022-11-27 16:30:39Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[1],"type":"Buffer"},"datatype":1,"dp":102}],"seq":22017}' from endpoint 1 with groupID 0
Info 2022-11-27 16:30:39MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":null,"battery":6,"battery_low":false,"light":"dark","linkquality":172,"occupancy":true,"tamper":true,"voltage":2500}'
Debug 2022-11-27 16:30:39Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandStatusChangeNotification', cluster 'ssIasZone', data '{"extendedstatus":0,"zonestatus":5}' from endpoint 1 with groupID 0
Info 2022-11-27 16:30:39MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":null,"battery":6,"battery_low":false,"light":"dark","linkquality":168,"occupancy":true,"tamper":true,"voltage":2500}'
Debug 2022-11-27 16:30:41Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[0],"type":"Buffer"},"datatype":4,"dp":101}],"seq":22273}' from endpoint 1 with groupID 0
Info 2022-11-27 16:30:41MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":"single","battery":6,"battery_low":false,"light":"dark","linkquality":188,"occupancy":true,"tamper":true,"voltage":2500}'
Info 2022-11-27 16:30:41MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":"","battery":6,"battery_low":false,"light":"dark","linkquality":188,"occupancy":true,"tamper":true,"voltage":2500}'
Info 2022-11-27 16:30:41MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch/action', payload 'single'
Debug 2022-11-27 16:30:43Received Zigbee message from 'Tuya occupancy sensor and switch', type 'commandActiveStatusReport', cluster 'manuSpecificTuya', data '{"dpValues":[{"data":{"data":[1],"type":"Buffer"},"datatype":4,"dp":101}],"seq":22529}' from endpoint 1 with groupID 0
Info 2022-11-27 16:30:43MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":"double","battery":6,"battery_low":false,"light":"dark","linkquality":164,"occupancy":true,"tamper":true,"voltage":2500}'
Info 2022-11-27 16:30:43MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch', payload '{"action":"","battery":6,"battery_low":false,"light":"dark","linkquality":164,"occupancy":true,"tamper":true,"voltage":2500}'
Info 2022-11-27 16:30:43MQTT publish: topic 'zigbee2mqtt/Tuya occupancy sensor and switch/action', payload 'double'
Koenkk commented 1 year ago
  1. updated https://github.com/Koenkk/zigbee2mqtt/issues/14190#issuecomment-1309044926
  2. if you have the home assistant integration enabled this is expected: https://www.zigbee2mqtt.io/guide/faq/#why-is-the-action-property-always-empty
AliakseiT commented 1 year ago

Works 👍 While testing I've confirmed that release after holding for >2 seconds does issue hold. But the payload is 2 (1 is double). So the tuyaDatapoint 101 shall be: [101, 'action', tuya.valueConverterBasic.lookup({'single': 0, 'double': 1, 'hold': 2})],

And thanks for clarification on 2.

Koenkk commented 1 year ago

Thanks, pushed the fix!

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)

nielsnieland2 commented 1 year ago

It will be pushed on the normal Z2Mqtt on the first of December?Op 28 nov. 2022 om 17:35 heeft Koen Kanters @.***> het volgende geschreven: Thanks, pushed the fix! 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)

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

Koenkk commented 1 year ago

Yes! Will be included in the 1 December release.

katlimero commented 11 months ago

Hello, I am a beginner and don't know who to turn to for help. I have Zigbee2mqtt which I use with node-red. I just installed motion sensors TuYa TS0202_2 and I have a lot of error messages in the zigbee2mqtt logs. This tends to slow down the general operation of my installation. can you help me? Capture d'écran 2023-10-21 082013