393 files

This commit is contained in:
Home Assistant Version Control committed 2026-09-27 17:16:54 +00:00
1 parent b05b7a897e
commit 39d97ac2db
404 files changed
+54006 -11034

No files matched your search

@@ -12,6 +12,7 @@ integration's source; drift-probed weekly)."""
from __future__ import annotations
from ._model import ConsumableSignature, IntegrationSignature
from ._shared import LOCK_CYLINDER_CYCLES
SIGNATURES: dict[str, IntegrationSignature] = {
"nuki": IntegrationSignature(
@@ -23,14 +24,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"the ENGINE counts locking cycles on the lock entity."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"tedee": IntegrationSignature(
@@ -42,14 +36,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"the ENGINE counts locking cycles; entity_domain-gated to locks."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"august": IntegrationSignature(
@@ -61,14 +48,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"the ENGINE counts locking cycles; entity_domain-gated to locks."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"yale": IntegrationSignature(
@@ -80,14 +60,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"the ENGINE counts locking cycles; entity_domain-gated to locks."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"switchbot": IntegrationSignature(
@@ -99,14 +72,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"the ENGINE counts locking cycles; entity_domain-gated to locks."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"loqed": IntegrationSignature(
@@ -118,14 +84,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"the ENGINE counts locking cycles; entity_domain-gated to locks."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"homematicip_cloud": IntegrationSignature(
@@ -137,14 +96,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"the ENGINE counts locking cycles; entity_domain-gated to locks."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"schlage": IntegrationSignature(
@@ -155,14 +107,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"(lock platform verified present) — engine-counted locking cycles."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"sesame": IntegrationSignature(
@@ -173,14 +118,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"(lock platform verified present) — engine-counted locking cycles."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"yalexs_ble": IntegrationSignature(
@@ -191,14 +129,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"(lock platform verified present) — engine-counted locking cycles."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"dormakaba_dkey": IntegrationSignature(
@@ -209,14 +140,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"(lock platform verified present) — engine-counted locking cycles."
),
tasks=(
ConsumableSignature(
(),
"Lubricate Cylinder",
"cycle_count",
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
),
LOCK_CYLINDER_CYCLES,
),
),
"homematic": IntegrationSignature(
@@ -226,6 +150,56 @@ SIGNATURES: dict[str, IntegrationSignature] = {
"home-assistant/core homeassistant/components/homematic/lock.py "
"(lock platform verified present) — engine-counted locking cycles, entity_domain-gated so the hub's other device types are untouched."
),
tasks=(
LOCK_CYLINDER_CYCLES,
),
),
# --- Round 14 (2026-09-25) --------------------------------------------
"wyzeapi": IntegrationSignature(
name="Wyze Lock",
verified="2026-09-25 @ SecKatie/ha-wyzeapi master",
source=(
"HACS wyzeapi lock.py (WyzeLock for DeviceTypes.LOCK, WyzeLockBolt "
"for YD_BT1 — one lock entity per lock device). Engine-counted "
"locking cycles; entity_domain-gated so the hub's cameras/plugs "
"are untouched."
),
tasks=(
LOCK_CYLINDER_CYCLES,
),
),
"ttlock": IntegrationSignature(
name="TTLock",
verified="2026-09-25 @ jbergler/hass-ttlock develop",
source=(
"HACS ttlock lock.py (one Lock entity per lock coordinator, "
"is_locked from the lock state) — engine-counted locking cycles."
),
tasks=(
LOCK_CYLINDER_CYCLES,
),
),
"kwikset": IntegrationSignature(
name="Kwikset Smart Locks",
verified="2026-09-25 @ explosivo22/kwikset-ha main",
source=(
"HACS kwikset (not in the default store) lock.py: 'Each physical "
"lock device exposes a single LockEntity' (KwiksetLock) — "
"engine-counted locking cycles."
),
tasks=(
LOCK_CYLINDER_CYCLES,
),
),
"nuki_web": IntegrationSignature(
name="Nuki Web",
verified="2026-09-25 @ ArnyminerZ/ha-nuki-web master",
source=(
"HACS nuki_web lock.py: one NukiLockEntity per smartlock_id — Nuki "
"OPENERS (type 2) are lock entities too and report 'locked' "
"whenever the opener is merely online, so they are excluded via "
"the device model entity.py derives from the type ('Opener')."
),
tasks=(
ConsumableSignature(
(),
@@ -234,6 +208,7 @@ SIGNATURES: dict[str, IntegrationSignature] = {
delta_units=2000,
entity_domain="lock",
on_states=("locked",),
models_exclude=("Opener",),
),
),
),