『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 5562|回复: 14

[技术探讨] zigbee2mqtt涂鸦设备不支持设备加入

[复制链接]

7

主题

40

帖子

579

积分

高级会员

Rank: 4

积分
579
金钱
539
HASS币
0
发表于 2022-2-3 23:49:46 | 显示全部楼层 |阅读模式
本帖最后由 logan 于 2022-2-3 23:54 编辑

支持涂鸦的ZIGBEE窗帘电机,通过Z2M网关可以配对上但是无法控制,显示不支持。
根据论坛教程针对TS0601涂鸦修改依旧不行。
教程:https://bbs.hassbian.com/thread-13030-1-1.html
不知道是哪里出了问题。求助!

const exposes = require('../lib/exposes');
const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
const tz = require('../converters/toZigbee');
const ota = require('../lib/ota');
const tuya = require('../lib/tuya');
const reporting = require('../lib/reporting');
const extend = require('../lib/extend');
const e = exposes.presets;
const ea = exposes.access;
const libColor = require('../lib/color');
const utils = require('../lib/utils');


const TS011Fplugs = ['_TZ3000_5f43h46b', '_TZ3000_cphmq0q7', '_TZ3000_dpo1ysak', '_TZ3000_ew3ldmgx', '_TZ3000_gjnozsaz',
    '_TZ3000_jvzvulen', '_TZ3000_mraovvmm', '_TZ3000_nfnmi125', '_TZ3000_ps3dmato', '_TZ3000_w0qqde0g', '_TZ3000_u5u4cakc',
    '_TZ3000_rdtixbnu', '_TZ3000_typdpbpg'];


const tzLocal = {
    TS0504B_color: {
        key: ['color'],
        convertSet: async (entity, key, value, meta) => {
            const color = libColor.Color.fromConverterArg(value);
            console.log(color);
            const enableWhite =
                (color.isRGB() && (color.rgb.red === 1 && color.rgb.green === 1 && color.rgb.blue === 1)) ||
                // Zigbee2MQTT frontend white value
                (color.isXY() && (color.xy.x === 0.3125 || color.xy.y === 0.32894736842105265)) ||
                // Home Assistant white color picker value
                (color.isXY() && (color.xy.x === 0.323 || color.xy.y === 0.329));


            if (enableWhite) {
                await entity.command('lightingColorCtrl', 'tuyaRgbMode', {enable: false});
                const newState = {color_mode: 'xy'};
                if (color.isXY()) {
                    newState.color = color.xy;
                } else {
                    newState.color = color.rgb.gammaCorrected().toXY().rounded(4);
                }
                return {state: libColor.syncColorState(newState, meta.state, entity, meta.options, meta.logger)};
            } else {
                return await tz.light_color.convertSet(entity, key, value, meta);
            }
        },
    },
};

module.exports = [
    {
        zigbeeModel: [
            'TS0601\u0000','TS0601'
        ],
        fingerprint: [
            // Curtain motors:
            {modelID: 'TS0601', manufacturerName: '_TZE200_kkgymboz'},

        model: 'TS0601_cover',
        vendor: 'TuYa',
        description: 'Curtain motor/roller blind motor/window pusher/tubular motor',
        whiteLabel: [
            {vendor: 'Yushun', model: 'YS-MT750'},
            {vendor: 'Zemismart', model: 'ZM79E-DT'},
            {vendor: 'Binthen', model: 'BCM100D'},
            {vendor: 'Binthen', model: 'CV01A'},
            {vendor: 'Zemismart', model: 'M515EGB'},
            {vendor: 'TuYa', model: 'M515EGZT'},
            {vendor: 'TuYa', model: 'DT82LEMA-1.2N'},
            {vendor: 'TuYa', model: 'ZD82TN', description: 'Curtain motor'},
            {vendor: 'Moes', model: 'AM43-0.45/40-ES-EB'},
            {vendor: 'Larkkey', model: 'ZSTY-SM-1SRZG-EU'},
            {vendor: 'Zemismart', model: 'ZM25TQ', description: 'Tubular motor'},
            {vendor: 'Zemismart', model: 'AM43', description: 'Roller blind motor'},
            {vendor: 'Zemismart', model: 'M2805EGBZTN', description: 'Tubular motor'},
            {vendor: 'Zemismart', model: 'BCM500DS-TYZ', description: 'Curtain motor'},
            {vendor: 'A-OK', model: 'AM25', description: 'Tubular motor'},
            {vendor: 'Alutech', model: 'AM/R-Sm', description: 'Tubular motor'},
        ],
        fromZigbee: [fz.tuya_cover, fz.ignore_basic_report],
        toZigbee: [tz.tuya_cover_control, tz.tuya_cover_options],
        exposes: [
            e.cover_position().setAccess('position', ea.STATE_SET),
            exposes.composite('options', 'options')
                .withFeature(exposes.numeric('motor_speed', ea.STATE_SET)
                    .withValueMin(0)
                    .withValueMax(255)
                    .withDescription('Motor speed'))],
    },
];

module.exports = definition;








设备信息

设备信息
回复

使用道具 举报

33

主题

2196

帖子

5838

积分

论坛元老

Rank: 8Rank: 8

积分
5838
金钱
3642
HASS币
60
QQ
发表于 2022-2-4 00:45:07 | 显示全部楼层
慢慢改,慢慢试喽。
我当时的旋钮开关就是这样改的,不能全抄。
我不生产技术,我只是技术的搬运工。
回复

使用道具 举报

7

主题

40

帖子

579

积分

高级会员

Rank: 4

积分
579
金钱
539
HASS币
0
 楼主| 发表于 2022-2-4 03:14:35 来自手机 | 显示全部楼层
zxyny1989 发表于 2022-2-4 00:45
慢慢改,慢慢试喽。
我当时的旋钮开关就是这样改的,不能全抄。

主要不晓得到底哪里出错,无从下手
回复

使用道具 举报

4

主题

605

帖子

2170

积分

金牌会员

Rank: 6Rank: 6

积分
2170
金钱
1560
HASS币
20
发表于 2022-2-4 14:05:30 | 显示全部楼层
我也是碰到一个不支持的设备,我的是"manufName":"_TZE200_udank5zs"是一个管状电机
回复

使用道具 举报

4

主题

605

帖子

2170

积分

金牌会员

Rank: 6Rank: 6

积分
2170
金钱
1560
HASS币
20
发表于 2022-2-4 14:07:49 | 显示全部楼层
今天还没空,过几天等我研究出来了我再分享给你 我那个文件直接分享给你。反正思路直接复制原有的converter就可以
回复

使用道具 举报

0

主题

70

帖子

942

积分

高级会员

Rank: 4

积分
942
金钱
872
HASS币
0
发表于 2022-2-4 21:55:42 | 显示全部楼层
为啥我改的,不更新信息?像开关,操作实体开/关,HA中不更新。HA中开/关,实体开关不更新。窗帘电机也是如此。无线开关直接咋改都没反应,愁。。。
回复

使用道具 举报

8

主题

171

帖子

2465

积分

金牌会员

Rank: 6Rank: 6

积分
2465
金钱
2294
HASS币
0
发表于 2022-2-6 08:10:51 来自手机 | 显示全部楼层
我也是这个窗帘折腾好久才搞定完美
回复

使用道具 举报

0

主题

41

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
金钱
351
HASS币
0
发表于 2022-6-7 21:39:35 | 显示全部楼层
wangling75 发表于 2022-2-6 08:10
我也是这个窗帘折腾好久才搞定完美

兄弟 ts0601的窗帘电机搞出来了?
回复

使用道具 举报

3

主题

301

帖子

3247

积分

论坛元老

Rank: 8Rank: 8

积分
3247
金钱
2946
HASS币
0
发表于 2022-6-12 12:36:39 | 显示全部楼层
wangling75 发表于 2022-2-6 08:10
我也是这个窗帘折腾好久才搞定完美

求JS分享和购买链接
回复

使用道具 举报

1

主题

37

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
金钱
459
HASS币
0
发表于 2022-6-26 16:20:05 | 显示全部楼层
wangling75 发表于 2022-2-6 08:10
我也是这个窗帘折腾好久才搞定完美

ts0601的温控控制器是不是也是类似?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 18:44 , Processed in 0.163213 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表