Skip to content

[External Converter] TS0601 from _TZE200_fodv6bkr #10649

@fals3illusion

Description

@fals3illusion

This is my external converter for TS0601 from _TZE200_fodv6bkr
software_build_id: undefined
date_code: ``
endpoints:

{"1":{"clusters":{"input":["genBasic","genGroups","genScenes","manuSpecificTuya"],"output":["genOta","genTime"]}}}

What works / what doesn't?

Converter

// ts0601_fodv6bkr_blinds.js
// Based off template TS0601_cover_3 from https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/devices/tuya.ts
// Tuya TS0601 _TZE200_fodv6bkr – Ronco RM28-LE Zigbee Roller Shade Motor 


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

const definition = {
    fingerprint: [
        { modelID: 'TS0601', manufacturerName: '_TZE200_fodv6bkr' },
    ],

    model: 'RM28-LE',
    vendor: 'Ronco',
    description: 'Ronco RM28-LE Zigbee Roller Shade Motor',
    icon: '/device_icons/RM28-LE.png',

    extend: [tuya.modernExtend.tuyaBase({dp: true})],
        options: [exposes.options.invert_cover()],
        exposes: [
            e.battery(),
            e.cover_position().setAccess("position", ea.STATE_SET),
            e.enum("reverse_direction", ea.STATE_SET, ["forward", "back"]).withDescription("Reverse the motor direction"),
            e.text("work_state", ea.STATE),
			e.enum("click_control", ea.STATE_SET, ["up", "down"]).withDescription("Single motor steps"),
            e.enum("border", ea.STATE_SET, ["up", "down", "up_delete", "down_delete", "remove_top_bottom"]),
            e.binary("motor_fault", ea.STATE, true, false),
        ],
        meta: {
            // All datapoints go in here
            tuyaDatapoints: [
                [
                    1,
                    "state",
                    tuya.valueConverterBasic.lookup({
                        OPEN: tuya.enum(0),
                        STOP: tuya.enum(1),
                        CLOSE: tuya.enum(2),
                    }),
                ],
                [2, "position", tuya.valueConverter.coverPosition],
                [3, "position", tuya.valueConverter.coverPosition],
                [
                    5,
                    "reverse_direction",
                    tuya.valueConverterBasic.lookup({
                        forward: tuya.enum(0),
                        back: tuya.enum(1),
                    }),
                ],
				[
					7,
					"work_state",
					tuya.valueConverterBasic.lookup((options) =>
						options.invert_cover ? {opening: tuya.enum(1), closing: tuya.enum(0)} : {opening: tuya.enum(0), closing: tuya.enum(1)},
					),
				],
                [12, "motor_fault", tuya.valueConverter.trueFalse1],
                [13, "battery", tuya.valueConverter.raw],
                [
                    16,
                    "border",
                    tuya.valueConverterBasic.lookup({
                        up: tuya.enum(0),
                        down: tuya.enum(1),
                        up_delete: tuya.enum(2),
                        down_delete: tuya.enum(3),
                        remove_top_bottom: tuya.enum(4),
                    }),
                ],
                [
                    20,
                    "click_control",
                    tuya.valueConverterBasic.lookup({
                        up: tuya.enum(0),
                        down: tuya.enum(1),
                    }),
                ],
            ],
        },
    };

module.exports = definition;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions