EdgeLoom / catalog
← All device evidence

Z-Wave · source-level report

Yale YRD156

Inspect what the published artifacts preserve, expose, or leave unresolved.

Identity0x0129 / 0x803A / 0x0508Pinned identity source ↗
Firmware / conditionsUnknown; no real-unit firmware or SLGA_MIGRATED state recorded
Hardware evidenceNone recorded
Source bytesnot-checkedNot semantic verification

Source-level evidence, not an installation or patch recommendation. See each record's declared review state below.

Feature evidence

Auto-relock duration

The pinned community configuration describes a duration parameter. It is absent from the examined base-lock capability list and the selected lock-status SDF object. This does not establish that the whole driver or SmartThings UI lacks a setting, or that SDF cannot express one.

Not in the examined profile candidate · read, write
Not in the examined SDF model candidate · read, write

External corroboration · candidate

Configuration parameter versus lock configuration

The model-specific community configuration and HA's generic actions describe different interfaces. A configuration-parameter write must not be equated with Door Lock CC auto_relock_time.

Z-Wave JS configuration

supports · code-declaration

The YRD156 configuration imports parameter 3's auto-relock duration definition: seconds, 0–180, default 30. Parameter 2 separately enables auto-relock.

Declared match: manufacturer_id: 0x0129; product_type: 0x803A; product_id: 0x0508

Home Assistant · Z-Wave JS

context · code-declaration

set_config_parameter declares parameter, value, endpoint and optional value_size fields. This is a generic entry point for configuration parameters, not a YRD156-specific successful write.

Declared match: Generic platform path; not a model-specific result

Home Assistant · Door Lock CC

unresolved · code-declaration

async_set_lock_configuration passes auto_relock_time to DoorLockCCConfigurationSetOptions. This protocol-level option is not proof of equivalence to Yale's configuration parameter 3.

Declared match: Generic platform path; not a model-specific result

Pinned sources, conditions & declared lineage

Curator: github:@infinitywings. No independent EdgeLoom reviewer recorded. Canonical record ↗

Z-Wave JS configuration

  • Community configuration only; parameter availability and enable/disable semantics need firmware-specific confirmation.
  • The chosen tuple is not interchangeable with every Yale model or protocol variant.

Home Assistant · Z-Wave JS

  • Requires the relevant runtime node metadata, permissions and supported parameter.
  • The pinned catalog Z-Wave JS config is a comparison baseline, not a claim that HA deploys exactly that revision.

Home Assistant · Door Lock CC

  • Device command-class version and actual supported options are unknown for this case.
  • No operational instructions, write payloads or safe setting recommendation are provided.
  • Pinned source ↗ ZWaveLock.async_set_lock_configuration; DoorLockCCConfigurationSetOptions Locator: not-checked
  • Pinned source ↗ /set_lock_configuration/fields/auto_relock_time Locator: not-checked

Source lineage — not an independence score

  • zwave-js-yrd156-c4c599e · family: zwave-js-stack · depends on: none declared in this record
  • ha-zwave-lock-067f882 · family: zwave-js-stack · depends on: zwave-js-yrd156-c4c599e
  • Human-authored candidate observations; no independent EdgeLoom review or physical-device test.
  • Sources are pinned snapshots, not a claim about the currently installed integration, coordinator or firmware.
  • Relationship labels are curator interpretations, not computed semantic equivalence. Conflicting observations must remain visible.
  • HA and Z-Wave JS share a backend lineage; they are not two independent attestations of the device's behavior.
  • The lineage edge records shared stack ancestry, not an exact runtime dependency/version lock.
Evidence, source links & scope boundaries

Yale YRD156 auto-relock exposure and neutral-model gaps

Declared lifecycle: candidate. Author: github:@infinitywings. Founder-authored candidate; not independently reviewed or verified.

Mapping record ↗ · SHA-256: fc7a93164bcca584a4f7dabc60c2ee322f426f80bc52cb8edbf943ad235fafe8

  • The zwave-js configuration is community evidence, not Yale authority.
  • No physical YRD156 or SmartThings hub was tested for this candidate.
  • The current schema requires a neutral-layer context node even when the mapping conclusion is neutral-model-missing; that context is the bounded lock-status property set examined for this record.

map.yrd156-auto-relock-to-smartthings: unbound · read, write

  • Absence is established only for the pinned base-lock profile; another profile, custom capability, or later commit could expose this setting.

map.yrd156-auto-relock-to-sdf: unbound · read, write

  • The finding is bounded to the pinned OCF-derived lock-status model and does not assert that no other SDF model can describe auto relock.
  • The community configuration identifies the YRD156 with product tuple 0x0129/0x803A/0x0508.

    Pinned source ↗ /manufacturerId|/devices/0/productType|/devices/0/productId Locator: not-checked
  • The SmartThings fingerprint uses the same product tuple and assigns it to the base-lock profile examined for the platform-exposure gap.

    Pinned source ↗ zwaveManufacturer[id=Yale/YRD156] Locator: not-checked
  • The pinned community YRD156 config imports auto_relock_time_180 for configuration parameter 3.

    Pinned source ↗ /paramInformation/[#=3] Locator: not-checked
  • The imported template describes Auto Relock Time in seconds with a default value of 30 and imports the named base_0-180_nounit definition.

    Pinned source ↗ /auto_relock_time_180 Locator: not-checked
  • The pinned shared base definition supplies an unsigned minimum of 0 and maximum of 180 for the imported duration field.

    Pinned source ↗ /base_0-180_nounit Locator: not-checked
  • The complete pinned base-lock capability list has lock, lockCodes, lockCredentials, lockUsers, battery, and refresh, but no auto-relock field.

    Pinned source ↗ /components/0/capabilities Locator: not-checked
  • The complete pinned lock-status property set contains lockState only and does not contain an auto-relock enable or duration property.

    Pinned source ↗ /sdfObject/lock.status/sdfProperty Locator: not-checked

Feature evidence

Lock-state events

A strict locked/unlocked subset has a candidate correspondence with the selected SDF property. Unknown state and method/user metadata are not preserved. The examined handler path requires a true migration flag; that state has not been established for a real YRD156.

Bounded match candidate · event
Information loss candidate · event

External corroboration · candidate

Keep unknown state separate

HA's generic lock path retains an unknown result. Its simulated missing-value test is useful implementation context, but does not validate the YRD156 candidate mapping or its SmartThings migration condition.

Home Assistant · Z-Wave JS

context · code-declaration

ZWaveLock.is_locked returns None for a missing primary value or DoorLockMode.UNKNOWN, instead of treating it as unlocked.

Declared match: Generic platform path; not a model-specific result

Home Assistant · simulated test

context · test-fixture

test_door_lock_no_value replaces a Schlage BE469 fixture's mode value with None and asserts STATE_UNKNOWN.

Declared match: Generic platform path; not a model-specific result

Pinned sources, conditions & declared lineage

Curator: github:@infinitywings. No independent EdgeLoom reviewer recorded. Canonical record ↗

Home Assistant · Z-Wave JS

  • Generic entity code; no YRD156-specific node capture is present.
  • The underlying Z-Wave JS stack supplies command-class values.

Home Assistant · simulated test

  • This is a Schlage fixture, not a YRD156 hardware test.
  • The upstream test was inspected, not executed by EdgeLoom; repository CI is not inherited as a per-device pass.

Source lineage — not an independence score

  • zwave-js-yrd156-c4c599e · family: zwave-js-stack · depends on: none declared in this record
  • ha-zwave-lock-067f882 · family: zwave-js-stack · depends on: zwave-js-yrd156-c4c599e
  • Human-authored candidate observations; no independent EdgeLoom review or physical-device test.
  • Sources are pinned snapshots, not a claim about the currently installed integration, coordinator or firmware.
  • Relationship labels are curator interpretations, not computed semantic equivalence. Conflicting observations must remain visible.
  • This record does not broaden the existing locked/unlocked SDF subset or establish a reversible mapping.
  • Existing SmartThings SLGA_MIGRATED uncertainty and all original mapping limits remain unchanged.
Evidence, source links & scope boundaries

Yale YRD156 migrated-path SmartThings lock-state mapping candidate

Declared lifecycle: candidate. Author: github:@infinitywings. Founder-authored candidate for the migrated handler path; not independently reviewed or verified.

Mapping record ↗ · SHA-256: 845267251582e4d658983c0716f7150a0ff302f25979d093a766e7d3be9ef5f7

  • The analysis is based on pinned published artifacts, not physical-device tests.
  • No pinned record establishes the SLGA_MIGRATED state of a real YRD156. Devices without a true migration flag use legacy/default handlers whose behavior is outside this mapping set.
  • The OCF-derived SDF repository location is not evidence of OneDM adoption, endorsement, active maintenance, or interoperability.
  • Contract version 0.1 lacks a driver-source artifact role; the pinned Lua source is transparently recorded under the generic evidence role.

map.smartthings-binary-state-to-sdf: one-to-one · event

  • This classification covers only the strict locked/unlocked subset and does not claim a complete SmartThings lock-state translation.
  • Enum spelling conversion is not represented by contract version 0.1.

map.smartthings-extended-event-to-sdf: lossy · event

  • The SDF property has no value corresponding to SmartThings unknown.
  • Method, user index, user name, and user type metadata are not preserved.
  • The pinned fingerprint identifies product tuple 0x0129/0x803A/0x0508 and assigns the YRD156 to the base-lock profile.

    Pinned source ↗ zwaveManufacturer[id=Yale/YRD156] Locator: not-checked
  • On the current handler path, the pinned function maps a strict operation subset to locked or unlocked, maps other outcomes to unknown, and can attach method and user data.

    Pinned source ↗ lua:function ZwaveHandlers.door_operation_event_handler Locator: not-checked
  • The main driver template registers the pinned current Z-Wave response functions for notification and user-code reports.

    Pinned source ↗ lua:driver_template.zwave_handlers Locator: not-checked
  • When the persisted SLGA_MIGRATED field is unset or false, the pinned can-handle function selects the legacy subdriver instead of this path.

    Pinned source ↗ lua:return function(opts, driver, device, ...) Locator: not-checked
  • The base-lock profile exposes the native SmartThings lock capability.

    Pinned source ↗ /components/0/capabilities[id=lock] Locator: not-checked
  • The pinned SDF property allows exactly Locked and Unlocked strings.

    Pinned source ↗ /sdfObject/lock.status/sdfProperty/lockState Locator: not-checked

Feature evidence

Access identity and lock codes

The examined migrated path carries user and credential metadata absent from the selected lock-code SDF object. A PIN write payload and the reported identity records do not establish a reversible value mapping.

Not in the examined SDF model candidate · read, write, event
Unresolved correspondence candidate · write
Evidence, source links & scope boundaries

Yale YRD156 migrated-path access identity and lock-code candidate

Declared lifecycle: candidate. Author: github:@infinitywings. Founder-authored candidate for the migrated handler path; not independently reviewed or verified.

Mapping record ↗ · SHA-256: 91af6fbea3eec1f63f49782b5d54ddfc67b4663a6a3860f521cb92f0bcdd8fe7

  • No real PIN, lock code, user identifier, or device credential is stored here.
  • The analysis is based on pinned source artifacts, not device or account tests.
  • No pinned record establishes the SLGA_MIGRATED state of a real YRD156. Devices without a true migration flag use legacy/default handlers whose user-code behavior is outside this mapping set.
  • The SDF object is a neutral data model, not an authorization or credential management specification.
  • Contract version 0.1 lacks a driver-source artifact role; the pinned Lua source is transparently recorded under the generic evidence role.

map.smartthings-access-identities-to-sdf: unbound · read, write, event

  • The conclusion is bounded to the pinned lock-code SDF object; other SDF objects or future extensions might represent identity metadata.

map.smartthings-credential-payload-to-sdf-list: ambiguous · write

  • The write path accepts credentialData as a PIN payload, while the report path represents slot occupancy and identity metadata; the files do not establish one reversible value-level representation.
  • No transformation is proposed for security-sensitive credential values.
  • The pinned fingerprint identifies product tuple 0x0129/0x803A/0x0508 and assigns the YRD156 to the base-lock profile used by this record.

    Pinned source ↗ zwaveManufacturer[id=Yale/YRD156] Locator: not-checked
  • On the current handler path, the function derives userIndex, userName, userType, credentialIndex, credentialType, and credentialName records from Z-Wave user-code reports.

    Pinned source ↗ lua:function ZwaveHandlers.user_code_report Locator: not-checked
  • The base-lock profile separately exposes lockCodes, lockCredentials, and lockUsers capabilities.

    Pinned source ↗ /components/0/capabilities Locator: not-checked
  • Credential data is accepted as a write-time UserCode payload. The pinned response path records slot occupancy and identity metadata rather than returning or caching the PIN value.

    Pinned source ↗ lua:function CapabilityHandlers.add_credential|update_credential Locator: not-checked
  • The main driver template registers the current lockUsers, lockCredentials, and user-code report handlers; migrated marker state is emitted only when the persisted migration flag is true.

    Pinned source ↗ lua:driver_template.capability_handlers|driver_template.zwave_handlers Locator: not-checked
  • When SLGA_MIGRATED is unset or false, the pinned can-handle function routes the device to the legacy subdriver.

    Pinned source ↗ lua:return function(opts, driver, device, ...) Locator: not-checked
  • The explicit legacy migration command emits lockUsers and lockCredentials state and then persists SLGA_MIGRATED as true.

    Pinned source ↗ lua:function migrate Locator: not-checked
  • The SDF model defines an array of string lock-code values but no user or credential identity, type, lifecycle, authorization, or privacy metadata.

    Pinned source ↗ /sdfObject/lock.code/sdfProperty/lockCodeList Locator: not-checked