Suporte das Yale YMC 420W ou YMF 40A no ZHA?

Fala pessoal!

Encontrei no canal do Patte Tech alguns vários tutoriais com essas fechaduras, mas relacionados sempre ao Zigbee2MQTT… E, fora os materiais dele, nada muito relevante sobre essas fechaduras Zigbee no Home Assistant.

No banco do BlakAdder eu encontrei alguns outros modelos da Yale com suporte ao ZHA (algumas da linha YRD e YRL), mas não esses modelos que estão sendo ofertados no Brasil.

Por acaso alguém tem dessas fechaduras e conseguiu fazer funcionar no ZHA? Não queria trocar meu setup inteiro de ZB só por causa da fechadura rsssss

1 Like

A minha é YMC 420D e está rodando bem com o seguinte custom quirk:

/config/custom_zha_quirks/realliving_mod.py

"""Device handler for Yale Real Living."""
from zigpy.profiles import zha
from zigpy.quirks import CustomDevice
from zigpy.zcl.clusters.closures import DoorLock
from zigpy.zcl.clusters.general import Basic, Time, Identify, Groups

from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODELS_INFO,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)


class YMC420D(CustomDevice):
    """Yale YMC 420 D Locks."""

    signature = {
        #  <SimpleDescriptor endpoint=1 profile=260 device_type=10
        #  device_version=0
        #  input_clusters=[0, 3, 4, 257, 4111]
        #  output_clusters=[0, 3, 4, 257, 4111]>
        MODELS_INFO: [("Yale", "YMC 420 D")],
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.DOOR_LOCK,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    DoorLock.cluster_id,
                    0x100f,
                ],
                OUTPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    DoorLock.cluster_id,
                    0x100f,
                ],
            }
        },
    }

    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.DOOR_LOCK,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Time.cluster_id,
                    DoorLock.cluster_id,
                    0x100f,
                ],
                OUTPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Time.cluster_id,
                    DoorLock.cluster_id,
                    0x100f,
                ],
            }
        }
    }