Tuya TS0601 WallSwitch in ZHA

Hey to all!

I am a complete newbie to HA / YAML / Python / and so on, and I came to an issue with my new TS0601 Switches and I was wondering if someone could help with this thing!

I bought some 8 and 6 gang wall switches from Aliexpress. (https://a.aliexpress.com/_mLfizya

The devices get paired, but there are no child devices and only the two entities: LQI / RSSI.

8 gang has this signature
“node_descriptor”: “NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)”,
“endpoints”: {
“1”: {
“profile_id”: “0x0104”,
“device_type”: “0x0051”,
“input_clusters”: [
“0x0000”,
“0x0004”,
“0x0005”,
“0xef00”
],
“output_clusters”: [
“0x000a”,
“0x0019”
]
},
“242”: {
“profile_id”: “0xa1e0”,
“device_type”: “0x0061”,
“input_clusters”: [],
“output_clusters”: [
“0x0021”
]
}
},
“manufacturer”: “_TZE200_wktrysab”,
“model”: “TS0601”,
“class”: “zigpy.device.Device”

And the 6 gang one comes from a different manufacturer:
{
“node_descriptor”: “NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)”,
“endpoints”: {
“1”: {
“profile_id”: “0x0104”,
“device_type”: “0x0051”,
“input_clusters”: [
“0x0000”,
“0x0004”,
“0x0005”,
“0xef00”
],
“output_clusters”: [
“0x000a”,
“0x0019”
]
},
“242”: {
“profile_id”: “0xa1e0”,
“device_type”: “0x0061”,
“input_clusters”: [],
“output_clusters”: [
“0x0021”
]
}
},
“manufacturer”: “_TZE200_cduqh1l0”,
“model”: “TS0601”,
“class”: “zigpy.device.Device”

Need help! Please!
(Running HA-OS on a micro-pc using ZHA. Zigbee dongle is a flashed Sonoff Zigbee Dongle (E)

OK.

I was able to get the 6 gang ones working flawlessly with the help of @javicalle at Great Instructions.

But the 8 gang switch only recognizes 6. Any idea on the part I should edit?

class TuyaOctapleSwitchTO(TuyaSwitch):
“”“Tuya octaple channel switch time on out cluster device.”""

signature = {
    # <SimpleDescriptor endpoint=1 profile=260 device_type=81
    # input_clusters=[0x0000,0x0004,0x0005,0xEF00]
    # output_clusters=[0x000A,0x0019]>
    MODELS_INFO: [
        ("_TZE200_wktrysab", "TS0601"),
    ],
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TuyaOnOffManufCluster.cluster_id,
            ],
            OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
        }
    },
}

replacement = {
    ENDPOINTS: {
        1: {
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TuyaOnOffManufCluster,
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
        },
        2: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        3: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        4: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        5: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        6: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        7: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        8: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
    }
}

class TuyaOctapleSwitchTO_GP(TuyaSwitch):
“”“Tuya octaple channel switch time on out cluster device with GreenPowerProxy cluster device.”""

signature = {
    MODELS_INFO: [
        ("_TZE200_wktrysab", "TS0601"),
    ],
    ENDPOINTS: {
        # <SimpleDescriptor endpoint=1 profile=260 device_type=81
        # input_clusters=[0x0000,0x0004,0x0005,0xEF00]
        # output_clusters=[0x000A,0x0019]>
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TuyaOnOffManufCluster.cluster_id,
            ],
            OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
        },
        # <SimpleDescriptor endpoint=242 profile=41440 device_type=97
        # input_clusters=[]
        # output_clusters=[33]
        242: {
            PROFILE_ID: zgp.PROFILE_ID,
            DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC,
            INPUT_CLUSTERS: [],
            OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
        },
    },
}

replacement = {
    ENDPOINTS: {
        1: {
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TuyaOnOffManufCluster,
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
        },
        2: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        3: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        4: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        5: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        6: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        7: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        8: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                TuyaOnOffNM,
            ],
            OUTPUT_CLUSTERS: [],
        },
        242: {
            PROFILE_ID: zgp.PROFILE_ID,
            DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC,
            INPUT_CLUSTERS: [],
            OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
        },
    }
}